From 2daef970baacf7e4b9d497b8fa8fbe6233a47fd8 Mon Sep 17 00:00:00 2001 From: leerho Date: Thu, 19 Dec 2024 19:59:12 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20apache/d?= =?UTF-8?q?atasketches-java@d200c1413658393e6590b3272cd7a1562c54f45e=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/621/merge/allclasses-index.html | 946 ++ docs/621/merge/allpackages-index.html | 173 + docs/621/merge/constant-values.html | 245 + docs/621/merge/deprecated-list.html | 101 + docs/621/merge/element-list | 24 + docs/621/merge/help-doc.html | 201 + docs/621/merge/index-all.html | 8489 +++++++++++++++++ docs/621/merge/index.html | 189 + docs/621/merge/jquery-ui.overrides.css | 35 + docs/621/merge/legal/ADDITIONAL_LICENSE_INFO | 37 + docs/621/merge/legal/ASSEMBLY_EXCEPTION | 27 + docs/621/merge/legal/LICENSE | 347 + docs/621/merge/legal/jquery.md | 26 + docs/621/merge/legal/jqueryUI.md | 49 + docs/621/merge/member-search-index.js | 1 + docs/621/merge/module-search-index.js | 1 + .../common/ArrayOfBooleansSerDe.html | 393 + .../common/ArrayOfDoublesSerDe.html | 374 + .../common/ArrayOfItemsSerDe.html | 353 + .../common/ArrayOfLongsSerDe.html | 374 + .../common/ArrayOfNumbersSerDe.html | 382 + .../common/ArrayOfStringsSerDe.html | 362 + .../common/ArrayOfUtf16StringsSerDe.html | 360 + .../common/BoundsOnBinomialProportions.html | 322 + .../common/BoundsOnRatiosInSampledSets.html | 253 + .../datasketches/common/ByteArrayUtil.html | 677 ++ .../apache/datasketches/common/Family.html | 602 ++ .../datasketches/common/MemoryStatus.html | 183 + .../datasketches/common/ResizeFactor.html | 307 + .../common/SketchesArgumentException.html | 168 + .../common/SketchesException.html | 193 + .../common/SketchesReadOnlyException.html | 184 + .../common/SketchesStateException.html | 168 + .../common/SuppressFBWarnings.html | 158 + .../org/apache/datasketches/common/Util.html | 1290 +++ .../class-use/ArrayOfBooleansSerDe.html | 62 + .../common/class-use/ArrayOfDoublesSerDe.html | 62 + .../common/class-use/ArrayOfItemsSerDe.html | 376 + .../common/class-use/ArrayOfLongsSerDe.html | 62 + .../common/class-use/ArrayOfNumbersSerDe.html | 62 + .../common/class-use/ArrayOfStringsSerDe.html | 62 + .../class-use/ArrayOfUtf16StringsSerDe.html | 62 + .../BoundsOnBinomialProportions.html | 62 + .../BoundsOnRatiosInSampledSets.html | 62 + .../common/class-use/ByteArrayUtil.html | 62 + .../datasketches/common/class-use/Family.html | 203 + .../common/class-use/MemoryStatus.html | 122 + .../common/class-use/ResizeFactor.html | 259 + .../class-use/SketchesArgumentException.html | 62 + .../common/class-use/SketchesException.html | 101 + .../class-use/SketchesReadOnlyException.html | 62 + .../class-use/SketchesStateException.html | 62 + .../common/class-use/SuppressFBWarnings.html | 285 + .../datasketches/common/class-use/Util.html | 62 + .../datasketches/common/package-summary.html | 193 + .../datasketches/common/package-tree.html | 135 + .../datasketches/common/package-use.html | 306 + .../cpc/CompressionCharacterization.html | 205 + .../apache/datasketches/cpc/CpcSketch.html | 735 ++ .../org/apache/datasketches/cpc/CpcUnion.html | 261 + .../apache/datasketches/cpc/CpcWrapper.html | 270 + .../datasketches/cpc/MergingValidation.html | 193 + .../cpc/QuickMergingValidation.html | 190 + .../datasketches/cpc/StreamingValidation.html | 190 + .../org/apache/datasketches/cpc/TestUtil.html | 136 + .../CompressionCharacterization.html | 62 + .../datasketches/cpc/class-use/CpcSketch.html | 124 + .../datasketches/cpc/class-use/CpcUnion.html | 62 + .../cpc/class-use/CpcWrapper.html | 62 + .../cpc/class-use/MergingValidation.html | 62 + .../cpc/class-use/QuickMergingValidation.html | 62 + .../cpc/class-use/StreamingValidation.html | 62 + .../datasketches/cpc/class-use/TestUtil.html | 62 + .../datasketches/cpc/package-summary.html | 140 + .../apache/datasketches/cpc/package-tree.html | 83 + .../apache/datasketches/cpc/package-use.html | 92 + .../apache/datasketches/fdt/FdtSketch.html | 540 ++ .../org/apache/datasketches/fdt/Group.html | 362 + .../datasketches/fdt/PostProcessor.html | 216 + .../datasketches/fdt/class-use/FdtSketch.html | 107 + .../datasketches/fdt/class-use/Group.html | 147 + .../fdt/class-use/PostProcessor.html | 97 + .../datasketches/fdt/package-summary.html | 114 + .../apache/datasketches/fdt/package-tree.html | 90 + .../apache/datasketches/fdt/package-use.html | 97 + .../filters/bloomfilter/BloomFilter.html | 1081 +++ .../bloomfilter/BloomFilterBuilder.html | 476 + .../filters/bloomfilter/DirectBitArrayR.html | 168 + .../bloomfilter/class-use/BloomFilter.html | 186 + .../class-use/BloomFilterBuilder.html | 62 + .../class-use/DirectBitArrayR.html | 62 + .../filters/bloomfilter/package-summary.html | 116 + .../filters/bloomfilter/package-tree.html | 78 + .../filters/bloomfilter/package-use.html | 89 + .../datasketches/filters/package-summary.html | 100 + .../datasketches/filters/package-tree.html | 66 + .../datasketches/filters/package-use.html | 62 + .../datasketches/frequencies/ErrorType.html | 239 + .../frequencies/ItemsSketch.Row.html | 287 + .../datasketches/frequencies/ItemsSketch.html | 697 ++ .../frequencies/LongsSketch.Row.html | 283 + .../datasketches/frequencies/LongsSketch.html | 737 ++ .../frequencies/class-use/ErrorType.html | 130 + .../class-use/ItemsSketch.Row.html | 112 + .../frequencies/class-use/ItemsSketch.html | 110 + .../class-use/LongsSketch.Row.html | 112 + .../frequencies/class-use/LongsSketch.html | 115 + .../frequencies/package-summary.html | 139 + .../frequencies/package-tree.html | 93 + .../datasketches/frequencies/package-use.html | 110 + .../apache/datasketches/hash/MurmurHash3.html | 433 + .../datasketches/hash/MurmurHash3Adaptor.html | 645 ++ .../org/apache/datasketches/hash/XxHash.html | 212 + .../hash/class-use/MurmurHash3.html | 62 + .../hash/class-use/MurmurHash3Adaptor.html | 62 + .../datasketches/hash/class-use/XxHash.html | 62 + .../datasketches/hash/package-summary.html | 120 + .../datasketches/hash/package-tree.html | 78 + .../apache/datasketches/hash/package-use.html | 62 + .../apache/datasketches/hll/HllSketch.html | 1145 +++ .../apache/datasketches/hll/TgtHllType.html | 289 + .../org/apache/datasketches/hll/Union.html | 972 ++ .../datasketches/hll/class-use/HllSketch.html | 139 + .../hll/class-use/TgtHllType.html | 161 + .../datasketches/hll/class-use/Union.html | 102 + .../hll/doc-files/HLL_HIP_K12T20U20.png | Bin 0 -> 155358 bytes .../doc-files/HLL_UnionTime4_6_8_Java_CPP.png | Bin 0 -> 321106 bytes .../datasketches/hll/package-summary.html | 262 + .../apache/datasketches/hll/package-tree.html | 91 + .../apache/datasketches/hll/package-use.html | 97 + .../datasketches/hllmap/UniqueCountMap.html | 403 + .../hllmap/class-use/UniqueCountMap.html | 62 + .../datasketches/hllmap/package-summary.html | 127 + .../datasketches/hllmap/package-tree.html | 76 + .../datasketches/hllmap/package-use.html | 62 + .../datasketches/kll/KllDoublesSketch.html | 852 ++ .../kll/KllDoublesSketchIterator.html | 163 + .../datasketches/kll/KllFloatsSketch.html | 852 ++ .../kll/KllFloatsSketchIterator.html | 163 + .../datasketches/kll/KllItemsSketch.html | 914 ++ .../kll/KllItemsSketchIterator.html | 167 + .../datasketches/kll/KllLongsSketch.html | 852 ++ .../kll/KllLongsSketchIterator.html | 163 + .../kll/KllSketch.SketchStructure.html | 308 + .../kll/KllSketch.SketchType.html | 287 + .../apache/datasketches/kll/KllSketch.html | 592 ++ .../datasketches/kll/KllSketchIterator.html | 192 + .../kll/class-use/KllDoublesSketch.html | 128 + .../class-use/KllDoublesSketchIterator.html | 62 + .../kll/class-use/KllFloatsSketch.html | 128 + .../class-use/KllFloatsSketchIterator.html | 62 + .../kll/class-use/KllItemsSketch.html | 115 + .../kll/class-use/KllItemsSketchIterator.html | 62 + .../kll/class-use/KllLongsSketch.html | 128 + .../kll/class-use/KllLongsSketchIterator.html | 62 + .../class-use/KllSketch.SketchStructure.html | 104 + .../kll/class-use/KllSketch.SketchType.html | 112 + .../datasketches/kll/class-use/KllSketch.html | 130 + .../kll/class-use/KllSketchIterator.html | 107 + .../datasketches/kll/package-summary.html | 157 + .../apache/datasketches/kll/package-tree.html | 106 + .../apache/datasketches/kll/package-use.html | 118 + .../apache/datasketches/package-summary.html | 174 + .../org/apache/datasketches/package-tree.html | 66 + .../org/apache/datasketches/package-use.html | 62 + .../datasketches/partitions/BoundsRule.html | 252 + .../Partitioner.PartitionBoundsRow.html | 240 + .../partitions/Partitioner.StackElement.html | 210 + .../datasketches/partitions/Partitioner.html | 249 + .../partitions/SketchFillRequest.html | 160 + .../partitions/class-use/BoundsRule.html | 120 + .../Partitioner.PartitionBoundsRow.html | 89 + .../class-use/Partitioner.StackElement.html | 89 + .../partitions/class-use/Partitioner.html | 62 + .../class-use/SketchFillRequest.html | 99 + .../partitions/package-summary.html | 127 + .../datasketches/partitions/package-tree.html | 98 + .../datasketches/partitions/package-use.html | 100 + .../datasketches/quantiles/ClassicUtil.html | 182 + .../quantiles/CompactDoublesSketch.html | 215 + .../datasketches/quantiles/DoublesSketch.html | 1244 +++ .../quantiles/DoublesSketchBuilder.html | 255 + .../quantiles/DoublesSketchIterator.html | 197 + .../datasketches/quantiles/DoublesUnion.html | 547 ++ .../quantiles/DoublesUnionBuilder.html | 241 + .../datasketches/quantiles/ItemsSketch.html | 1248 +++ .../quantiles/ItemsSketchIterator.html | 201 + .../datasketches/quantiles/ItemsUnion.html | 474 + .../quantiles/UpdateDoublesSketch.html | 238 + .../quantiles/class-use/ClassicUtil.html | 62 + .../class-use/CompactDoublesSketch.html | 95 + .../quantiles/class-use/DoublesSketch.html | 141 + .../class-use/DoublesSketchBuilder.html | 97 + .../class-use/DoublesSketchIterator.html | 62 + .../quantiles/class-use/DoublesUnion.html | 121 + .../class-use/DoublesUnionBuilder.html | 98 + .../quantiles/class-use/ItemsSketch.html | 140 + .../class-use/ItemsSketchIterator.html | 62 + .../quantiles/class-use/ItemsUnion.html | 113 + .../class-use/UpdateDoublesSketch.html | 126 + .../quantiles/package-summary.html | 157 + .../datasketches/quantiles/package-tree.html | 89 + .../datasketches/quantiles/package-use.html | 119 + .../quantilescommon/BinarySearch.html | 243 + .../DoublesSketchSortedView.html | 401 + .../quantilescommon/DoublesSortedView.html | 384 + .../DoublesSortedViewIterator.html | 190 + .../FloatsSketchSortedView.html | 401 + .../quantilescommon/FloatsSortedView.html | 384 + .../FloatsSortedViewIterator.html | 190 + .../GenericInequalitySearch.Inequality.html | 320 + .../GenericInequalitySearch.html | 238 + .../GenericPartitionBoundaries.html | 364 + .../quantilescommon/GenericSortedView.html | 434 + .../GenericSortedViewIterator.html | 220 + .../IncludeMinMax.DoublesPair.html | 191 + .../IncludeMinMax.FloatsPair.html | 191 + .../IncludeMinMax.ItemsPair.html | 195 + .../IncludeMinMax.LongsPair.html | 191 + .../quantilescommon/IncludeMinMax.html | 300 + .../quantilescommon/InequalitySearch.html | 599 ++ .../ItemsSketchSortedView.html | 556 ++ .../quantilescommon/KolmogorovSmirnov.html | 254 + .../LongsSketchSortedView.html | 401 + .../quantilescommon/LongsSortedView.html | 384 + .../LongsSortedViewIterator.html | 190 + .../quantilescommon/PartitioningFeature.html | 279 + .../QuantileSearchCriteria.html | 262 + .../quantilescommon/QuantilesAPI.html | 681 ++ .../quantilescommon/QuantilesDoublesAPI.html | 677 ++ .../QuantilesDoublesSketchIterator.html | 162 + .../quantilescommon/QuantilesFloatsAPI.html | 677 ++ .../QuantilesFloatsSketchIterator.html | 162 + .../quantilescommon/QuantilesGenericAPI.html | 705 ++ .../QuantilesGenericSketchIterator.html | 166 + .../quantilescommon/QuantilesLongsAPI.html | 677 ++ .../QuantilesLongsSketchIterator.html | 162 + .../QuantilesSketchIterator.html | 178 + .../quantilescommon/QuantilesUtil.html | 399 + .../SketchPartitionLimits.html | 181 + .../quantilescommon/SortedView.html | 223 + .../quantilescommon/SortedViewIterator.html | 285 + .../class-use/BinarySearch.html | 62 + .../class-use/DoublesSketchSortedView.html | 109 + .../class-use/DoublesSortedView.html | 103 + .../class-use/DoublesSortedViewIterator.html | 93 + .../class-use/FloatsSketchSortedView.html | 108 + .../class-use/FloatsSortedView.html | 103 + .../class-use/FloatsSortedViewIterator.html | 93 + .../GenericInequalitySearch.Inequality.html | 115 + .../class-use/GenericInequalitySearch.html | 62 + .../class-use/GenericPartitionBoundaries.html | 208 + .../class-use/GenericSortedView.html | 103 + .../class-use/GenericSortedViewIterator.html | 93 + .../class-use/IncludeMinMax.DoublesPair.html | 95 + .../class-use/IncludeMinMax.FloatsPair.html | 95 + .../class-use/IncludeMinMax.ItemsPair.html | 96 + .../class-use/IncludeMinMax.LongsPair.html | 95 + .../class-use/IncludeMinMax.html | 62 + .../class-use/InequalitySearch.html | 144 + .../class-use/ItemsSketchSortedView.html | 109 + .../class-use/KolmogorovSmirnov.html | 62 + .../class-use/LongsSketchSortedView.html | 90 + .../class-use/LongsSortedView.html | 103 + .../class-use/LongsSortedViewIterator.html | 93 + .../class-use/PartitioningFeature.html | 177 + .../class-use/QuantileSearchCriteria.html | 742 ++ .../class-use/QuantilesAPI.html | 228 + .../class-use/QuantilesDoublesAPI.html | 158 + .../QuantilesDoublesSketchIterator.html | 152 + .../class-use/QuantilesFloatsAPI.html | 149 + .../QuantilesFloatsSketchIterator.html | 151 + .../class-use/QuantilesGenericAPI.html | 163 + .../QuantilesGenericSketchIterator.html | 152 + .../class-use/QuantilesLongsAPI.html | 115 + .../QuantilesLongsSketchIterator.html | 122 + .../class-use/QuantilesSketchIterator.html | 195 + .../class-use/QuantilesUtil.html | 62 + .../class-use/SketchPartitionLimits.html | 152 + .../quantilescommon/class-use/SortedView.html | 133 + .../class-use/SortedViewIterator.html | 118 + .../quantilescommon/package-summary.html | 272 + .../quantilescommon/package-tree.html | 154 + .../quantilescommon/package-use.html | 435 + .../org/apache/datasketches/req/ReqDebug.html | 283 + .../apache/datasketches/req/ReqSketch.html | 1094 +++ .../datasketches/req/ReqSketchBuilder.html | 293 + .../datasketches/req/ReqSketchIterator.html | 201 + .../datasketches/req/class-use/ReqDebug.html | 102 + .../datasketches/req/class-use/ReqSketch.html | 113 + .../req/class-use/ReqSketchBuilder.html | 106 + .../req/class-use/ReqSketchIterator.html | 62 + .../datasketches/req/package-summary.html | 134 + .../apache/datasketches/req/package-tree.html | 84 + .../apache/datasketches/req/package-use.html | 99 + .../sampling/EbppsItemsSketch.html | 475 + .../sampling/ReservoirItemsSketch.html | 455 + .../sampling/ReservoirItemsUnion.html | 364 + .../sampling/ReservoirLongsSketch.html | 388 + .../sampling/ReservoirLongsUnion.html | 306 + .../sampling/SampleSubsetSummary.html | 184 + ...arOptItemsSamples.VarOptItemsIterator.html | 166 + .../VarOptItemsSamples.WeightedSample.html | 164 + .../sampling/VarOptItemsSamples.html | 307 + .../sampling/VarOptItemsSketch.html | 431 + .../sampling/VarOptItemsUnion.html | 322 + .../sampling/class-use/EbppsItemsSketch.html | 105 + .../class-use/ReservoirItemsSketch.html | 127 + .../class-use/ReservoirItemsUnion.html | 98 + .../class-use/ReservoirLongsSketch.html | 122 + .../class-use/ReservoirLongsUnion.html | 97 + .../class-use/SampleSubsetSummary.html | 105 + ...arOptItemsSamples.VarOptItemsIterator.html | 62 + .../VarOptItemsSamples.WeightedSample.html | 99 + .../class-use/VarOptItemsSamples.html | 92 + .../sampling/class-use/VarOptItemsSketch.html | 121 + .../sampling/class-use/VarOptItemsUnion.html | 98 + .../sampling/package-summary.html | 151 + .../datasketches/sampling/package-tree.html | 86 + .../datasketches/sampling/package-use.html | 125 + .../datasketches/tdigest/BinarySearch.html | 133 + .../org/apache/datasketches/tdigest/Sort.html | 216 + .../datasketches/tdigest/TDigestDouble.html | 496 + .../tdigest/class-use/BinarySearch.html | 62 + .../datasketches/tdigest/class-use/Sort.html | 62 + .../tdigest/class-use/TDigestDouble.html | 108 + .../datasketches/tdigest/package-summary.html | 113 + .../datasketches/tdigest/package-tree.html | 78 + .../datasketches/tdigest/package-use.html | 88 + .../org/apache/datasketches/theta/AnotB.html | 421 + .../apache/datasketches/theta/BitPacking.html | 214 + .../datasketches/theta/CompactSketch.html | 429 + .../datasketches/theta/HashIterator.html | 158 + .../datasketches/theta/Intersection.html | 360 + .../datasketches/theta/JaccardSimilarity.html | 270 + .../datasketches/theta/SetOperation.html | 396 + .../theta/SetOperationBuilder.html | 518 + .../org/apache/datasketches/theta/Sketch.html | 801 ++ .../apache/datasketches/theta/Sketches.html | 811 ++ .../org/apache/datasketches/theta/Union.html | 553 ++ .../datasketches/theta/UpdateReturnState.html | 317 + .../datasketches/theta/UpdateSketch.html | 588 ++ .../theta/UpdateSketchBuilder.html | 784 ++ .../datasketches/theta/class-use/AnotB.html | 93 + .../theta/class-use/BitPacking.html | 62 + .../theta/class-use/CompactSketch.html | 234 + .../theta/class-use/HashIterator.html | 93 + .../theta/class-use/Intersection.html | 110 + .../theta/class-use/JaccardSimilarity.html | 62 + .../theta/class-use/SetOperation.html | 189 + .../theta/class-use/SetOperationBuilder.html | 127 + .../datasketches/theta/class-use/Sketch.html | 394 + .../theta/class-use/Sketches.html | 62 + .../datasketches/theta/class-use/Union.html | 110 + .../theta/class-use/UpdateReturnState.html | 139 + .../theta/class-use/UpdateSketch.html | 196 + .../theta/class-use/UpdateSketchBuilder.html | 148 + .../datasketches/theta/package-summary.html | 168 + .../datasketches/theta/package-tree.html | 113 + .../datasketches/theta/package-use.html | 166 + .../thetacommon/BinomialBoundsN.html | 197 + .../BoundsOnRatiosInThetaSketchedSets.html | 210 + .../BoundsOnRatiosInTupleSketchedSets.html | 285 + .../thetacommon/HashOperations.html | 534 ++ .../datasketches/thetacommon/QuickSelect.html | 303 + .../SetOperationCornerCases.AnotbAction.html | 309 + .../SetOperationCornerCases.CornerCase.html | 485 + ...tOperationCornerCases.IntersectAction.html | 276 + .../SetOperationCornerCases.UnionAction.html | 342 + .../thetacommon/SetOperationCornerCases.html | 248 + .../datasketches/thetacommon/ThetaUtil.html | 404 + .../class-use/BinomialBoundsN.html | 62 + .../BoundsOnRatiosInThetaSketchedSets.html | 62 + .../BoundsOnRatiosInTupleSketchedSets.html | 62 + .../thetacommon/class-use/HashOperations.html | 62 + .../thetacommon/class-use/QuickSelect.html | 62 + .../SetOperationCornerCases.AnotbAction.html | 103 + .../SetOperationCornerCases.CornerCase.html | 103 + ...tOperationCornerCases.IntersectAction.html | 103 + .../SetOperationCornerCases.UnionAction.html | 103 + .../class-use/SetOperationCornerCases.html | 62 + .../thetacommon/class-use/ThetaUtil.html | 62 + .../thetacommon/package-summary.html | 179 + .../thetacommon/package-tree.html | 99 + .../datasketches/thetacommon/package-use.html | 101 + .../org/apache/datasketches/tuple/AnotB.html | 397 + .../datasketches/tuple/CompactSketch.html | 241 + .../datasketches/tuple/DeserializeResult.html | 195 + .../org/apache/datasketches/tuple/Filter.html | 186 + .../datasketches/tuple/Intersection.html | 307 + .../datasketches/tuple/JaccardSimilarity.html | 440 + .../SerializerDeserializer.SketchType.html | 266 + .../tuple/SerializerDeserializer.html | 228 + .../org/apache/datasketches/tuple/Sketch.html | 440 + .../apache/datasketches/tuple/Sketches.html | 223 + .../apache/datasketches/tuple/Summary.html | 166 + .../tuple/SummaryDeserializer.html | 152 + .../datasketches/tuple/SummaryFactory.html | 142 + .../tuple/SummarySetOperations.html | 181 + .../tuple/TupleSketchIterator.html | 189 + .../org/apache/datasketches/tuple/Union.html | 328 + .../datasketches/tuple/UpdatableSketch.html | 602 ++ .../tuple/UpdatableSketchBuilder.html | 254 + .../datasketches/tuple/UpdatableSummary.html | 156 + .../org/apache/datasketches/tuple/Util.html | 343 + .../tuple/adouble/DoubleSketch.html | 485 + .../tuple/adouble/DoubleSummary.Mode.html | 263 + .../tuple/adouble/DoubleSummary.html | 284 + .../adouble/DoubleSummaryDeserializer.html | 189 + .../tuple/adouble/DoubleSummaryFactory.html | 186 + .../adouble/DoubleSummarySetOperations.html | 258 + .../tuple/adouble/class-use/DoubleSketch.html | 62 + .../adouble/class-use/DoubleSummary.Mode.html | 147 + .../adouble/class-use/DoubleSummary.html | 131 + .../class-use/DoubleSummaryDeserializer.html | 62 + .../class-use/DoubleSummaryFactory.html | 62 + .../class-use/DoubleSummarySetOperations.html | 62 + .../tuple/adouble/package-summary.html | 142 + .../tuple/adouble/package-tree.html | 102 + .../tuple/adouble/package-use.html | 92 + .../tuple/aninteger/IntegerSketch.html | 485 + .../tuple/aninteger/IntegerSummary.Mode.html | 263 + .../tuple/aninteger/IntegerSummary.html | 284 + .../aninteger/IntegerSummaryDeserializer.html | 189 + .../aninteger/IntegerSummaryFactory.html | 186 + .../IntegerSummarySetOperations.html | 233 + .../aninteger/class-use/IntegerSketch.html | 62 + .../class-use/IntegerSummary.Mode.html | 141 + .../aninteger/class-use/IntegerSummary.html | 131 + .../class-use/IntegerSummaryDeserializer.html | 62 + .../class-use/IntegerSummaryFactory.html | 62 + .../IntegerSummarySetOperations.html | 62 + .../tuple/aninteger/package-summary.html | 142 + .../tuple/aninteger/package-tree.html | 102 + .../tuple/aninteger/package-use.html | 92 + .../arrayofdoubles/ArrayOfDoublesAnotB.html | 190 + .../ArrayOfDoublesAnotBImpl.html | 207 + .../ArrayOfDoublesCombiner.html | 142 + .../ArrayOfDoublesCompactSketch.html | 172 + .../ArrayOfDoublesIntersection.html | 197 + .../ArrayOfDoublesSetOperationBuilder.html | 370 + .../arrayofdoubles/ArrayOfDoublesSketch.html | 467 + .../ArrayOfDoublesSketchIterator.html | 178 + .../ArrayOfDoublesSketches.html | 428 + .../arrayofdoubles/ArrayOfDoublesUnion.html | 342 + .../ArrayOfDoublesUpdatableSketch.html | 461 + .../ArrayOfDoublesUpdatableSketchBuilder.html | 286 + .../class-use/ArrayOfDoublesAnotB.html | 102 + .../class-use/ArrayOfDoublesAnotBImpl.html | 62 + .../class-use/ArrayOfDoublesCombiner.html | 92 + .../ArrayOfDoublesCompactSketch.html | 138 + .../class-use/ArrayOfDoublesIntersection.html | 98 + .../ArrayOfDoublesSetOperationBuilder.html | 101 + .../class-use/ArrayOfDoublesSketch.html | 173 + .../ArrayOfDoublesSketchIterator.html | 89 + .../class-use/ArrayOfDoublesSketches.html | 62 + .../class-use/ArrayOfDoublesUnion.html | 163 + .../ArrayOfDoublesUpdatableSketch.html | 140 + .../ArrayOfDoublesUpdatableSketchBuilder.html | 111 + .../tuple/arrayofdoubles/package-summary.html | 170 + .../tuple/arrayofdoubles/package-tree.html | 98 + .../tuple/arrayofdoubles/package-use.html | 125 + .../datasketches/tuple/class-use/AnotB.html | 62 + .../tuple/class-use/CompactSketch.html | 163 + .../tuple/class-use/DeserializeResult.html | 157 + .../datasketches/tuple/class-use/Filter.html | 62 + .../tuple/class-use/Intersection.html | 62 + .../tuple/class-use/JaccardSimilarity.html | 62 + .../SerializerDeserializer.SketchType.html | 116 + .../class-use/SerializerDeserializer.html | 62 + .../datasketches/tuple/class-use/Sketch.html | 378 + .../tuple/class-use/Sketches.html | 62 + .../datasketches/tuple/class-use/Summary.html | 406 + .../tuple/class-use/SummaryDeserializer.html | 171 + .../tuple/class-use/SummaryFactory.html | 193 + .../tuple/class-use/SummarySetOperations.html | 238 + .../tuple/class-use/TupleSketchIterator.html | 96 + .../datasketches/tuple/class-use/Union.html | 62 + .../tuple/class-use/UpdatableSketch.html | 189 + .../class-use/UpdatableSketchBuilder.html | 103 + .../tuple/class-use/UpdatableSummary.html | 181 + .../datasketches/tuple/class-use/Util.html | 62 + .../datasketches/tuple/package-summary.html | 209 + .../datasketches/tuple/package-tree.html | 119 + .../datasketches/tuple/package-use.html | 324 + .../tuple/strings/ArrayOfStringsSketch.html | 493 + .../tuple/strings/ArrayOfStringsSummary.html | 240 + .../ArrayOfStringsSummaryDeserializer.html | 189 + .../strings/ArrayOfStringsSummaryFactory.html | 178 + .../ArrayOfStringsSummarySetOperations.html | 221 + .../class-use/ArrayOfStringsSketch.html | 120 + .../class-use/ArrayOfStringsSummary.html | 126 + .../ArrayOfStringsSummaryDeserializer.html | 62 + .../ArrayOfStringsSummaryFactory.html | 62 + .../ArrayOfStringsSummarySetOperations.html | 62 + .../tuple/strings/package-summary.html | 125 + .../tuple/strings/package-tree.html | 88 + .../tuple/strings/package-use.html | 103 + docs/621/merge/overview-summary.html | 25 + docs/621/merge/overview-tree.html | 398 + docs/621/merge/package-search-index.js | 1 + docs/621/merge/resources/dictionary.html | 282 + docs/621/merge/resources/glass.png | Bin 0 -> 499 bytes docs/621/merge/resources/x.png | Bin 0 -> 394 bytes docs/621/merge/script-dir/jquery-3.7.1.min.js | 2 + docs/621/merge/script-dir/jquery-ui.min.css | 6 + docs/621/merge/script-dir/jquery-ui.min.js | 6 + docs/621/merge/script.js | 132 + docs/621/merge/search.js | 354 + docs/621/merge/serialized-form.html | 128 + docs/621/merge/stylesheet.css | 869 ++ docs/621/merge/tag-search-index.js | 1 + docs/621/merge/type-search-index.js | 1 + 513 files changed, 118384 insertions(+) create mode 100644 docs/621/merge/allclasses-index.html create mode 100644 docs/621/merge/allpackages-index.html create mode 100644 docs/621/merge/constant-values.html create mode 100644 docs/621/merge/deprecated-list.html create mode 100644 docs/621/merge/element-list create mode 100644 docs/621/merge/help-doc.html create mode 100644 docs/621/merge/index-all.html create mode 100644 docs/621/merge/index.html create mode 100644 docs/621/merge/jquery-ui.overrides.css create mode 100644 docs/621/merge/legal/ADDITIONAL_LICENSE_INFO create mode 100644 docs/621/merge/legal/ASSEMBLY_EXCEPTION create mode 100644 docs/621/merge/legal/LICENSE create mode 100644 docs/621/merge/legal/jquery.md create mode 100644 docs/621/merge/legal/jqueryUI.md create mode 100644 docs/621/merge/member-search-index.js create mode 100644 docs/621/merge/module-search-index.js create mode 100644 docs/621/merge/org/apache/datasketches/common/ArrayOfBooleansSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ArrayOfDoublesSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ArrayOfItemsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ArrayOfLongsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ArrayOfNumbersSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ArrayOfStringsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ArrayOfUtf16StringsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/BoundsOnBinomialProportions.html create mode 100644 docs/621/merge/org/apache/datasketches/common/BoundsOnRatiosInSampledSets.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ByteArrayUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/common/Family.html create mode 100644 docs/621/merge/org/apache/datasketches/common/MemoryStatus.html create mode 100644 docs/621/merge/org/apache/datasketches/common/ResizeFactor.html create mode 100644 docs/621/merge/org/apache/datasketches/common/SketchesArgumentException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/SketchesException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/SketchesReadOnlyException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/SketchesStateException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/SuppressFBWarnings.html create mode 100644 docs/621/merge/org/apache/datasketches/common/Util.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfBooleansSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfDoublesSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfItemsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfLongsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfNumbersSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfStringsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfUtf16StringsSerDe.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnBinomialProportions.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnRatiosInSampledSets.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ByteArrayUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/Family.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/MemoryStatus.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/ResizeFactor.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/SketchesArgumentException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/SketchesException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/SketchesReadOnlyException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/SketchesStateException.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/SuppressFBWarnings.html create mode 100644 docs/621/merge/org/apache/datasketches/common/class-use/Util.html create mode 100644 docs/621/merge/org/apache/datasketches/common/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/common/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/common/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/CompressionCharacterization.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/CpcSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/CpcUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/CpcWrapper.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/MergingValidation.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/QuickMergingValidation.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/StreamingValidation.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/TestUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/CompressionCharacterization.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/CpcSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/CpcUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/CpcWrapper.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/MergingValidation.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/QuickMergingValidation.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/StreamingValidation.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/class-use/TestUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/cpc/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/FdtSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/Group.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/PostProcessor.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/class-use/FdtSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/class-use/Group.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/class-use/PostProcessor.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/fdt/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilter.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilterBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/DirectBitArrayR.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilter.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilterBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/DirectBitArrayR.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/filters/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/ErrorType.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.Row.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.Row.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/class-use/ErrorType.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.Row.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.Row.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/frequencies/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/MurmurHash3.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/MurmurHash3Adaptor.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/XxHash.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3Adaptor.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/class-use/XxHash.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/hash/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/HllSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/TgtHllType.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/Union.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/class-use/HllSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/class-use/TgtHllType.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/class-use/Union.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/doc-files/HLL_HIP_K12T20U20.png create mode 100644 docs/621/merge/org/apache/datasketches/hll/doc-files/HLL_UnionTime4_6_8_Java_CPP.png create mode 100644 docs/621/merge/org/apache/datasketches/hll/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/hll/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/hllmap/UniqueCountMap.html create mode 100644 docs/621/merge/org/apache/datasketches/hllmap/class-use/UniqueCountMap.html create mode 100644 docs/621/merge/org/apache/datasketches/hllmap/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/hllmap/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/hllmap/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllDoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllFloatsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllFloatsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllItemsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllLongsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllLongsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchStructure.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchType.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/KllSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchStructure.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchType.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/class-use/KllSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/kll/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/BoundsRule.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/Partitioner.PartitionBoundsRow.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/Partitioner.StackElement.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/Partitioner.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/SketchFillRequest.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/class-use/BoundsRule.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.PartitionBoundsRow.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.StackElement.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/class-use/SketchFillRequest.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/partitions/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/ClassicUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/CompactDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/DoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/DoublesUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/DoublesUnionBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/ItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/ItemsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/ItemsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/UpdateDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/ClassicUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/CompactDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnionBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/class-use/UpdateDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/quantiles/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/BinarySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.Inequality.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/GenericPartitionBoundaries.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.DoublesPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.FloatsPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.ItemsPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.LongsPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/InequalitySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/ItemsSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/KolmogorovSmirnov.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/LongsSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/PartitioningFeature.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantileSearchCriteria.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/SketchPartitionLimits.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/SortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/SortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/BinarySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.Inequality.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericPartitionBoundaries.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.DoublesPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.FloatsPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.ItemsPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.LongsPair.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/InequalitySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/ItemsSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/KolmogorovSmirnov.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSketchSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/PartitioningFeature.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantileSearchCriteria.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsAPI.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SketchPartitionLimits.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedView.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedViewIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/quantilescommon/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/req/ReqDebug.html create mode 100644 docs/621/merge/org/apache/datasketches/req/ReqSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/req/ReqSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/req/ReqSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/req/class-use/ReqDebug.html create mode 100644 docs/621/merge/org/apache/datasketches/req/class-use/ReqSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/req/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/req/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/req/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/EbppsItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/SampleSubsetSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/VarOptItemsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/EbppsItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/SampleSubsetSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.VarOptItemsIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.WeightedSample.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/sampling/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/BinarySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/Sort.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/TDigestDouble.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/class-use/BinarySearch.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/class-use/Sort.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/class-use/TDigestDouble.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/tdigest/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/AnotB.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/BitPacking.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/CompactSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/HashIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/Intersection.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/JaccardSimilarity.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/SetOperation.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/SetOperationBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/Sketch.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/Sketches.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/Union.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/UpdateReturnState.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/UpdateSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/UpdateSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/AnotB.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/BitPacking.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/CompactSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/HashIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/Intersection.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/JaccardSimilarity.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/SetOperation.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/SetOperationBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/Sketch.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/Sketches.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/Union.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/UpdateReturnState.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/theta/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/BinomialBoundsN.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInThetaSketchedSets.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInTupleSketchedSets.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/HashOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/QuickSelect.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.AnotbAction.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.CornerCase.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.IntersectAction.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.UnionAction.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/ThetaUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/BinomialBoundsN.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInThetaSketchedSets.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInTupleSketchedSets.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/HashOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/QuickSelect.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.AnotbAction.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.CornerCase.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.IntersectAction.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.UnionAction.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/class-use/ThetaUtil.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/thetacommon/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/AnotB.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/CompactSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/DeserializeResult.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/Filter.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/Intersection.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/JaccardSimilarity.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/Sketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/Sketches.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/Summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/SummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/SummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/SummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/TupleSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/Union.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/UpdatableSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/UpdatableSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/UpdatableSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/Util.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.Mode.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/adouble/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.Mode.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/aninteger/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCombiner.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotB.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotBImpl.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCombiner.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCompactSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesIntersection.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSetOperationBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketches.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUnion.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/AnotB.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/CompactSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/DeserializeResult.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/Filter.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/Intersection.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/JaccardSimilarity.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.SketchType.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/Sketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/Sketches.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/Summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/SummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/TupleSketchIterator.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/Union.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketchBuilder.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/class-use/Util.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/package-use.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSketch.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryDeserializer.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryFactory.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummarySetOperations.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/package-summary.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/package-tree.html create mode 100644 docs/621/merge/org/apache/datasketches/tuple/strings/package-use.html create mode 100644 docs/621/merge/overview-summary.html create mode 100644 docs/621/merge/overview-tree.html create mode 100644 docs/621/merge/package-search-index.js create mode 100644 docs/621/merge/resources/dictionary.html create mode 100644 docs/621/merge/resources/glass.png create mode 100644 docs/621/merge/resources/x.png create mode 100644 docs/621/merge/script-dir/jquery-3.7.1.min.js create mode 100644 docs/621/merge/script-dir/jquery-ui.min.css create mode 100644 docs/621/merge/script-dir/jquery-ui.min.js create mode 100644 docs/621/merge/script.js create mode 100644 docs/621/merge/search.js create mode 100644 docs/621/merge/serialized-form.html create mode 100644 docs/621/merge/stylesheet.css create mode 100644 docs/621/merge/tag-search-index.js create mode 100644 docs/621/merge/type-search-index.js diff --git a/docs/621/merge/allclasses-index.html b/docs/621/merge/allclasses-index.html new file mode 100644 index 000000000..3950be69d --- /dev/null +++ b/docs/621/merge/allclasses-index.html @@ -0,0 +1,946 @@ + + + + +All Classes and Interfaces (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
+
Computes a set difference, A-AND-NOT-B, of two theta sketches.
+
+
AnotB<S extends Summary>
+
+
Computes a set difference, A-AND-NOT-B, of two generic tuple sketches.
+
+ +
+
Methods of serializing and deserializing arrays of Boolean as a bit array.
+
+ +
+
Computes a set difference of two tuple sketches of type ArrayOfDoubles
+
+ +
+
Computes a set difference, A-AND-NOT-B, of two ArrayOfDoublesSketches.
+
+ +
+
Combines two arrays of double values for use with ArrayOfDoubles tuple sketches
+
+ +
+
Top level compact tuple sketch of type ArrayOfDoubles.
+
+ +
+
Computes the intersection of two or more tuple sketches of type ArrayOfDoubles.
+
+ +
+
Methods of serializing and deserializing arrays of Double.
+
+ +
+
Builds set operations object for tuple sketches of type ArrayOfDoubles.
+
+ +
+
The base class for the tuple sketch of type ArrayOfDoubles, where an array of double values + is associated with each key.
+
+ +
+
Convenient static methods to instantiate tuple sketches of type ArrayOfDoubles.
+
+ +
+
Interface for iterating over tuple sketches of type ArrayOfDoubles
+
+ +
+
The base class for unions of tuple sketches of type ArrayOfDoubles.
+
+ +
+
The top level for updatable tuple sketches of type ArrayOfDoubles.
+
+ +
+
For building a new ArrayOfDoublesUpdatableSketch
+
+ +
+
Base class for serializing and deserializing custom types.
+
+ +
+
Methods of serializing and deserializing arrays of Long.
+
+ +
+
Methods of serializing and deserializing arrays of the object version of primitive types of + Number.
+
+ +
+
Methods of serializing and deserializing arrays of String.
+
+ +
 
+ +
 
+ +
 
+ +
 
+ +
 
+ +
+
Methods of serializing and deserializing arrays of String.
+
+ +
+
Contains common equality binary search algorithms.
+
+ +
+
Algorithms with logarithmic complexity for searching in an array.
+
+ +
+
This class enables the estimation of error bounds given a sample set size, the sampling + probability theta, the number of standard deviations and a simple noDataSeen flag.
+
+ +
+
Used as part of Theta compression.
+
+ +
+
A Bloom filter is a data structure that can be used for probabilistic + set membership.
+
+ +
+
This class provides methods to help estimate the correct parameters when + creating a Bloom filter, and methods to create the filter using those values.
+
+ +
+
Confidence intervals for binomial proportions.
+
+ +
+
This class is used to compute the bounds on the estimate of the ratio |B| / |A|, where: + + |A| is the unknown size of a set A of unique identifiers. + |B| is the unknown size of a subset B of A. + a = |SA| is the observed size of a sample of A + that was obtained by Bernoulli sampling with a known inclusion probability f. + b = |SA ∩ B| is the observed size of a subset + of SA. +
+
+ +
+
This class is used to compute the bounds on the estimate of the ratio B / A, where: + + A is a Theta Sketch of population PopA. + B is a Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Theta Sketch C, + which acts like a predicate or selection clause. + The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B). + The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B). + The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B). + + Note: The theta of A cannot be greater than the theta of B.
+
+ +
+
This class is used to compute the bounds on the estimate of the ratio B / A, where: + + A is a Tuple Sketch of population PopA. + B is a Tuple or Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Tuple or Theta Sketch C, + which acts like a predicate or selection clause. + The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B). + The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B). + The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B). + + Note: The theta of A cannot be greater than the theta of B.
+
+ +
+
This instructs the user about which of the upper and lower bounds of a partition definition row + should be included with the returned data.
+
+ +
+
Useful methods for byte arrays.
+
+ +
+
Utilities for the classic quantiles sketches and independent of the type.
+
+ +
+
Compact sketches are inherently read only.
+
+ +
+
The parent class of all the CompactSketches.
+
+ +
+
CompactSketches are never created directly.
+
+ +
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+ +
+
This is a unique-counting sketch that implements the + Compressed Probabilistic Counting (CPC, a.k.a FM85) algorithms developed by Kevin Lang in + his paper + Back to the Future: an Even More Nearly + Optimal Cardinality Estimation Algorithm.
+
+ +
+
The union (merge) operation for the CPC sketches.
+
+ +
+
This provides a read-only view of a serialized image of a CpcSketch, which can be + on-heap or off-heap represented as a Memory object, or on-heap represented as a byte array.
+
+ +
+
Returns an object and its size in bytes as a result of a deserialize operation
+
+ +
+
This class can maintain the BitArray object off-heap.
+
+ +
 
+ +
+
This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using doubles, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
+
+ +
+
For building a new quantiles DoublesSketch.
+
+ +
+
Iterator over DoublesSketch.
+
+ +
+
The SortedView of the Quantiles Classic DoublesSketch and the KllDoublesSketch.
+
+ +
+
The Sorted View for quantile sketches of primitive type double.
+
+ +
+
Iterator over quantile sketches of primitive type double.
+
+ +
+
Summary for generic tuple sketches of type Double.
+
+ +
+
The aggregation modes for this Summary
+
+ +
 
+ +
+
Factory for DoubleSummary.
+
+ +
+
Methods for defining how unions and intersections of two objects of type DoubleSummary + are performed.
+
+ +
+
The API for Union operations for quantiles DoublesSketches
+
+ +
+
For building a new DoublesSketch Union operation.
+
+ +
+
An implementation of an Exact and Bounded Sampling Proportional to Size sketch.
+
+ +
+
Specifies one of two types of error regions of the statistical classification Confusion Matrix + that can be excluded from a returned sample of Frequent Items.
+
+ +
+
Defines the various families of sketch and set operation classes.
+
+ +
+
A Frequent Distinct Tuples sketch.
+
+
Filter<T extends Summary>
+
+
Class for filtering entries from a Sketch given a Summary
+
+ +
+
The SortedView for the KllFloatsSketch and the ReqSketch.
+
+ +
+
The Sorted View for quantiles of primitive type float.
+
+ +
+
Iterator over quantile sketches of primitive type float.
+
+ +
+
This provides efficient, unique and unambiguous binary searching for inequality comparison criteria + for ordered arrays of values that may include duplicate values.
+
+ +
+
The enumerator of inequalities
+
+ +
+
This defines the returned results of the getParitionBoundaries() function and + includes the basic methods needed to construct actual partitions.
+
+ +
+
The Sorted View for quantiles of generic type.
+
+ +
+
Iterator over quantile sketches of generic type.
+
+ +
+
Defines a Group from a Frequent Distinct Tuple query.
+
+ +
+
This is used to iterate over the retained hash values of the Theta sketch.
+
+ +
+
Helper class for the common hash table methods.
+
+ +
+
The HllSketch is actually a collection of compact implementations of Phillipe Flajolet’s HyperLogLog (HLL) + sketch but with significantly improved error behavior and excellent speed performance.
+
+ +
+
This class reinserts the min and max values into the sorted view arrays as required.
+
+ +
+
A simple structure to hold a pair of arrays
+
+ +
+
A simple structure to hold a pair of arrays
+
+ +
+
A simple structure to hold a pair of arrays
+
+ +
+
A simple structure to hold a pair of arrays
+
+ +
+
This provides efficient, unique and unambiguous binary searching for inequality comparison criteria + for ordered arrays of values that may include duplicate values.
+
+ +
 
+ +
+
Summary for generic tuple sketches of type Integer.
+
+ +
+
The aggregation modes for this Summary
+
+ +
 
+ +
+
Factory for IntegerSummary.
+
+ +
+
Methods for defining how unions and intersections of two objects of type IntegerSummary + are performed.
+
+ +
+
The API for intersection operations
+
+ +
+
Computes an intersection of two or more generic tuple sketches or generic tuple sketches + combined with theta sketches.
+
+ +
+
This sketch is useful for tracking approximate frequencies of items of type <T> + with optional associated counts (<T> item, long count) that are members of a + multiset of such items.
+
+ +
+
This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using generic items, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
+
+ +
+
Row class that defines the return values from a getFrequentItems query.
+
+ +
+
Iterator over ItemsSketch.
+
+ +
+
The SortedView for the KllItemsSketch and the classic ItemsSketch.
+
+ +
+
The API for Union operations for generic ItemsSketches
+
+ +
+
Jaccard similarity of two Theta Sketches.
+
+ +
+
Jaccard similarity of two Tuple Sketches, or alternatively, of a Tuple and Theta Sketch.
+
+ +
+
This variation of the KllSketch implements primitive doubles.
+
+ +
+
Iterator over KllDoublesSketch.
+
+ +
+
This variation of the KllSketch implements primitive floats.
+
+ +
+
Iterator over KllFloatsSketch.
+
+ +
+
This variation of the KllSketch implements generic data types.
+
+ +
+
Iterator over KllItemsSketch.
+
+ +
+
This variation of the KllSketch implements primitive longs.
+
+ +
+
Iterator over KllLongsSketch.
+
+ +
+
This class is the root of the KLL sketch class hierarchy.
+
+ +
+
Used primarily to define the structure of the serialized sketch.
+
+ +
+
Used to define the variable type of the current instance of this class.
+
+ +
+
The base implementation for the KLL sketch iterator hierarchy used for viewing the + non-ordered quantiles retained by a sketch.
+
+ +
+
Kolmogorov-Smirnov Test + See Kolmogorov–Smirnov Test
+
+ +
+
This sketch is useful for tracking approximate frequencies of long items with optional + associated counts (long item, long count) that are members of a multiset of + such items.
+
+ +
+
Row class that defines the return values from a getFrequentItems query.
+
+ +
+
The SortedView of the KllLongsSketch.
+
+ +
+
The Sorted View for quantile sketches of primitive type long.
+
+ +
+
Iterator over quantile sketches of primitive type long.
+
+ +
+
Methods for inquiring the status of a backing Memory object.
+
+ +
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+ +
+
The MurmurHash3 is a fast, non-cryptographic, 128-bit hash function that has + excellent avalanche and 2-way bit independence properties.
+
+ +
+
A general purpose wrapper for the MurmurHash3.
+
+ +
+
A partitioning process that can partition very large data sets into thousands + of partitions of approximately the same size.
+
+ +
+
Defines a row for List of PartitionBounds.
+
+ +
+
Holds data for a Stack element
+
+ +
+
This enables the special functions for performing efficient partitioning of massive data.
+
+ +
+
This processes the contents of a FDT sketch to extract the + primary keys with the most frequent unique combinations of the non-primary dimensions.
+
+ +
+
This is a stochastic streaming sketch that enables near-real time analysis of the + approximate distribution of items from a very large stream in a single pass, requiring only + that the items are comparable.
+
+ +
+
The Quantiles API for item type double.
+
+ +
+
The quantiles sketch iterator for primitive type double.
+
+ +
+
These search criteria are used by the KLL, REQ and Classic Quantiles sketches in the DataSketches library.
+
+ +
+
The Quantiles API for item type float.
+
+ +
+
The quantiles sketch iterator for primitive type float.
+
+ +
+
The Quantiles API for item type generic.
+
+ +
+
The quantiles sketch iterator for generic types.
+
+ +
+
The Quantiles API for item type long.
+
+ +
+
The quantiles sketch iterator for primitive type long.
+
+ +
+
This is the base interface for the SketchIterator hierarchy used for viewing the + non-ordered quantiles retained by a sketch.
+
+ +
+
Utilities for the quantiles sketches.
+
+ +
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+ +
+
QuickSelect algorithm improved from Sedgewick.
+
+ +
+
The signaling interface that allows comprehensive analysis of the ReqSketch and ReqCompactor + while eliminating code clutter in the main classes.
+
+ +
+
This Relative Error Quantiles Sketch is the Java implementation based on the paper + "Relative Error Streaming Quantiles" by Graham Cormode, Zohar Karnin, Edo Liberty, + Justin Thaler, Pavel Veselý, and loosely derived from a Python prototype written by Pavel Veselý.
+
+ +
+
For building a new ReqSketch
+
+ +
+
Iterator over all retained items of the ReqSketch.
+
+ +
+
This sketch provides a reservoir sample over an input stream of items.
+
+ +
+
Class to union reservoir samples of generic items.
+
+ +
+
This sketch provides a reservoir sample over an input stream of longs.
+
+ +
+
Class to union reservoir samples of longs.
+
+ +
+
For the Families that accept this configuration parameter, it controls the size multiple that + affects how fast the internal cache grows, when more space is required.
+
+ +
+
A simple object o capture the results of a subset sum query on a sampling sketch.
+
+ +
+
Multipurpose serializer-deserializer for a collection of sketches defined by the enum.
+
+ +
+
Defines the sketch classes that this SerializerDeserializer can handle.
+
+ +
+
The parent API for all Set Operations
+
+ +
+
For building a new SetOperation.
+
+ +
+
Simplifies and speeds up set operations by resolving specific corner cases.
+
+ +
+
A not B actions
+
+ +
+
List of corner cases
+
+ +
+
Intersection actions
+
+ +
+
List of union actions
+
+ +
+
The top-level class for all theta sketches.
+
+
Sketch<S extends Summary>
+
+
This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
+
+ +
+
This class brings together the common sketch and set operation creation methods and + the public static methods into one place.
+
+ +
+
Convenient static methods to instantiate generic tuple sketches.
+
+ +
+
Illegal Arguments Exception class for the library
+
+ +
+
Exception class for the library
+
+ +
+
Write operation attempted on a read-only class.
+
+ +
+
Illegal State Exception class for the library
+
+ +
+
This is a callback request to the data source to fill a quantiles sketch, + which is returned to the caller.
+
+ +
+
This defines the methods required to compute the partition limits.
+
+ +
+
Specialized sorting algorithm that can sort one array and permute another array the same way.
+
+ +
+
This is the base interface for the Sorted View interface hierarchy and defines the methods that are type independent.
+
+ +
+
This is the base interface for the SortedViewIterator hierarchy used with a SortedView obtained + from a quantile-type sketch.
+
+ +
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+ +
+
Interface for user-defined Summary, which is associated with every hash in a tuple sketch
+
+ +
+
Interface for deserializing user-defined Summary
+
+ +
+
Interface for user-defined SummaryFactory
+
+ +
+
This is to provide methods of producing unions and intersections of two Summary objects.
+
+ +
+
Used to suppress SpotBug warnings.
+
+ +
+
t-Digest for estimating quantiles and ranks.
+
+ +
 
+ +
+
Specifies the target type of HLL sketch to be created.
+
+ +
+
Utility methods for the Theta Family of sketches
+
+ +
+
Iterator over a generic tuple sketch
+
+ +
+
This performs union operations for all HllSketches.
+
+ +
+
Compute the union of two or more theta sketches.
+
+
Union<S extends Summary>
+
+
Compute the union of two or more generic tuple sketches or generic tuple sketches combined with + theta sketches.
+
+ +
+
This is a real-time, key-value HLL mapping sketch that tracks approximate unique counts of + identifiers (the values) associated with each key.
+
+ +
+
An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
+
+ +
+
For building a new generic tuple UpdatableSketch
+
+ +
+
Interface for updating user-defined Summary
+
+ +
 
+ + + +
+
The parent class for the Update Sketch families, such as QuickSelect and Alpha.
+
+ +
+
For building a new UpdateSketch.
+
+ +
+
Common utility functions.
+
+ +
+
Common utility functions for Tuples
+
+ +
+
This class provides access to the samples contained in a VarOptItemsSketch.
+
+ +
+
This sketch provides a variance optimal sample over an input stream of weighted items.
+
+ +
+
Provides a unioning operation over varopt sketches.
+
+ +
+
The XxHash is a fast, non-cryptographic, 64-bit hash function that has + excellent avalanche and 2-way bit independence properties.
+
+
+
+
+
+ +
+
+ + diff --git a/docs/621/merge/allpackages-index.html b/docs/621/merge/allpackages-index.html new file mode 100644 index 000000000..909af2643 --- /dev/null +++ b/docs/621/merge/allpackages-index.html @@ -0,0 +1,173 @@ + + + + +All Packages (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
+
This package is the parent package for all sketch families and common code areas.
+
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+ +
+
Compressed Probabilistic Counting sketch family
+
+ +
+
Frequent Distinct Tuples Sketch
+
+ +
+
The filters package contains data structures used to determine + approximate set-membership.
+
+ +
+
BloomFilter package
+
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+ +
+
The hash package contains a high-performing and extended Java implementations + of Austin Appleby's 128-bit MurmurHash3 hash function originally coded in C.
+
+ +
+
The DataSketches™ HLL sketch family package
+
+ +
+
The hllmap package contains a space efficient HLL mapping sketch of keys to approximate unique + count of identifiers.
+
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
 
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+ +
+
t-Digest for estimating quantiles and ranks.
+
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ + diff --git a/docs/621/merge/constant-values.html b/docs/621/merge/constant-values.html new file mode 100644 index 000000000..2bc9fe362 --- /dev/null +++ b/docs/621/merge/constant-values.html @@ -0,0 +1,245 @@ + + + + +Constant Field Values (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+ +
+
+
+

org.apache.*

+
    +
  • +
    org.apache.datasketches.common.Util
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final double
    + +
    0.6180339887498949
    +
    public static final long
    + +
    -7046029254386353133L
    +
    public static final double
    + +
    9.223372036854776E18
    +
    public static final char
    + +
    '\t'
    +
    +
  • +
+
    +
  • +
    org.apache.datasketches.cpc.CpcSketch
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final int
    + +
    11
    +
    +
  • +
+
    +
  • +
    org.apache.datasketches.hll.HllSketch
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final int
    + +
    12
    +
    +
  • +
+
    +
  • +
    org.apache.datasketches.kll.KllSketch
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final int
    + +
    200
    +
    public static final int
    + +
    65535
    +
    +
  • +
+ +
    +
  • +
    org.apache.datasketches.tdigest.TDigestDouble
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final short
    + +
    200
    +
    +
  • +
+ + +
+
+ +
+
+ + diff --git a/docs/621/merge/deprecated-list.html b/docs/621/merge/deprecated-list.html new file mode 100644 index 000000000..fba8eacb5 --- /dev/null +++ b/docs/621/merge/deprecated-list.html @@ -0,0 +1,101 @@ + + + + +Deprecated List (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Deprecated API

+

Contents

+ +
+ +
+ +
+
+ + diff --git a/docs/621/merge/element-list b/docs/621/merge/element-list new file mode 100644 index 000000000..b6fda0169 --- /dev/null +++ b/docs/621/merge/element-list @@ -0,0 +1,24 @@ +org.apache.datasketches +org.apache.datasketches.common +org.apache.datasketches.cpc +org.apache.datasketches.fdt +org.apache.datasketches.filters +org.apache.datasketches.filters.bloomfilter +org.apache.datasketches.frequencies +org.apache.datasketches.hash +org.apache.datasketches.hll +org.apache.datasketches.hllmap +org.apache.datasketches.kll +org.apache.datasketches.partitions +org.apache.datasketches.quantiles +org.apache.datasketches.quantilescommon +org.apache.datasketches.req +org.apache.datasketches.sampling +org.apache.datasketches.tdigest +org.apache.datasketches.theta +org.apache.datasketches.thetacommon +org.apache.datasketches.tuple +org.apache.datasketches.tuple.adouble +org.apache.datasketches.tuple.aninteger +org.apache.datasketches.tuple.arrayofdoubles +org.apache.datasketches.tuple.strings diff --git a/docs/621/merge/help-doc.html b/docs/621/merge/help-doc.html new file mode 100644 index 000000000..6b453bfb5 --- /dev/null +++ b/docs/621/merge/help-doc.html @@ -0,0 +1,201 @@ + + + + +API Help (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Use

+

Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Deprecated API

+

The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+ +
+
+ + diff --git a/docs/621/merge/index-all.html b/docs/621/merge/index-all.html new file mode 100644 index 000000000..e3e0e1f0a --- /dev/null +++ b/docs/621/merge/index-all.html @@ -0,0 +1,8489 @@ + + + + +Index (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I J K L M N O P Q R S T U V W X Z 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
A_NOT_B - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The A and not B family is an operation for the Theta Sketch Framework of sketches.
+
+
ALPHA - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Alpha Sketch family is a member of the Theta Sketch Framework of sketches and is best + suited for real-time processes where both the updating of the sketch and getting the estimate + is performed directly on the sketch.
+
+
AlwaysOne - Enum constant in enum class org.apache.datasketches.tuple.adouble.DoubleSummary.Mode
+
+
The aggregation mode is always one.
+
+
AlwaysOne - Enum constant in enum class org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode
+
+
The aggregation mode is always one.
+
+
aNotB(Sketch, Sketch) - Method in class org.apache.datasketches.theta.AnotB
+
+
Perform A-and-not-B set operation on the two given sketches and return the result as an + ordered CompactSketch on the heap.
+
+
aNotB(Sketch, Sketch, boolean, WritableMemory) - Method in class org.apache.datasketches.theta.AnotB
+
+
Perform A-and-not-B set operation on the two given sketches and return the result as a + CompactSketch.
+
+
aNotB(Sketch<S>, Sketch) - Static method in class org.apache.datasketches.tuple.AnotB
+
+
Returns the A-and-not-B set operation on a Tuple sketch and a Theta sketch.
+
+
aNotB(Sketch<S>, Sketch<S>) - Static method in class org.apache.datasketches.tuple.AnotB
+
+
Returns the A-and-not-B set operation on the two given Tuple sketches.
+
+
AnotB - Class in org.apache.datasketches.theta
+
+
Computes a set difference, A-AND-NOT-B, of two theta sketches.
+
+
AnotB<S extends Summary> - Class in org.apache.datasketches.tuple
+
+
Computes a set difference, A-AND-NOT-B, of two generic tuple sketches.
+
+
AnotB() - Constructor for class org.apache.datasketches.theta.AnotB
+
 
+
AnotB() - Constructor for class org.apache.datasketches.tuple.AnotB
+
 
+
approximateLowerBoundOnP(long, long, double) - Static method in class org.apache.datasketches.common.BoundsOnBinomialProportions
+
+
Computes lower bound of approximate Clopper-Pearson confidence interval for a binomial + proportion.
+
+
approximateUpperBoundOnP(long, long, double) - Static method in class org.apache.datasketches.common.BoundsOnBinomialProportions
+
+
Computes upper bound of approximate Clopper-Pearson confidence interval for a binomial + proportion.
+
+
approxNumDeltaItems - Variable in class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow
+
+
The approximate number of items represented by this partition description row.
+
+
ArrayOfBooleansSerDe - Class in org.apache.datasketches.common
+
+
Methods of serializing and deserializing arrays of Boolean as a bit array.
+
+
ArrayOfBooleansSerDe() - Constructor for class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
ArrayOfDoublesAnotB - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
Computes a set difference of two tuple sketches of type ArrayOfDoubles
+
+
ArrayOfDoublesAnotBImpl - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
Computes a set difference, A-AND-NOT-B, of two ArrayOfDoublesSketches.
+
+
ArrayOfDoublesCombiner - Interface in org.apache.datasketches.tuple.arrayofdoubles
+
+
Combines two arrays of double values for use with ArrayOfDoubles tuple sketches
+
+
ArrayOfDoublesCompactSketch - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
Top level compact tuple sketch of type ArrayOfDoubles.
+
+
ArrayOfDoublesCompactSketch - Enum constant in enum class org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
ArrayOfDoublesCompactSketch
+
+
ArrayOfDoublesIntersection - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
Computes the intersection of two or more tuple sketches of type ArrayOfDoubles.
+
+
ArrayOfDoublesQuickSelectSketch - Enum constant in enum class org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
ArrayOfDoublesQuickSelectSketch
+
+
ArrayOfDoublesSerDe - Class in org.apache.datasketches.common
+
+
Methods of serializing and deserializing arrays of Double.
+
+
ArrayOfDoublesSerDe() - Constructor for class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
ArrayOfDoublesSetOperationBuilder - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
Builds set operations object for tuple sketches of type ArrayOfDoubles.
+
+
ArrayOfDoublesSetOperationBuilder() - Constructor for class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Creates an instance of the builder with default parameters
+
+
ArrayOfDoublesSketch - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
The base class for the tuple sketch of type ArrayOfDoubles, where an array of double values + is associated with each key.
+
+
ArrayOfDoublesSketches - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
Convenient static methods to instantiate tuple sketches of type ArrayOfDoubles.
+
+
ArrayOfDoublesSketches() - Constructor for class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
 
+
ArrayOfDoublesSketchIterator - Interface in org.apache.datasketches.tuple.arrayofdoubles
+
+
Interface for iterating over tuple sketches of type ArrayOfDoubles
+
+
ArrayOfDoublesUnion - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
The base class for unions of tuple sketches of type ArrayOfDoubles.
+
+
ArrayOfDoublesUnion - Enum constant in enum class org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
ArrayOfDoublesUnion
+
+
ArrayOfDoublesUpdatableSketch - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
The top level for updatable tuple sketches of type ArrayOfDoubles.
+
+
ArrayOfDoublesUpdatableSketchBuilder - Class in org.apache.datasketches.tuple.arrayofdoubles
+
+
For building a new ArrayOfDoublesUpdatableSketch
+
+
ArrayOfDoublesUpdatableSketchBuilder() - Constructor for class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
Creates an instance of builder with default parameters
+
+
ArrayOfItemsSerDe<T> - Class in org.apache.datasketches.common
+
+
Base class for serializing and deserializing custom types.
+
+
ArrayOfItemsSerDe() - Constructor for class org.apache.datasketches.common.ArrayOfItemsSerDe
+
 
+
ArrayOfLongsSerDe - Class in org.apache.datasketches.common
+
+
Methods of serializing and deserializing arrays of Long.
+
+
ArrayOfLongsSerDe() - Constructor for class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
ArrayOfNumbersSerDe - Class in org.apache.datasketches.common
+
+
Methods of serializing and deserializing arrays of the object version of primitive types of + Number.
+
+
ArrayOfNumbersSerDe() - Constructor for class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
ArrayOfStringsSerDe - Class in org.apache.datasketches.common
+
+
Methods of serializing and deserializing arrays of String.
+
+
ArrayOfStringsSerDe() - Constructor for class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
ArrayOfStringsSketch - Class in org.apache.datasketches.tuple.strings
+
 
+
ArrayOfStringsSketch() - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch
+
+
Constructs new sketch with default K = 4096 (lgK = 12), default ResizeFactor=X8, + and default p = 1.0.
+
+
ArrayOfStringsSketch(int) - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch
+
+
Constructs new sketch with default ResizeFactor=X8, default p = 1.0 and given lgK.
+
+
ArrayOfStringsSketch(int, ResizeFactor, float) - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch
+
+
Constructs new sketch with given ResizeFactor, p and lgK.
+
+
ArrayOfStringsSketch(Memory) - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch
+
+
Deprecated. +
As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
+
+
+
ArrayOfStringsSketch(ArrayOfStringsSketch) - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch
+
+
Copy Constructor
+
+
ArrayOfStringsSummary - Class in org.apache.datasketches.tuple.strings
+
 
+
ArrayOfStringsSummaryDeserializer - Class in org.apache.datasketches.tuple.strings
+
 
+
ArrayOfStringsSummaryDeserializer() - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryDeserializer
+
 
+
ArrayOfStringsSummaryFactory - Class in org.apache.datasketches.tuple.strings
+
 
+
ArrayOfStringsSummaryFactory() - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryFactory
+
 
+
ArrayOfStringsSummarySetOperations - Class in org.apache.datasketches.tuple.strings
+
 
+
ArrayOfStringsSummarySetOperations() - Constructor for class org.apache.datasketches.tuple.strings.ArrayOfStringsSummarySetOperations
+
 
+
ArrayOfUtf16StringsSerDe - Class in org.apache.datasketches.common
+
+
Methods of serializing and deserializing arrays of String.
+
+
ArrayOfUtf16StringsSerDe() - Constructor for class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
asDouble(long[]) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns a uniform random double with a minimum inclusive value of zero and a maximum exclusive + value of 1.0.
+
+
asInt(byte[], int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
+
+
asInt(double, int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input double.
+
+
asInt(int[], int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
+
+
asInt(long[], int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
+
+
asInt(long, int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input datum.
+
+
asInt(String, int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input datum.
+
+
+

B

+
+
BinarySearch - Class in org.apache.datasketches.quantilescommon
+
+
Contains common equality binary search algorithms.
+
+
BinarySearch - Class in org.apache.datasketches.tdigest
+
+
Algorithms with logarithmic complexity for searching in an array.
+
+
BinarySearch() - Constructor for class org.apache.datasketches.quantilescommon.BinarySearch
+
 
+
BinarySearch() - Constructor for class org.apache.datasketches.tdigest.BinarySearch
+
 
+
BinomialBoundsN - Class in org.apache.datasketches.thetacommon
+
+
This class enables the estimation of error bounds given a sample set size, the sampling + probability theta, the number of standard deviations and a simple noDataSeen flag.
+
+
bitAt(long, int) - Static method in class org.apache.datasketches.common.Util
+
+
Returns a one if the bit at bitPos is a one, otherwise zero.
+
+
BitPacking - Class in org.apache.datasketches.theta
+
+
Used as part of Theta compression.
+
+
BitPacking() - Constructor for class org.apache.datasketches.theta.BitPacking
+
 
+
BloomFilter - Class in org.apache.datasketches.filters.bloomfilter
+
+
A Bloom filter is a data structure that can be used for probabilistic + set membership.
+
+
BLOOMFILTER - Enum constant in enum class org.apache.datasketches.common.Family
+
+
Bloom Filter
+
+
BloomFilterBuilder - Class in org.apache.datasketches.filters.bloomfilter
+
+
This class provides methods to help estimate the correct parameters when + creating a Bloom filter, and methods to create the filter using those values.
+
+
BloomFilterBuilder() - Constructor for class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
 
+
BoundsOnBinomialProportions - Class in org.apache.datasketches.common
+
+
Confidence intervals for binomial proportions.
+
+
BoundsOnRatiosInSampledSets - Class in org.apache.datasketches.common
+
+
This class is used to compute the bounds on the estimate of the ratio |B| / |A|, where: + + |A| is the unknown size of a set A of unique identifiers. + |B| is the unknown size of a subset B of A. + a = |SA| is the observed size of a sample of A + that was obtained by Bernoulli sampling with a known inclusion probability f. + b = |SA ∩ B| is the observed size of a subset + of SA. +
+
+
BoundsOnRatiosInThetaSketchedSets - Class in org.apache.datasketches.thetacommon
+
+
This class is used to compute the bounds on the estimate of the ratio B / A, where: + + A is a Theta Sketch of population PopA. + B is a Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Theta Sketch C, + which acts like a predicate or selection clause. + The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B). + The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B). + The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B). + + Note: The theta of A cannot be greater than the theta of B.
+
+
BoundsOnRatiosInTupleSketchedSets - Class in org.apache.datasketches.thetacommon
+
+
This class is used to compute the bounds on the estimate of the ratio B / A, where: + + A is a Tuple Sketch of population PopA. + B is a Tuple or Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Tuple or Theta Sketch C, + which acts like a predicate or selection clause. + The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B). + The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B). + The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B). + + Note: The theta of A cannot be greater than the theta of B.
+
+
BoundsRule - Enum Class in org.apache.datasketches.partitions
+
+
This instructs the user about which of the upper and lower bounds of a partition definition row + should be included with the returned data.
+
+
build() - Method in class org.apache.datasketches.quantiles.DoublesSketchBuilder
+
+
Returns an UpdateDoublesSketch with the current configuration of this Builder.
+
+
build() - Method in class org.apache.datasketches.quantiles.DoublesUnionBuilder
+
+
Returns a new empty Union object with the current configuration of this Builder.
+
+
build() - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
+
Returns a new ReqSketch with the current configuration of the builder.
+
+
build() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns an UpdateSketch with the current configuration of this Builder.
+
+
build() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
Returns an ArrayOfDoublesUpdatableSketch with the current configuration of this Builder.
+
+
build() - Method in class org.apache.datasketches.tuple.UpdatableSketchBuilder
+
+
Returns an UpdatableSketch with the current configuration of this Builder.
+
+
build(Family) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Returns a SetOperation with the current configuration of this Builder and the given Family.
+
+
build(Family, WritableMemory) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Returns a SetOperation with the current configuration of this Builder, the given Family + and the given destination memory.
+
+
build(WritableMemory) - Method in class org.apache.datasketches.quantiles.DoublesSketchBuilder
+
+
Returns a quantiles UpdateDoublesSketch with the current configuration of this builder + and the specified backing destination Memory store.
+
+
build(WritableMemory) - Method in class org.apache.datasketches.quantiles.DoublesUnionBuilder
+
+
Returns a new empty Union object with the current configuration of this Builder + and the specified backing destination Memory store.
+
+
build(WritableMemory) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns an UpdateSketch with the current configuration of this Builder + with the specified backing destination Memory store.
+
+
build(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
Returns an ArrayOfDoublesUpdatableSketch with the current configuration of this Builder.
+
+
buildAnotB() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Creates an instance of ArrayOfDoublesAnotB based on the current configuration of the builder.
+
+
buildANotB() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Convenience method, returns a configured SetOperation ANotB with + Default Update Seed
+
+
builder() - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns a new builder
+
+
builder() - Static method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns a new UnionBuilder
+
+
builder() - Static method in class org.apache.datasketches.req.ReqSketch
+
+
Returns a new ReqSketchBuilder
+
+
builder() - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Makes a new builder
+
+
builder() - Static method in class org.apache.datasketches.theta.UpdateSketch
+
+
Returns a new builder
+
+
buildIntersection() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Convenience method, returns a configured SetOperation Intersection with + Default Nominal Entries
+
+
buildIntersection() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Creates an instance of ArrayOfDoublesIntersection based on the current configuration of the + builder.
+
+
buildIntersection(WritableMemory) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Convenience method, returns a configured SetOperation Intersection with + Default Nominal Entries + and the given destination memory.
+
+
buildIntersection(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Creates an instance of ArrayOfDoublesIntersection based on the current configuration of the + builder.
+
+
buildLocal(UpdateSketch) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns a local, on-heap, concurrent UpdateSketch to be used as a per-thread local buffer + along with the given concurrent shared UpdateSketch and the current configuration of this + Builder.
+
+
buildShared() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns an on-heap concurrent shared UpdateSketch with the current configuration of the + Builder.
+
+
buildShared(WritableMemory) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current + configuration of the Builder and the given destination WritableMemory.
+
+
buildSharedFromSketch(UpdateSketch, WritableMemory) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current + configuration of the Builder, the data from the given sketch, and the given destination + WritableMemory.
+
+
buildUnion() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Convenience method, returns a configured SetOperation Union with + Default Nominal Entries
+
+
buildUnion() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder.
+
+
buildUnion(WritableMemory) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Convenience method, returns a configured SetOperation Union with + Default Nominal Entries + and the given destination memory.
+
+
buildUnion(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder + and the given destination memory.
+
+
ByteArrayUtil - Class in org.apache.datasketches.common
+
+
Useful methods for byte arrays.
+
+
ByteArrayUtil() - Constructor for class org.apache.datasketches.common.ByteArrayUtil
+
 
+
bytesToInt(byte[]) - Static method in class org.apache.datasketches.common.Util
+
+
Returns an int extracted from a Little-Endian byte array.
+
+
bytesToLong(byte[]) - Static method in class org.apache.datasketches.common.Util
+
+
Returns a long extracted from a Little-Endian byte array.
+
+
bytesToString(byte[], boolean, boolean, String) - Static method in class org.apache.datasketches.common.Util
+
+
Returns a string view of a byte array
+
+
+

C

+
+
caseIdToCornerCase(int) - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Converts caseId to CornerCaseId
+
+
ceilingPowerBaseOfDouble(double, double) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the ceiling of a given n given a base, where the ceiling is an integral power of the base.
+
+
ceilingPowerOf2(int) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the int ceiling power of 2 within the range [1, 2^30].
+
+
ceilingPowerOf2(long) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the long ceiling power of 2 within the range [1, 2^62].
+
+
characterPad(String, int, char, boolean) - Static method in class org.apache.datasketches.common.Util
+
+
Prepend or postpend the given string with the given character to fill the given field length.
+
+
checkBounds(long, long, long) - Static method in class org.apache.datasketches.common.Util
+
+
Check the requested offset and length against the allocated size.
+
+
checkDoublesSplitPointsOrder(double[]) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Checks the sequential validity of the given array of double values.
+
+
checkFamilyID(int) - Method in enum class org.apache.datasketches.common.Family
+
 
+
checkFloatsSplitPointsOrder(float[]) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Checks the sequential validity of the given array of float values.
+
+
checkHashCorruption(long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
 
+
checkIfMultipleOf8AndGT0(long, String) - Static method in class org.apache.datasketches.common.Util
+
+
Checks if parameter v is a multiple of 8 and greater than zero.
+
+
checkIfPowerOf2(long, String) - Static method in class org.apache.datasketches.common.Util
+
+
Checks the given long argument if it is a positive integer power of 2.
+
+
checkLongsSplitPointsOrder(long[]) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Checks the sequential validity of the given array of double values.
+
+
checkNomLongs(int) - Static method in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
Checks that the given nomLongs is within bounds and returns the Log2 of the ceiling power of 2 + of the given nomLongs.
+
+
checkNormalizedRankBounds(double) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Checks that the given normalized rank: 0 ≤ nRank ≤ 1.0.
+
+
checkProbability(double, String) - Static method in class org.apache.datasketches.common.Util
+
+
Checks the given parameter to make sure it is positive and between 0.0 inclusive and 1.0 + inclusive.
+
+
checkSeedHashes(short, short) - Static method in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
Check if the two seed hashes are equal.
+
+
checkSeedHashes(short, short) - Static method in class org.apache.datasketches.tuple.Util
+
+
Checks the two given seed hashes.
+
+
checkThetaCorruption(long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
 
+
ClassicUtil - Class in org.apache.datasketches.quantiles
+
+
Utilities for the classic quantiles sketches and independent of the type.
+
+
combine(double[], double[]) - Method in interface org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCombiner
+
+
Method of combining two arrays of double values
+
+
compact() - Method in class org.apache.datasketches.quantiles.UpdateDoublesSketch
+
 
+
compact() - Method in class org.apache.datasketches.theta.Sketch
+
+
Converts this sketch to a ordered CompactSketch.
+
+
compact() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
compact() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Gets an on-heap compact representation of the sketch
+
+
compact() - Method in class org.apache.datasketches.tuple.CompactSketch
+
 
+
compact() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Converts the current state of the sketch into a compact sketch
+
+
compact() - Method in class org.apache.datasketches.tuple.Sketch
+
+
Converts this sketch to a CompactSketch on the Java heap.
+
+
compact(boolean, WritableMemory) - Method in class org.apache.datasketches.theta.CompactSketch
+
 
+
compact(boolean, WritableMemory) - Method in class org.apache.datasketches.theta.Sketch
+
+
Convert this sketch to a CompactSketch.
+
+
compact(boolean, WritableMemory) - Method in class org.apache.datasketches.theta.UpdateSketch
+
 
+
compact(WritableMemory) - Method in class org.apache.datasketches.quantiles.UpdateDoublesSketch
+
+
Returns a compact version of this sketch.
+
+
compact(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
compact(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Gets an off-heap compact representation of the sketch using the given memory
+
+
COMPACT - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Compact Sketch family is a member of the Theta Sketch Framework of sketches.
+
+
COMPACT_EMPTY - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
Compact Empty Structure
+
+
COMPACT_FULL - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
Compact Full Preamble Structure
+
+
COMPACT_SINGLE - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
Compact Single Item Structure
+
+
CompactDoublesSketch - Class in org.apache.datasketches.quantiles
+
+
Compact sketches are inherently read only.
+
+
CompactSketch - Class in org.apache.datasketches.theta
+
+
The parent class of all the CompactSketches.
+
+
CompactSketch<S extends Summary> - Class in org.apache.datasketches.tuple
+
+
CompactSketches are never created directly.
+
+
CompactSketch - Enum constant in enum class org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
CompactSketch
+
+
CompactSketch() - Constructor for class org.apache.datasketches.theta.CompactSketch
+
 
+
compareTo(Group) - Method in class org.apache.datasketches.fdt.Group
+
 
+
compareTo(ItemsSketch.Row<T>) - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
+
This compareTo is strictly limited to the Row.getEstimate() value and does not imply any + ordering whatsoever to the other elements of the row: item and upper and lower bounds.
+
+
compareTo(LongsSketch.Row) - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
+
This compareTo is strictly limited to the Row.getEstimate() value and does not imply any + ordering whatsoever to the other elements of the row: item and upper and lower bounds.
+
+
CompressionCharacterization - Class in org.apache.datasketches.cpc
+
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+
CompressionCharacterization(int, int, int, int, int, int, int, PrintStream, PrintWriter) - Constructor for class org.apache.datasketches.cpc.CompressionCharacterization
+
+
Only used in test.
+
+
computeBytesNeeded(int) - Static method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
+
Computes number of bytes needed for packed bit encoding of the array of booleans.
+
+
computeKSDelta(QuantilesDoublesAPI, QuantilesDoublesAPI) - Static method in class org.apache.datasketches.quantilescommon.KolmogorovSmirnov
+
+
Computes the raw delta between two QuantilesDoublesAPI sketches for the kolmogorovSmirnovTest(...) method.
+
+
computeKSDelta(QuantilesFloatsAPI, QuantilesFloatsAPI) - Static method in class org.apache.datasketches.quantilescommon.KolmogorovSmirnov
+
+
Computes the raw delta between two QuantilesFloatsAPI sketches for the kolmogorovSmirnovTest(...) method.
+
+
computeKSThreshold(QuantilesAPI, QuantilesAPI, double) - Static method in class org.apache.datasketches.quantilescommon.KolmogorovSmirnov
+
+
Computes the adjusted delta height threshold for the kolmogorovSmirnovTest(...) method.
+
+
computeSeedHash(long) - Static method in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
Computes and checks the 16-bit seed hash from the given long seed.
+
+
computeSeedHash(long) - Static method in class org.apache.datasketches.tuple.Util
+
+
Computes and checks the 16-bit seed hash from the given long seed.
+
+
ConcurrentBufferInserted - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was inserted into the local concurrent buffer, + but has not yet been propagated to the concurrent shared sketch.
+
+
ConcurrentPropagated - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash has been propagated to the concurrent shared sketch.
+
+
continueCondition(long, long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
Return true (continue) if hash is greater than or equal to thetaLong, or if hash == 0, + or if hash == Long.MAX_VALUE.
+
+
convertToHashTable(long[], int, long, double) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
Converts the given array to a hash table.
+
+
copy() - Method in class org.apache.datasketches.fdt.FdtSketch
+
 
+
copy() - Method in class org.apache.datasketches.hll.HllSketch
+
+
Return a copy of this sketch onto the Java heap.
+
+
copy() - Method in class org.apache.datasketches.tuple.adouble.DoubleSummary
+
 
+
copy() - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummary
+
 
+
copy() - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch
+
 
+
copy() - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummary
+
 
+
copy() - Method in interface org.apache.datasketches.tuple.Summary
+
+
Deep copy.
+
+
copy() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
 
+
copyAs(TgtHllType) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Return a deep copy of this sketch onto the Java heap with the specified TgtHllType.
+
+
copyBytes(byte[], int, byte[], int, int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Copies bytes from source to target with offsets on both the source and target.
+
+
copySummaryArray(S[]) - Static method in class org.apache.datasketches.tuple.Util
+
+
Will copy compact summary arrays as well as hashed summary tables (with nulls).
+
+
count(long[], long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
Counts the cardinality of the given source array.
+
+
COUNTMIN - Enum constant in enum class org.apache.datasketches.common.Family
+
+
CountMin Sketch
+
+
countPart(long[], int, long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
Counts the cardinality of the first Log2 values of the given source array.
+
+
CPC - Enum constant in enum class org.apache.datasketches.common.Family
+
+
Compressed Probabilistic Counting (CPC) Sketch
+
+
CpcSketch - Class in org.apache.datasketches.cpc
+
+
This is a unique-counting sketch that implements the + Compressed Probabilistic Counting (CPC, a.k.a FM85) algorithms developed by Kevin Lang in + his paper + Back to the Future: an Even More Nearly + Optimal Cardinality Estimation Algorithm.
+
+
CpcSketch() - Constructor for class org.apache.datasketches.cpc.CpcSketch
+
+
Constructor with default log_base2 of k
+
+
CpcSketch(int) - Constructor for class org.apache.datasketches.cpc.CpcSketch
+
+
Constructor with log_base2 of k.
+
+
CpcSketch(int, long) - Constructor for class org.apache.datasketches.cpc.CpcSketch
+
+
Constructor with log_base2 of k and seed.
+
+
CpcUnion - Class in org.apache.datasketches.cpc
+
+
The union (merge) operation for the CPC sketches.
+
+
CpcUnion() - Constructor for class org.apache.datasketches.cpc.CpcUnion
+
+
Construct this unioning object with the default LgK and the default update seed.
+
+
CpcUnion(int) - Constructor for class org.apache.datasketches.cpc.CpcUnion
+
+
Construct this unioning object with LgK and the default update seed.
+
+
CpcUnion(int, long) - Constructor for class org.apache.datasketches.cpc.CpcUnion
+
+
Construct this unioning object with LgK and a given seed.
+
+
CpcWrapper - Class in org.apache.datasketches.cpc
+
+
This provides a read-only view of a serialized image of a CpcSketch, which can be + on-heap or off-heap represented as a Memory object, or on-heap represented as a byte array.
+
+
CpcWrapper(byte[]) - Constructor for class org.apache.datasketches.cpc.CpcWrapper
+
+
Construct a read-only view of the given byte array that contains a CpcSketch.
+
+
CpcWrapper(Memory) - Constructor for class org.apache.datasketches.cpc.CpcWrapper
+
+
Construct a read-only view of the given Memory that contains a CpcSketch
+
+
createByAccuracy(long, double) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function.
+
+
createByAccuracy(long, double, long) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function.
+
+
createBySize(long, int) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Creates a BloomFilter with given number of bits and number of hash functions, + using a rnadom base seed for the hash function.
+
+
createBySize(long, int, long) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Creates a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function.
+
+
createCornerCaseId(long, int, boolean, long, int, boolean) - Static method in class org.apache.datasketches.thetacommon.SetOperationCornerCases
+
+
Creates the CornerCase ID
+
+
createEmptySketch() - Static method in class org.apache.datasketches.tuple.Sketches
+
 
+
cumWeights - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.DoublesPair
+
+
the array of associated cumulative weights
+
+
cumWeights - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.FloatsPair
+
+
The array of associated cumulative weights
+
+
cumWeights - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.ItemsPair
+
+
The array of associated cumulative weights
+
+
cumWeights - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.LongsPair
+
+
the array of associated cumulative weights
+
+
+

D

+
+
DEFAULT_HLL_TYPE - Static variable in class org.apache.datasketches.hll.HllSketch
+
+
The default HLL-TYPE is HLL_4
+
+
DEFAULT_K - Static variable in class org.apache.datasketches.kll.KllSketch
+
+
The default K
+
+
DEFAULT_K - Static variable in class org.apache.datasketches.tdigest.TDigestDouble
+
+
the default value of K if one is not specified
+
+
DEFAULT_LG_K - Static variable in class org.apache.datasketches.cpc.CpcSketch
+
+
The default Log_base2 of K
+
+
DEFAULT_LG_K - Static variable in class org.apache.datasketches.hll.HllSketch
+
+
The default Log_base2 of K
+
+
DEFAULT_NOMINAL_ENTRIES - Static variable in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
The default nominal entries is provided as a convenience for those cases where the + nominal sketch size in number of entries is not provided.
+
+
DEFAULT_NOMINAL_ENTRIES - Static variable in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Default Nominal Entries (a.k.a.
+
+
DEFAULT_NUMBER_OF_VALUES - Static variable in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Default number of values
+
+
DEFAULT_UPDATE_SEED - Static variable in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
The seed 9001 used in the sketch update methods is a prime number that + was chosen very early on in experimental testing.
+
+
Degen_Degen - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Degen_Degen
+
+
Degen_Empty - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Degen_Empty
+
+
Degen_Estimation - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Degen_Estimation
+
+
Degen_Exact - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Degen_Exact
+
+
DEGEN_MIN_0_F - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Degenerate{MinTheta, 0, F}
+
+
DEGEN_MIN_0_F - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
Degenerate{MinTheta, 0, F}
+
+
DEGEN_MIN_0_F - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Degenerate{MinTheta, 0, F}
+
+
DEGEN_THA_0_F - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Degenerate{ThetaA, 0, F}
+
+
DEGEN_THA_0_F - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Degenerate{ThetaA, 0, F}
+
+
DEGEN_THB_0_F - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Degenerate{ThetaB, 0, F}
+
+
desc(double[], int, int, double, int) - Method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Optional call that describes the details of the results of the search.
+
+
desc(float[], int, int, float, int) - Method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Optional call that describes the details of the results of the search.
+
+
desc(long[], int, int, double, int) - Method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Optional call that describes the details of the results of the search.
+
+
desc(long[], int, int, long, int) - Method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Optional call that describes the details of the results of the search.
+
+
deserializeFromMemory(Memory, int) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
deserializeFromMemory(Memory, int) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
deserializeFromMemory(Memory, int) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
+
+
deserializeFromMemory(Memory, int) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
deserializeFromMemory(Memory, int) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
deserializeFromMemory(Memory, int) - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
deserializeFromMemory(Memory, int) - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
deserializeFromMemory(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
deserializeFromMemory(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
deserializeFromMemory(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
+
+
deserializeFromMemory(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
deserializeFromMemory(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
deserializeFromMemory(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
deserializeFromMemory(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
DeserializeResult<T> - Class in org.apache.datasketches.tuple
+
+
Returns an object and its size in bytes as a result of a deserialize operation
+
+
DeserializeResult(T, int) - Constructor for class org.apache.datasketches.tuple.DeserializeResult
+
+
Creates an instance.
+
+
DirectBitArrayR - Class in org.apache.datasketches.filters.bloomfilter
+
+
This class can maintain the BitArray object off-heap.
+
+
dissimilarityTest(Sketch, Sketch, double) - Static method in class org.apache.datasketches.theta.JaccardSimilarity
+
+
Tests dissimilarity of a measured Sketch against an expected Sketch.
+
+
dissimilarityTest(Sketch<S>, Sketch, S, SummarySetOperations<S>, double) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Tests dissimilarity of a measured Sketch against an expected Sketch.
+
+
dissimilarityTest(Sketch<S>, Sketch<S>, SummarySetOperations<S>, double) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Tests dissimilarity of a measured Sketch against an expected Sketch.
+
+
DOUBLES_SKETCH - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
KllDoublesSketch
+
+
DoubleSketch - Class in org.apache.datasketches.tuple.adouble
+
 
+
DoubleSketch(int, int, float, DoubleSummary.Mode) - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSketch
+
+
Creates this sketch with the following parameters:
+
+
DoubleSketch(int, DoubleSummary.Mode) - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSketch
+
+
Constructs this sketch with given lgK.
+
+
DoubleSketch(Memory, DoubleSummary.Mode) - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSketch
+
+
Deprecated. +
As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
+
+
+
DoublesPair(double[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.IncludeMinMax.DoublesPair
+
+
Constructor.
+
+
DoublesSketch - Class in org.apache.datasketches.quantiles
+
+
This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using doubles, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
+
+
DoublesSketchBuilder - Class in org.apache.datasketches.quantiles
+
+
For building a new quantiles DoublesSketch.
+
+
DoublesSketchBuilder() - Constructor for class org.apache.datasketches.quantiles.DoublesSketchBuilder
+
+
Constructor for a new DoublesSketchBuilder.
+
+
DoublesSketchIterator - Class in org.apache.datasketches.quantiles
+
+
Iterator over DoublesSketch.
+
+
DoublesSketchSortedView - Class in org.apache.datasketches.quantilescommon
+
+
The SortedView of the Quantiles Classic DoublesSketch and the KllDoublesSketch.
+
+
DoublesSketchSortedView(double[], long[], QuantilesDoublesAPI) - Constructor for class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
+
Construct from elements, also used in testing.
+
+
DoublesSortedView - Interface in org.apache.datasketches.quantilescommon
+
+
The Sorted View for quantile sketches of primitive type double.
+
+
DoublesSortedViewIterator - Class in org.apache.datasketches.quantilescommon
+
+
Iterator over quantile sketches of primitive type double.
+
+
DoublesSortedViewIterator(double[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.DoublesSortedViewIterator
+
+
Constructor.
+
+
DoubleSummary - Class in org.apache.datasketches.tuple.adouble
+
+
Summary for generic tuple sketches of type Double.
+
+
DoubleSummary(DoubleSummary.Mode) - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSummary
+
+
Creates an instance of DoubleSummary with a given mode.
+
+
DoubleSummary.Mode - Enum Class in org.apache.datasketches.tuple.adouble
+
+
The aggregation modes for this Summary
+
+
DoubleSummaryDeserializer - Class in org.apache.datasketches.tuple.adouble
+
 
+
DoubleSummaryDeserializer() - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSummaryDeserializer
+
 
+
DoubleSummaryFactory - Class in org.apache.datasketches.tuple.adouble
+
+
Factory for DoubleSummary.
+
+
DoubleSummaryFactory(DoubleSummary.Mode) - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSummaryFactory
+
+
Creates an instance of DoubleSummaryFactory with a given mode
+
+
DoubleSummarySetOperations - Class in org.apache.datasketches.tuple.adouble
+
+
Methods for defining how unions and intersections of two objects of type DoubleSummary + are performed.
+
+
DoubleSummarySetOperations() - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations
+
+
Creates an instance with default mode of sum for both union and intersection.
+
+
DoubleSummarySetOperations(DoubleSummary.Mode) - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations
+
+
Creates an instance given a DoubleSummary update mode where the mode is the same for both + union and intersection.
+
+
DoubleSummarySetOperations(DoubleSummary.Mode, DoubleSummary.Mode) - Constructor for class org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations
+
+
Creates an instance with two modes.
+
+
DoublesUnion - Class in org.apache.datasketches.quantiles
+
+
The API for Union operations for quantiles DoublesSketches
+
+
DoublesUnion() - Constructor for class org.apache.datasketches.quantiles.DoublesUnion
+
 
+
DoublesUnionBuilder - Class in org.apache.datasketches.quantiles
+
+
For building a new DoublesSketch Union operation.
+
+
DoublesUnionBuilder() - Constructor for class org.apache.datasketches.quantiles.DoublesUnionBuilder
+
+
Constructor for a new DoublesUnionBuilder.
+
+
doubleToLongArray(double) - Static method in class org.apache.datasketches.tuple.Util
+
+
Converts a double to a long[].
+
+
downSample(int) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
From an existing sketch, this creates a new sketch that can have a smaller K.
+
+
downSample(DoublesSketch, int, WritableMemory) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
From an source sketch, create a new sketch that must have a smaller K.
+
+
+

E

+
+
EBPPS - Enum constant in enum class org.apache.datasketches.common.Family
+
+
Exact and Bounded, Probability Proportional to Size (EBPPS)
+
+
EbppsItemsSketch<T> - Class in org.apache.datasketches.sampling
+
+
An implementation of an Exact and Bounded Sampling Proportional to Size sketch.
+
+
EbppsItemsSketch(int) - Constructor for class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Constructor
+
+
emitAdjSecSizeNumSec(byte) - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit adjusting section size and number of sections.
+
+
emitAllHorizList() - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit all horizontal lists
+
+
emitCompactingStart(byte) - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit Compaction Start.
+
+
emitCompactionDetail(int, int, int, int, boolean) - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit Compaction details.
+
+
emitCompactionDone(byte) - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit compaction done and number of compactions so far.
+
+
emitCompressDone() - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit compress done.
+
+
emitMustAddCompactor() - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit Must add compactor
+
+
emitNewCompactor(byte) - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit new compactor configuration
+
+
emitStart(ReqSketch) - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit the start signal
+
+
emitStartCompress() - Method in interface org.apache.datasketches.req.ReqDebug
+
+
Emit Start Compress
+
+
EMPTY_1_0_T - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Empty{1.0, 0, T}
+
+
EMPTY_1_0_T - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
Empty{1.0, 0, T
+
+
EMPTY_1_0_T - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Empty{1.0, 0, T}
+
+
Empty_Degen - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Empty Degen
+
+
Empty_Empty - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Empty Empty
+
+
Empty_Estimation - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Empty Estimation
+
+
Empty_Exact - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Empty Exact
+
+
EMPTY_MSG - Static variable in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
The sketch must not be empty for this operation.
+
+
EQ - Enum constant in enum class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the adjacent pair of + values {A,B} such that A ≤ V ≤ B.
+
+
EQ - Enum constant in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the adjacent pair of + values {A,B} such that A ≤ V ≤ B.
+
+
equallySpacedDoubles(int) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Returns an array of (num + 1) values that define equally sized intervals between 0.0, inclusive, and 1.0, + inclusive.
+
+
equallySpacedLongs(long, long, int) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Returns an array of (num + 1) longs that define, approximately, equally spaced intervals between the given + max, inclusive, and min, inclusive.
+
+
equals(Object) - Method in class org.apache.datasketches.fdt.Group
+
 
+
equals(Object) - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
+
This equals is computed only from the Row.getEstimate() value and does not imply equality + of the other items within the row: item and upper and lower bounds.
+
+
equals(Object) - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
+
This equals is computed only from the Row.getEstimate() value and does not imply equality + of the other items within the row: item and upper and lower bounds.
+
+
equals(Object) - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummary
+
 
+
erf(double) - Static method in class org.apache.datasketches.common.BoundsOnBinomialProportions
+
+
Computes an approximation to the erf() function.
+
+
ErrorType - Enum Class in org.apache.datasketches.frequencies
+
+
Specifies one of two types of error regions of the statistical classification Confusion Matrix + that can be excluded from a returned sample of Frequent Items.
+
+
estimateSubsetSum(Predicate<Long>) - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Computes an estimated subset sum from the entire stream for objects matching a given + predicate.
+
+
estimateSubsetSum(Predicate<T>) - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Computes an estimated subset sum from the entire stream for objects matching a given + predicate.
+
+
estimateSubsetSum(Predicate<T>) - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Computes an estimated subset sum from the entire stream for objects matching a given + predicate.
+
+
estimateUnknownP(long, long) - Static method in class org.apache.datasketches.common.BoundsOnBinomialProportions
+
+
Computes an estimate of an unknown binomial proportion.
+
+
Estimation_Degen - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Estimation_Degen
+
+
Estimation_Empty - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Estimation_Empty
+
+
Estimation_Estimation - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Estimation_Estimation
+
+
Estimation_Exact - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Estimation_Exact
+
+
evenlyLogSpaced(double, double, int) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Returns a double array of values between min and max inclusive where the log of the + returned values are evenly spaced.
+
+
evenlySpacedDoubles(double, double, int) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Returns a double array of evenly spaced values between value1, inclusive, and value2 inclusive.
+
+
evenlySpacedFloats(float, float, int) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Returns a float array of evenly spaced values between value1, inclusive, and value2 inclusive.
+
+
Exact_Degen - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Exact Degen
+
+
Exact_Empty - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Exact Empty
+
+
Exact_Estimation - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Exact Estimation
+
+
Exact_Exact - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Exact Exact
+
+
exactLog2OfInt(int) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the log2 of the given int value if it is an exact power of 2 and greater than zero.
+
+
exactLog2OfInt(int, String) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the log2 of the given int value if it is an exact power of 2 and greater than zero.
+
+
exactLog2OfLong(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the log2 of the given long value if it is an exact power of 2 and greater than zero.
+
+
exactLog2OfLong(long, String) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the log2 of the given long value if it is an exact power of 2 and greater than zero.
+
+
exactlyEqual(Sketch, Sketch) - Static method in class org.apache.datasketches.theta.JaccardSimilarity
+
+
Returns true if the two given sketches have exactly the same hash values and the same + theta values.
+
+
exactlyEqual(Sketch<S>, Sketch, S, SummarySetOperations<S>) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Returns true if the two given sketches have exactly the same hash values and the same + theta values.
+
+
exactlyEqual(Sketch<S>, Sketch<S>, SummarySetOperations<S>) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Returns true if the two given sketches have exactly the same hash values and the same + theta values.
+
+
EXCLUSIVE - Enum constant in enum class org.apache.datasketches.quantilescommon.QuantileSearchCriteria
+
+
Definition of EXCLUSIVE getQuantile(r) search:
+ Given rank r, return the quantile of the smallest rank that is + strictly greater than r.
+
+
+

F

+
+
Family - Enum Class in org.apache.datasketches.common
+
+
Defines the various families of sketch and set operation classes.
+
+
FdtSketch - Class in org.apache.datasketches.fdt
+
+
A Frequent Distinct Tuples sketch.
+
+
FdtSketch(double, double) - Constructor for class org.apache.datasketches.fdt.FdtSketch
+
+
Create a new instance of Frequent Distinct Tuples sketch with a size determined by the given + threshold and rse.
+
+
FdtSketch(int) - Constructor for class org.apache.datasketches.fdt.FdtSketch
+
+
Create new instance of Frequent Distinct Tuples sketch with the given + Log-base2 of required nominal entries.
+
+
FdtSketch(FdtSketch) - Constructor for class org.apache.datasketches.fdt.FdtSketch
+
+
Copy Constructor
+
+
filter(Sketch<T>) - Method in class org.apache.datasketches.tuple.Filter
+
+
Filters elements on the provided Sketch
+
+
Filter<T extends Summary> - Class in org.apache.datasketches.tuple
+
+
Class for filtering entries from a Sketch given a Summary
+
+
Filter(Predicate<T>) - Constructor for class org.apache.datasketches.tuple.Filter
+
+
Filter constructor with a Predicate
+
+
find(double[], int, int, double) - Static method in class org.apache.datasketches.quantilescommon.BinarySearch
+
+
Binary Search for the index of the exact double value in the given search range.
+
+
find(double[], int, int, double, InequalitySearch) - Static method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion.
+
+
find(float[], int, int, float) - Static method in class org.apache.datasketches.quantilescommon.BinarySearch
+
+
Binary Search for the index of the exact float value in the given search range.
+
+
find(float[], int, int, float, InequalitySearch) - Static method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Binary Search for the index of the float value in the given search range that satisfies + the given InequalitySearch criterion.
+
+
find(long[], int, int, double, InequalitySearch) - Static method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion.
+
+
find(long[], int, int, long) - Static method in class org.apache.datasketches.quantilescommon.BinarySearch
+
+
Binary Search for the index of the exact long value in the given search range.
+
+
find(long[], int, int, long, InequalitySearch) - Static method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Binary Search for the index of the long value in the given search range that satisfies + the given InequalitySearch criterion.
+
+
find(T[], int, int, T, GenericInequalitySearch.Inequality, Comparator<T>) - Static method in class org.apache.datasketches.quantilescommon.GenericInequalitySearch
+
+
Binary Search for the index of the generic value in the given search range that satisfies + the given Inequality criterion.
+
+
FLOATS_SKETCH - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
KllFloatsSketch
+
+
FloatsPair(float[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.IncludeMinMax.FloatsPair
+
+
Constructor.
+
+
FloatsSketchSortedView - Class in org.apache.datasketches.quantilescommon
+
+
The SortedView for the KllFloatsSketch and the ReqSketch.
+
+
FloatsSketchSortedView(float[], long[], QuantilesFloatsAPI) - Constructor for class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
+
Construct Sorted View.
+
+
FloatsSortedView - Interface in org.apache.datasketches.quantilescommon
+
+
The Sorted View for quantiles of primitive type float.
+
+
FloatsSortedViewIterator - Class in org.apache.datasketches.quantilescommon
+
+
Iterator over quantile sketches of primitive type float.
+
+
FloatsSortedViewIterator(float[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.FloatsSortedViewIterator
+
+
Constructor.
+
+
floorPowerBaseOfDouble(double, double) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the floor of a given n given base, where the floor is an integral power of the base.
+
+
floorPowerOf2(int) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the floor power of 2 given n is in the range [1, 2^31-1].
+
+
floorPowerOf2(long) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the floor power of 2 given n is in the range [1, 2^63-1].
+
+
FREQUENCY - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Frequency family of sketches.
+
+
fromMemory(Memory) - Static method in class org.apache.datasketches.tuple.adouble.DoubleSummary
+
+
Creates an instance of the DoubleSummary given a serialized representation
+
+
fromMemory(Memory) - Static method in class org.apache.datasketches.tuple.aninteger.IntegerSummary
+
+
Creates an instance of the IntegerSummary given a serialized representation
+
+
fromOrdinal(int) - Static method in enum class org.apache.datasketches.hll.TgtHllType
+
+
Convert the typeId to the enum type
+
+
FULL_ANOTB - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Full AnotB
+
+
FULL_INTERSECT - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
Full Intersect
+
+
FULL_UNION - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Full Union
+
+
+

G

+
+
GE - Enum constant in enum class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A < V ≤ B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
GE - Enum constant in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A < V ≤ B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
GenericInequalitySearch - Class in org.apache.datasketches.quantilescommon
+
+
This provides efficient, unique and unambiguous binary searching for inequality comparison criteria + for ordered arrays of values that may include duplicate values.
+
+
GenericInequalitySearch() - Constructor for class org.apache.datasketches.quantilescommon.GenericInequalitySearch
+
 
+
GenericInequalitySearch.Inequality - Enum Class in org.apache.datasketches.quantilescommon
+
+
The enumerator of inequalities
+
+
GenericPartitionBoundaries<T> - Class in org.apache.datasketches.quantilescommon
+
+
This defines the returned results of the getParitionBoundaries() function and + includes the basic methods needed to construct actual partitions.
+
+
GenericPartitionBoundaries(long, T[], long[], double[], T, T, QuantileSearchCriteria) - Constructor for class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Constructor.
+
+
GenericSortedView<T> - Interface in org.apache.datasketches.quantilescommon
+
+
The Sorted View for quantiles of generic type.
+
+
GenericSortedViewIterator<T> - Class in org.apache.datasketches.quantilescommon
+
+
Iterator over quantile sketches of generic type.
+
+
GenericSortedViewIterator(T[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.GenericSortedViewIterator
+
+
Constructor
+
+
get() - Method in interface org.apache.datasketches.theta.HashIterator
+
+
Gets the hash value
+
+
getActionDescription() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Gets the action description
+
+
getActionDescription() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
Gets the Action Description
+
+
getActionDescription() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Gets the action description
+
+
getActionId() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Gets the Action ID
+
+
getActionId() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
Gets the Action ID
+
+
getActionId() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Gets the action ID
+
+
getActiveEntries() - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Returns the number of active, unique keys across all internal maps
+
+
getAnotbAction() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Gets the AnotB action
+
+
getAprioriError(int, long) - Static method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns the estimated a priori error given the maxMapSize for the sketch and the + estimatedTotalStreamWeight.
+
+
getAprioriError(int, long) - Static method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns the estimated a priori error given the maxMapSize for the sketch and the + estimatedTotalStreamWeight.
+
+
getAverageSketchMemoryPerKey() - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Returns the average memory storage per key that is dedicated to sketching the unique counts.
+
+
getBitsUsed() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns the number of bits in the BloomFilter that are set to 1.
+
+
getBoundaries() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Gets an ordered array of boundaries that sequentially define the upper and lower boundaries of partitions.
+
+
getBytes() - Method in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
Gets the item size in bytes.
+
+
getC() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns the expected number of samples returned upon a call to + getResult().
+
+
getCapacity() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns the total number of bits in the BloomFilter.
+
+
getCaseDescription() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Gets the case description
+
+
getCDF(double[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
This is equivalent to getCDF(splitPoints, INCLUSIVE)
+
+
getCDF(double[]) - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Returns an approximation to the Cumulative Distribution Function (CDF), which is the + cumulative analog of the PMF, of the input stream given a set of split points.
+
+
getCDF(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
getCDF(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getCDF(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getCDF(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getCDF(float[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
This is equivalent to getCDF(splitPoints, INCLUSIVE)
+
+
getCDF(float[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
getCDF(float[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getCDF(float[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getCDF(float[], QuantileSearchCriteria) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getCDF(long[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
This is equivalent to getCDF(splitPoints, INCLUSIVE)
+
+
getCDF(long[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
getCDF(long[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getCDF(long[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getCDF(T[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
This is equivalent to getCDF(splitPoints, INCLUSIVE)
+
+
getCDF(T[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getCDF(T[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getCDF(T[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getCDF(T[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getClassOfT() - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
getClassOfT() - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
getClassOfT() - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Returns the concrete class of type T
+
+
getClassOfT() - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
getClassOfT() - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
getClassOfT() - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
getClassOfT() - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
getClassOfT() - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getClassOfT() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getClassOfT() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
 
+
getCompactBytes() - Method in class org.apache.datasketches.theta.CompactSketch
+
 
+
getCompactBytes() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns the number of storage bytes required for this Sketch if its current state were + compacted.
+
+
getCompactBytes() - Method in class org.apache.datasketches.theta.UpdateSketch
+
 
+
getCompactSerialiedSizeBytes(int, long) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns the number of bytes a DoublesSketch would require to store in compact form + given k and n.
+
+
getCompactSerializationBytes() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getCompactSerializationBytes() - Method in class org.apache.datasketches.hll.Union
+
 
+
getCompactSketchMaxBytes(int) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Returns the maximum number of storage bytes required for a CompactSketch given the configured + log_base2 of the number of nominal entries, which is a power of 2.
+
+
getCompactSketchMaxBytes(int) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Returns the maximum number of storage bytes required for a CompactSketch given the configured + log_base2 of the number of nominal entries, which is a power of 2.
+
+
getComparator() - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getComparator() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getComparator() - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Gets the Comparator for this generic type.
+
+
getComparator() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getComparator() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Returns the Comparator of T
+
+
getCompositeEstimate() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getCompositeEstimate() - Method in class org.apache.datasketches.hll.Union
+
 
+
getCount() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getCountLessThanThetaLong(long) - Method in class org.apache.datasketches.theta.Sketch
+
+
Gets the number of hash values less than the given theta expressed as a long.
+
+
getCountLessThanThetaLong(long) - Method in class org.apache.datasketches.tuple.CompactSketch
+
 
+
getCountLessThanThetaLong(long) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
 
+
getCountLessThanThetaLong(long) - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the number of hash values less than the given theta expressed as a long.
+
+
getCumulativeWeight() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns the cumulative weight of items processed by the sketch.
+
+
getCumulativeWeights() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getCumulativeWeights() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getCumulativeWeights() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getCumulativeWeights() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getCumulativeWeights() - Method in interface org.apache.datasketches.quantilescommon.SortedView
+
+
Returns the array of cumulative weights from the sketch.
+
+
getCurrentBytes() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns the number of storage bytes required for this sketch in its current state.
+
+
getCurrentBytes() - Method in class org.apache.datasketches.theta.Union
+
+
Returns the number of storage bytes required for this union in its current state.
+
+
getCurrentBytes() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCompactSketch
+
 
+
getCurrentBytes() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
For compact sketches this is the same as getMaxBytes().
+
+
getCurrentCapacity() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Get current capacity
+
+
getCurrentCompactSerializedSizeBytes() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns the current number of bytes this sketch would require to store in the compact Memory Format.
+
+
getCurrentMapCapacity() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns the current number of counters the sketch is configured to support.
+
+
getCurrentMapCapacity() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns the current number of counters the sketch is configured to support.
+
+
getCurrentUpdatableSerializedSizeBytes() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns the current number of bytes this sketch would require to store in the updatable Memory Format.
+
+
getDoubleBE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a double from the given byte array starting at the given offset + in big endian order.
+
+
getDoubleLE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a double from the given byte array starting at the given offset + in little endian order.
+
+
getEffectiveK() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns the effective k of this Union.
+
+
getEffectiveK() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Returns the effective k of this Union.
+
+
getEpsilon(int) - Static method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns epsilon used to compute a priori error.
+
+
getEpsilon(int) - Static method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns epsilon used to compute a priori error.
+
+
getEstimate() - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Returns the best estimate of the cardinality of the sketch.
+
+
getEstimate() - Method in class org.apache.datasketches.cpc.CpcWrapper
+
+
Returns the best estimate of the cardinality of the sketch.
+
+
getEstimate() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getEstimate() - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
 
+
getEstimate() - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
 
+
getEstimate() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getEstimate() - Method in class org.apache.datasketches.hll.Union
+
 
+
getEstimate() - Method in class org.apache.datasketches.sampling.SampleSubsetSummary
+
 
+
getEstimate() - Method in class org.apache.datasketches.theta.Sketch
+
+
Gets the unique count estimate.
+
+
getEstimate() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Estimates the cardinality of the set (number of unique values presented to the sketch)
+
+
getEstimate() - Method in class org.apache.datasketches.tuple.Sketch
+
+
Estimates the cardinality of the set (number of unique values presented to the sketch)
+
+
getEstimate(byte[]) - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Retrieves the current estimate of unique count for a given key.
+
+
getEstimate(int) - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the estimate of the true distinct population of subset tuples represented by the count + of entries in a subset of the total retained entries of the sketch.
+
+
getEstimate(long) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Gets the estimate of the frequency of the given item.
+
+
getEstimate(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Gets the unique count estimate from a valid memory image of a Sketch
+
+
getEstimate(T) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Gets the estimate of the frequency of the given item.
+
+
getEstimateOfA(long, double) - Static method in class org.apache.datasketches.common.BoundsOnRatiosInSampledSets
+
+
Return the estimate of A.
+
+
getEstimateOfB(long, double) - Static method in class org.apache.datasketches.common.BoundsOnRatiosInSampledSets
+
+
Return the estimate of B.
+
+
getEstimateOfBoverA(long, long) - Static method in class org.apache.datasketches.common.BoundsOnRatiosInSampledSets
+
+
Return the estimate of b over a
+
+
getEstimateOfBoverA(Sketch, Sketch) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInThetaSketchedSets
+
+
Gets the estimate for B over A
+
+
getEstimateOfBoverA(Sketch<S>, Sketch) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+
+
Gets the estimate for B over A
+
+
getEstimateOfBoverA(Sketch<S>, Sketch<S>) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+
+
Gets the estimate for B over A
+
+
getFamily() - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return the DataSketches identifier for this CPC family of sketches.
+
+
getFamily() - Static method in class org.apache.datasketches.cpc.CpcUnion
+
+
Return the DataSketches identifier for this CPC family of sketches.
+
+
getFamily() - Static method in class org.apache.datasketches.cpc.CpcWrapper
+
+
Return the DataSketches identifier for this CPC family of sketches.
+
+
getFamily() - Method in class org.apache.datasketches.theta.AnotB
+
 
+
getFamily() - Method in class org.apache.datasketches.theta.CompactSketch
+
 
+
getFamily() - Method in class org.apache.datasketches.theta.Intersection
+
 
+
getFamily() - Method in class org.apache.datasketches.theta.SetOperation
+
+
Gets the Family of this SetOperation
+
+
getFamily() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns the Family that this sketch belongs to
+
+
getFamily() - Method in class org.apache.datasketches.theta.Union
+
 
+
getFamily() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns the Family
+
+
getFamilyName() - Method in enum class org.apache.datasketches.common.Family
+
+
Returns the name for this family
+
+
getFillPercentage() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns the percentage of all bits in the BloomFilter set to 1.
+
+
getFloatBE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a float from the given byte array starting at the given offset + in big endian order.
+
+
getFloatLE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a float from the given byte array starting at the given offset + in little endian order.
+
+
getFraction() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getFrequentItems(long, ErrorType) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given a threshold and an ErrorCondition.
+
+
getFrequentItems(long, ErrorType) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given a threshold and an ErrorCondition.
+
+
getFrequentItems(ErrorType) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given an ErrorCondition and the default threshold.
+
+
getFrequentItems(ErrorType) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given an ErrorCondition and the default threshold.
+
+
getGroupCount() - Method in class org.apache.datasketches.fdt.PostProcessor
+
+
Returns the number of groups in the final sketch.
+
+
getGroupList(int[], int, int) - Method in class org.apache.datasketches.fdt.PostProcessor
+
+
Return the most frequent Groups associated with Primary Keys based on the size of the groups.
+
+
getHash() - Method in class org.apache.datasketches.tuple.TupleSketchIterator
+
+
Gets the hash from the current entry in the sketch, which is a hash + of the original key passed to update().
+
+
getHeader() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getHighRankAccuracy() - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
+
Gets the builder configured High Rank Accuracy.
+
+
getHighRankAccuracyMode() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getId() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Gets the case ID
+
+
getID() - Method in enum class org.apache.datasketches.common.Family
+
+
Returns the byte ID for this family
+
+
getInstance(Class<T>, int, Comparator<? super T>) - Static method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Obtains a new instance of an ItemsSketch.
+
+
getInstance(Class<T>, int, Comparator<? super T>) - Static method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Create an instance of ItemsUnion
+
+
getInstance(Class<T>, Comparator<? super T>) - Static method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Obtains a new instance of an ItemsSketch using the DEFAULT_K.
+
+
getInstance(Class<T>, Comparator<? super T>) - Static method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Create an instance of ItemsUnion with the default k
+
+
getInstance(Class<T>, Memory, Comparator<? super T>, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Heapifies the given srcMem, which must be a Memory image of a ItemsSketch
+
+
getInstance(Class<T>, Memory, Comparator<? super T>, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Heapify the given srcMem into a Union object.
+
+
getInstance(String) - Static method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns a sketch instance of this class from the given String, + which must be a String representation of this sketch class.
+
+
getInstance(Memory) - Static method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
+
+
getInstance(Memory, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
+
+
getInstance(ItemsSketch<T>) - Static method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Create an instance of ItemsUnion based on ItemsSketch
+
+
getIntBE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a int from the given byte array starting at the given offset + in big endian order.
+
+
getIntersectAction() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Gets the intersect action
+
+
getIntLE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a int from the given byte array starting at the given offset + in little endian order.
+
+
getItem() - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
 
+
getItem() - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
 
+
getItem() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples.WeightedSample
+
+
Accesses the iterator's current object
+
+
getK() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getK() - Method in class org.apache.datasketches.quantiles.DoublesSketchBuilder
+
+
Gets the current configured k
+
+
getK() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getK() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
+
+
getK() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getK() - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
+
Gets the builder configured k.
+
+
getK() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns the configured maximum sample size.
+
+
getK() - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns the sketch's value of k, the maximum number of samples stored in the + reservoir.
+
+
getK() - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns the sketch's value of k, the maximum number of samples stored in the reservoir.
+
+
getK() - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns the sketch's value of k, the maximum number of samples stored in the + sketch.
+
+
getK() - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
 
+
getKey() - Method in interface org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketchIterator
+
+
Gets a key from the current entry in the sketch, which is a hash + of the original key passed to update().
+
+
getKeyMemoryUsageBytes() - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Returns total bytes used for key storage
+
+
getKFromEpsilon(double, boolean) - Static method in class org.apache.datasketches.kll.KllSketch
+
+
Gets the approximate k to use given epsilon, the normalized rank error.
+
+
getKFromEpsilon(double, boolean) - Static method in class org.apache.datasketches.quantiles.ClassicUtil
+
+
Used by Classic Quantiles.
+
+
getKFromEpsilon(double, boolean) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Gets the approximate k to use given epsilon, the normalized rank error.
+
+
getKFromEpsilon(double, boolean) - Static method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Gets the approximate k to use given epsilon, the normalized rank error.
+
+
getLgConfigK() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getLgConfigK() - Method in class org.apache.datasketches.hll.Union
+
+
Gets the effective lgConfigK for the union operator, which may be less than + lgMaxK.
+
+
getLgK() - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return the parameter LgK.
+
+
getLgK() - Method in class org.apache.datasketches.cpc.CpcUnion
+
+
Returns the current value of Log_base2 of K.
+
+
getLgK() - Method in class org.apache.datasketches.cpc.CpcWrapper
+
+
Returns the configured Log_base2 of K of this sketch.
+
+
getLgK() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Get log_base2 of Nominal Entries
+
+
getLgNominalEntries() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Returns Log-base 2 Nominal Entries
+
+
getLgNominalEntries() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns Log-base 2 Nominal Entries
+
+
getLgNomLongs() - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Gets the Log base 2 of the configured nominal entries
+
+
getLocalLgNominalEntries() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns Log-base 2 Nominal Entries for the concurrent local sketch
+
+
getLongBE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a long from the source byte array starting at the given offset + in big endian order.
+
+
getLongLE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a long from the given byte array starting at the given offset + in little endian order.
+
+
getLowerBound() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getLowerBound() - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
 
+
getLowerBound() - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
 
+
getLowerBound() - Method in class org.apache.datasketches.sampling.SampleSubsetSummary
+
 
+
getLowerBound(byte[]) - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Returns the lower bound cardinality with respect to UniqueCountMap.getEstimate(byte[]) associated + with the given key.
+
+
getLowerBound(int) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Returns the best estimate of the lower bound of the confidence interval given kappa, + the number of standard deviations from the mean.
+
+
getLowerBound(int) - Method in class org.apache.datasketches.cpc.CpcWrapper
+
+
Returns the best estimate of the lower bound of the confidence interval given kappa, + the number of standard deviations from the mean.
+
+
getLowerBound(int) - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getLowerBound(int) - Method in class org.apache.datasketches.hll.Union
+
 
+
getLowerBound(int) - Method in class org.apache.datasketches.theta.Sketch
+
+
Gets the approximate lower error bound given the specified number of Standard Deviations.
+
+
getLowerBound(int) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Gets the approximate lower error bound given the specified number of Standard Deviations.
+
+
getLowerBound(int) - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the approximate lower error bound given the specified number of Standard Deviations.
+
+
getLowerBound(int, int) - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the estimate of the lower bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
+
+
getLowerBound(int, Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Gets the approximate lower error bound from a valid memory image of a Sketch + given the specified number of Standard Deviations.
+
+
getLowerBound(long) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Gets the guaranteed lower bound frequency of the given item, which can never be + negative.
+
+
getLowerBound(long, double, int, boolean) - Static method in class org.apache.datasketches.thetacommon.BinomialBoundsN
+
+
Returns the approximate lower bound value
+
+
getLowerBound(T) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Gets the guaranteed lower bound frequency of the given item, which can never be + negative.
+
+
getLowerBoundForBoverA(long, long, double) - Static method in class org.apache.datasketches.common.BoundsOnRatiosInSampledSets
+
+
Return the approximate lower bound based on a 95% confidence interval
+
+
getLowerBoundForBoverA(Sketch, Sketch) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInThetaSketchedSets
+
+
Gets the approximate lower bound for B over A based on a 95% confidence interval
+
+
getLowerBoundForBoverA(Sketch<S>, Sketch) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+
+
Gets the approximate lower bound for B over A based on a 95% confidence interval
+
+
getLowerBoundForBoverA(Sketch<S>, Sketch<S>) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+
+
Gets the approximate lower bound for B over A based on a 95% confidence interval
+
+
getMaxAnotBResultBytes(int) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Returns the maximum number of bytes for the returned CompactSketch, given the + value of nomEntries of the first sketch A of AnotB.
+
+
getMaxAnotBResultBytes(int) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
getMaxBytes() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCompactSketch
+
 
+
getMaxBytes() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
getMaxBytes(int, int) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
 
+
getMaxCompactSketchBytes(int) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Returns the maximum number of storage bytes required for a CompactSketch with the given + number of actual entries.
+
+
getMaxCompactSketchBytes(int) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Returns the maximum number of storage bytes required for a CompactSketch with the given + number of actual entries.
+
+
getMaxConcurrencyError() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Gets the Maximum Concurrency Error
+
+
getMaximumError() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
 
+
getMaximumError() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
 
+
getMaximumMapCapacity() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns the maximum number of counters the sketch is configured to support.
+
+
getMaximumMapCapacity() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns the maximum number of counters the sketch is configured to support.
+
+
getMaxIntersectionBytes(int) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Returns the maximum required storage bytes given a nomEntries parameter for Intersection + operations
+
+
getMaxIntersectionBytes(int) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
getMaxItem() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getMaxItem() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getMaxItem() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getMaxItem() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Returns the maximum item of the stream.
+
+
getMaxItem() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getMaxK() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns the configured maxK of this Union.
+
+
getMaxK() - Method in class org.apache.datasketches.quantiles.DoublesUnionBuilder
+
+
Gets the current configured maxK
+
+
getMaxK() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Returns the configured maxK of this Union.
+
+
getMaxK() - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Returns the maximum allowed reservoir capacity in this union.
+
+
getMaxK() - Method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Returns the maximum allowed reservoir capacity in this union.
+
+
getMaxNumLocalThreads() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Gets the Maximum Number of Local Threads.
+
+
getMaxPartitions() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getMaxPartitions() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
 
+
getMaxPartitions() - Method in interface org.apache.datasketches.quantilescommon.SketchPartitionLimits
+
+
Gets the maximum number of partitions this sketch will support based on the configured size K + and the number of retained values of this sketch.
+
+
getMaxPreLongs() - Method in enum class org.apache.datasketches.common.Family
+
+
Returns the maximum preamble size for this family in longs
+
+
getMaxSerializationBytes(int) - Static method in class org.apache.datasketches.hll.Union
+
+
Returns the maximum size in bytes that this union operator can grow to given a lgK.
+
+
getMaxSerializedBytes(int) - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
The actual size of a compressed CPC sketch has a small random variance, but the following + empirically measured size should be large enough for at least 99.9 percent of sketches.
+
+
getMaxSerializedSizeBytes(int, long, KllSketch.SketchType, boolean) - Static method in class org.apache.datasketches.kll.KllSketch
+
+
Returns upper bound on the serialized size of a KllSketch given the following parameters.
+
+
getMaxUnionBytes() - Method in class org.apache.datasketches.theta.Union
+
+
Returns the maximum required storage bytes for this union.
+
+
getMaxUnionBytes(int) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Returns the maximum required storage bytes given a nomEntries parameter for Union operations
+
+
getMaxUnionBytes(int) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
getMaxUpdatableSerializationBytes(int, TgtHllType) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Returns the maximum size in bytes that this sketch can grow to given lgConfigK.
+
+
getMaxUpdateSketchBytes(int) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Returns the maximum number of storage bytes required for an UpdateSketch with the given + number of nominal entries (power of 2).
+
+
getMaxUpdateSketchBytes(int) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
getMaxValue() - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
 
+
getMemoryRequestServer() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Returns the MemoryRequestServer
+
+
getMemoryRequestServer() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns the MemoryRequestServer
+
+
getMemoryUsageBytes() - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Returns total bytes used by all internal maps
+
+
getMinItem() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getMinItem() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getMinItem() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getMinItem() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Returns the minimum item of the stream.
+
+
getMinItem() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getMinPartitionSizeItems() - Method in interface org.apache.datasketches.quantilescommon.SketchPartitionLimits
+
+
Gets the minimum partition size in items this sketch will support based on the configured size K of this + sketch and the number of retained values of this sketch.
+
+
getMinPreLongs() - Method in enum class org.apache.datasketches.common.Family
+
+
Returns the minimum preamble size for this family in longs
+
+
getMinValue() - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
 
+
getN() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getN() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getN() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getN() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getN() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Gets the length of the input stream offered to the underlying sketch.
+
+
getN() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getN() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getN() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Gets the length of the input stream offered to the sketch..
+
+
getN() - Method in interface org.apache.datasketches.quantilescommon.SketchPartitionLimits
+
+
Gets the length of the input stream offered to the sketch..
+
+
getN() - Method in interface org.apache.datasketches.quantilescommon.SortedView
+
+
Returns the total number of items presented to the sourcing sketch.
+
+
getN() - Method in class org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
Gets the total count of all items presented to the sketch.
+
+
getN() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getN() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns the number of items processed by the sketch, regardless + of item weight.
+
+
getN() - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns the number of items processed from the input stream
+
+
getN() - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns the number of items processed from the input stream
+
+
getN() - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns the number of items processed from the input stream
+
+
getName() - Method in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
Get the name of the associated sketch
+
+
getNaturalRank() - Method in class org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
Gets the natural rank at the current index.
+
+
getNaturalRank(double, long, QuantileSearchCriteria) - Static method in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
Computes the closest Natural Rank from a given Normalized Rank
+
+
getNaturalRank(QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
Gets the natural rank at the current index (or previous index) based on the chosen search criterion.
+
+
getNaturalRanks() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Gets an ordered array of natural ranks of the associated array of partition boundaries utilizing + a specified search criterion.
+
+
getNominalEntries() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Gets the configured nominal number of entries
+
+
getNominalEntries() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Get configured nominal number of entries
+
+
getNormalizedRank() - Method in class org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
Gets the normalized rank at the current index.
+
+
getNormalizedRank(QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
Gets the normalized rank at the current index (or previous index) + based on the chosen search criterion.
+
+
getNormalizedRankError(boolean) - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
getNormalizedRankError(boolean) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getNormalizedRankError(boolean) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getNormalizedRankError(boolean) - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Gets the approximate rank error of this sketch normalized as a fraction between zero and one.
+
+
getNormalizedRankError(boolean) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getNormalizedRankError(int, boolean) - Static method in class org.apache.datasketches.kll.KllSketch
+
+
Gets the normalized rank error given k and pmf.
+
+
getNormalizedRankError(int, boolean) - Static method in class org.apache.datasketches.quantiles.ClassicUtil
+
+
Used by Classic Quantiles.
+
+
getNormalizedRankError(int, boolean) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Gets the normalized rank error given k and pmf.
+
+
getNormalizedRankError(int, boolean) - Static method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Gets the normalized rank error given k and pmf.
+
+
getNormalizedRanks() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Gets an ordered array of normalized ranks of the associated array of partition boundaries utilizing + a specified search criterion.
+
+
getNumActiveItems() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
 
+
getNumActiveItems() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
 
+
getNumDeltaItems() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Gets the number of items to be included for each partition as an array.
+
+
getNumHashes() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns the configured number of hash functions for this BloomFilter
+
+
getNumPartitions() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Gets the number of partitions
+
+
getNumPoolThreads() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Gets the number of background pool threads used for propagation in the concurrent sketches.
+
+
getNumRetained() - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
getNumRetained() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getNumRetained() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getNumRetained() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getNumRetained() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getNumRetained() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getNumRetained() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getNumRetained() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Gets the number of quantiles retained by the sketch.
+
+
getNumRetained() - Method in interface org.apache.datasketches.quantilescommon.SortedView
+
+
Gets the number of quantiles retained by this sorted view.
+
+
getNumRetained() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getNumSamples() - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns the current number of items in the reservoir, which may be smaller than the + reservoir capacity.
+
+
getNumSamples() - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns the current number of items in the reservoir, which may be smaller than the reservoir + capacity.
+
+
getNumSamples() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples
+
+
Returns the length Copies items and weights from the sketch, if necessary, and returns the + length of + any + resulting array.
+
+
getNumSamples() - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns the current number of items in the sketch, which may be smaller than the + sketch capacity.
+
+
getNumValues() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
getObject() - Method in class org.apache.datasketches.tuple.DeserializeResult
+
 
+
getP() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Returns the pre-sampling probability p
+
+
getP() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns the pre-sampling probability p
+
+
getPartitionBoundariesFromNumParts(int) - Method in interface org.apache.datasketches.quantilescommon.PartitioningFeature
+
+
This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition.
+
+
getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.PartitioningFeature
+
+
This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition.
+
+
getPartitionBoundariesFromPartSize(long) - Method in interface org.apache.datasketches.quantilescommon.PartitioningFeature
+
+
This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition.
+
+
getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.PartitioningFeature
+
+
This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition.
+
+
getPMF(double[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
This is equivalent to getPMF(splitPoints, INCLUSIVE)
+
+
getPMF(double[]) - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + given a set of split points.
+
+
getPMF(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
getPMF(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getPMF(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPMF(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPMF(float[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
This is equivalent to getPMF(splitPoints, INCLUSIVE)
+
+
getPMF(float[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
getPMF(float[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPMF(float[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPMF(float[], QuantileSearchCriteria) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getPMF(long[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
This is equivalent to getPMF(splitPoints, INCLUSIVE)
+
+
getPMF(long[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
getPMF(long[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPMF(long[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPMF(T[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
This is equivalent to getPMF(splitPoints, INCLUSIVE)
+
+
getPMF(T[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getPMF(T[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getPMF(T[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPMF(T[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
+
+
getPostProcessor() - Method in class org.apache.datasketches.fdt.FdtSketch
+
+
Returns the PostProcessor that enables multiple queries against the sketch results.
+
+
getPostProcessor(Group, char) - Method in class org.apache.datasketches.fdt.FdtSketch
+
+
Returns the PostProcessor that enables multiple queries against the sketch results.
+
+
getPreInts() - Method in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
gets the Preamble Integers for this Structure.
+
+
getPrimaryKey() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getPropagateOrderedCompact() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Gets the Propagate Ordered Compact flag used with concurrent sketches.
+
+
getQuantile() - Method in class org.apache.datasketches.kll.KllDoublesSketchIterator
+
 
+
getQuantile() - Method in class org.apache.datasketches.kll.KllFloatsSketchIterator
+
 
+
getQuantile() - Method in class org.apache.datasketches.kll.KllItemsSketchIterator
+
 
+
getQuantile() - Method in class org.apache.datasketches.kll.KllLongsSketchIterator
+
 
+
getQuantile() - Method in class org.apache.datasketches.quantiles.DoublesSketchIterator
+
 
+
getQuantile() - Method in class org.apache.datasketches.quantiles.ItemsSketchIterator
+
 
+
getQuantile() - Method in class org.apache.datasketches.quantilescommon.DoublesSortedViewIterator
+
+
Gets the quantile at the current index.
+
+
getQuantile() - Method in class org.apache.datasketches.quantilescommon.FloatsSortedViewIterator
+
+
Gets the quantile at the current index.
+
+
getQuantile() - Method in class org.apache.datasketches.quantilescommon.GenericSortedViewIterator
+
+
Gets the quantile at the current index + This is equivalent to getQuantile(INCLUSIVE).
+
+
getQuantile() - Method in class org.apache.datasketches.quantilescommon.LongsSortedViewIterator
+
+
Gets the quantile at the current index.
+
+
getQuantile() - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesSketchIterator
+
+
Gets the double quantile at the current index.
+
+
getQuantile() - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsSketchIterator
+
+
Gets the float quantile at the current index.
+
+
getQuantile() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericSketchIterator
+
+
Gets the generic quantile at the current index.
+
+
getQuantile() - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsSketchIterator
+
+
Gets the long quantile at the current index.
+
+
getQuantile() - Method in class org.apache.datasketches.req.ReqSketchIterator
+
 
+
getQuantile(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
This is equivalent to getQuantile(rank, INCLUSIVE)
+
+
getQuantile(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
This is equivalent to getQuantile(rank, INCLUSIVE)
+
+
getQuantile(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
This is equivalent to getQuantile(rank, INCLUSIVE)
+
+
getQuantile(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
This is equivalent to getQuantile(rank, INCLUSIVE)
+
+
getQuantile(double) - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Compute approximate quantile value corresponding to the given normalized rank
+
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets the approximate quantile of the given normalized rank and the given search criterion.
+
+
getQuantile(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getQuantile(QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.GenericSortedViewIterator
+
+
Gets the quantile at the current index (or previous index) + based on the chosen search criterion.
+
+
getQuantileLowerBound(double) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getQuantileLowerBound(double) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getQuantileLowerBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double) - Method in class org.apache.datasketches.req.ReqSketch
+
+
Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
+
+
getQuantileLowerBound(double, int) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getQuantiles() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getQuantiles() - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
+
Returns an array of all retained quantiles by the sketch.
+
+
getQuantiles() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getQuantiles() - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
+
Returns an array of all retained quantiles by the sketch.
+
+
getQuantiles() - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Returns the full array of quantiles.
+
+
getQuantiles() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getQuantiles() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getQuantiles() - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
+
Returns an array of all retained quantiles by the sketch.
+
+
getQuantiles(double[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
This is equivalent to getQuantiles(ranks, INCLUSIVE)
+
+
getQuantiles(double[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
This is equivalent to getQuantiles(ranks, INCLUSIVE)
+
+
getQuantiles(double[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
This is equivalent to getQuantiles(ranks, INCLUSIVE)
+
+
getQuantiles(double[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
This is equivalent to getQuantiles(ranks, INCLUSIVE)
+
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
+
Gets an array of quantiles corresponding to the given array of ranks.
+
+
getQuantiles(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets an array of quantiles from the given array of normalized ranks.
+
+
getQuantiles(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets an array of quantiles from the given array of normalized ranks.
+
+
getQuantiles(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets an array of quantiles from the given array of normalized ranks.
+
+
getQuantiles(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets an array of quantiles from the given array of normalized ranks.
+
+
getQuantiles(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getQuantileUpperBound(double) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getQuantileUpperBound(double) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getQuantileUpperBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double) - Method in class org.apache.datasketches.req.ReqSketch
+
+
Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
+
+
getQuantileUpperBound(double, int) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getRange(T, T, BoundsRule) - Method in interface org.apache.datasketches.partitions.SketchFillRequest
+
+
This is a callback request to the data source to fill a quantiles sketch + with a range of data between upper and lower bounds.
+
+
getRank(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
This is equivalent to getRank(quantile, INCLUSIVE)
+
+
getRank(double) - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Compute approximate normalized rank of the given value.
+
+
getRank(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
getRank(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getRank(double, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
getRank(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRank(double, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRank(float) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
This is equivalent to getRank(quantile, INCLUSIVE)
+
+
getRank(float, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
getRank(float, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
getRank(float, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRank(float, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRank(float, QuantileSearchCriteria) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getRank(long) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
This is equivalent to getRank(quantile, INCLUSIVE)
+
+
getRank(long, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
getRank(long, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
getRank(long, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRank(long, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRank(T) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
This is equivalent to getRank(T quantile, INCLUSIVE)
+
+
getRank(T, QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getRank(T, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getRank(T, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRank(T, QuantileSearchCriteria) - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
getRank(T, QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets the normalized rank corresponding to the given a quantile.
+
+
getRankLowerBound(double) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankLowerBound(double) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankLowerBound(double) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankLowerBound(double) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankLowerBound(double) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankLowerBound(double) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getRankLowerBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankLowerBound(double) - Method in class org.apache.datasketches.req.ReqSketch
+
+
Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankLowerBound(double, int) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getRanks(double[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
This is equivalent to getRanks(quantiles, INCLUSIVE)
+
+
getRanks(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
getRanks(double[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getRanks(double[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
+
+
getRanks(float[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
This is equivalent to getRanks(quantiles, INCLUSIVE)
+
+
getRanks(float[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
getRanks(float[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
+
+
getRanks(float[], QuantileSearchCriteria) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getRanks(long[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
This is equivalent to getRanks(quantiles, INCLUSIVE)
+
+
getRanks(long[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
getRanks(long[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
+
+
getRanks(T[]) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
This is equivalent to getRanks(quantiles, INCLUSIVE)
+
+
getRanks(T[], QuantileSearchCriteria) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getRanks(T[], QuantileSearchCriteria) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getRanks(T[], QuantileSearchCriteria) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
+
+
getRankUpperBound(double) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankUpperBound(double) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankUpperBound(double) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankUpperBound(double) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankUpperBound(double) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankUpperBound(double) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getRankUpperBound(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankUpperBound(double) - Method in class org.apache.datasketches.req.ReqSketch
+
+
Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
+
+
getRankUpperBound(double, int) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getRelErr(boolean, boolean, int, int) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Gets the current (approximate) Relative Error (RE) asymptotic values given several + parameters.
+
+
getReqDebug() - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
+
Gets the builder configured ReqDebug
+
+
getResizeFactor() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Returns the Resize Factor
+
+
getResizeFactor() - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Returns the configured ResizeFactor
+
+
getResizeFactor() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns the Resize Factor
+
+
getResizeFactor() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Gets the configured resize factor
+
+
getResizeFactor() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Get configured resize factor
+
+
getResult() - Method in class org.apache.datasketches.cpc.CpcUnion
+
+
Returns the result of union operations as a CPC sketch.
+
+
getResult() - Method in class org.apache.datasketches.hll.Union
+
+
Return the result of this union operator as an HLL_4 sketch.
+
+
getResult() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch.
+
+
getResult() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Gets the result of this Union operation as a copy of the internal state.
+
+
getResult() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns a copy of the current sample.
+
+
getResult() - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Returns a sketch representing the current state of the union.
+
+
getResult() - Method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Returns a sketch representing the current state of the union.
+
+
getResult() - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Gets the varopt sketch resulting from the union of any input sketches.
+
+
getResult() - Method in class org.apache.datasketches.theta.Intersection
+
+
Gets the result of this operation as an ordered CompactSketch on the Java heap.
+
+
getResult() - Method in class org.apache.datasketches.theta.Union
+
+
Gets the result of this operation as an ordered CompactSketch on the Java heap.
+
+
getResult() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotB
+
+
Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch
+
+
getResult() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotBImpl
+
 
+
getResult() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesIntersection
+
+
Gets the internal set as an on-heap compact sketch.
+
+
getResult() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Returns the resulting union in the form of a compact sketch
+
+
getResult() - Method in class org.apache.datasketches.tuple.Intersection
+
+
Gets the internal set as an unordered CompactSketch
+
+
getResult() - Method in class org.apache.datasketches.tuple.Union
+
+
Gets the result of a sequence of stateful union operations as an unordered CompactSketch
+
+
getResult(boolean) - Method in class org.apache.datasketches.theta.AnotB
+
+
Gets the result of the multistep, stateful operation AnotB that have been executed with calls + to AnotB.setA(Sketch) and (AnotB.notB(Sketch) or + AnotB.notB(org.apache.datasketches.theta.Sketch)).
+
+
getResult(boolean) - Method in class org.apache.datasketches.tuple.AnotB
+
+
Gets the result of the multistep, stateful operation AnotB that have been executed with calls + to AnotB.setA(Sketch) and (AnotB.notB(Sketch) or + AnotB.notB(org.apache.datasketches.theta.Sketch)).
+
+
getResult(boolean) - Method in class org.apache.datasketches.tuple.Union
+
+
Gets the result of a sequence of stateful union operations as an unordered CompactSketch.
+
+
getResult(boolean, WritableMemory) - Method in class org.apache.datasketches.theta.Intersection
+
+
Gets the result of this operation as a CompactSketch in the given dstMem.
+
+
getResult(boolean, WritableMemory) - Method in class org.apache.datasketches.theta.Union
+
+
Gets the result of this operation as a CompactSketch of the chosen form.
+
+
getResult(boolean, WritableMemory, boolean) - Method in class org.apache.datasketches.theta.AnotB
+
+
Gets the result of the multistep, stateful operation AnotB that have been executed with calls + to AnotB.setA(Sketch) and (AnotB.notB(Sketch) or + AnotB.notB(org.apache.datasketches.theta.Sketch)).
+
+
getResult(int[], int, int, char) - Method in class org.apache.datasketches.fdt.FdtSketch
+
+
Returns an ordered List of Groups of the most frequent distinct population of subset tuples + represented by the count of entries of each group.
+
+
getResult(TgtHllType) - Method in class org.apache.datasketches.hll.Union
+
+
Return the result of this union operator with the specified TgtHllType
+
+
getResult(WritableMemory) - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Places the result of this Union into the provided memory as an UpdateDoublesSketch, + which enables further update operations on the resulting sketch.
+
+
getResult(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotB
+
+
Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch
+
+
getResult(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotBImpl
+
 
+
getResult(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesIntersection
+
+
Gets the result of stateful intersections so far.
+
+
getResult(WritableMemory) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Returns the resulting union in the form of a compact sketch
+
+
getResultAndReset() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch.
+
+
getResultAndReset() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Gets the result of this Union operation (without a copy) and resets this Union to the + virgin state.
+
+
getRetainedEntries() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns the number of valid entries that have been retained by the sketch.
+
+
getRetainedEntries() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
getRetainedEntries() - Method in class org.apache.datasketches.tuple.CompactSketch
+
 
+
getRetainedEntries() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
 
+
getRetainedEntries() - Method in class org.apache.datasketches.tuple.Sketch
+
 
+
getRetainedEntries(boolean) - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns the number of entries that have been retained by the sketch.
+
+
getRF(int) - Static method in enum class org.apache.datasketches.common.ResizeFactor
+
+
Returns the Resize Factor given the Log-base 2 of the Resize Factor
+
+
getRowHeader() - Static method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
 
+
getRowHeader() - Static method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
 
+
getRse() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getRSE(int, double, boolean, long) - Static method in class org.apache.datasketches.req.ReqSketch
+
+
Returns an a priori estimate of relative standard error (RSE, expressed as a number in [0,1]).
+
+
getSamples() - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a copy of the items in the reservoir, or null if empty.
+
+
getSamples() - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns a copy of the items in the reservoir.
+
+
getSamples(Class<?>) - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a copy of the items in the reservoir as members of Class clazz, or null + if empty.
+
+
getSamplingProbability() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Gets the configured sampling probability
+
+
getSamplingProbability() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Get configured sampling probability
+
+
getSearchCriteria() - Method in class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries
+
+
Gets the search criteria specified for the source sketch
+
+
getSeed() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns the hash seed for this BloomFilter.
+
+
getSeed() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Returns the seed
+
+
getSeed() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Returns the seed
+
+
getSerializationVersion() - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Returns the current serialization version.
+
+
getSerializationVersion(Memory) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Returns the current serialization version of the given Memory.
+
+
getSerializationVersion(Memory) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Returns the serialization version from the given Memory
+
+
getSerializationVersion(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
getSerializedFilterSize(long) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Returns the minimum memory size, in bytes, needed for a serialized BloomFilter with the given number of bits.
+
+
getSerializedFilterSizeByAccuracy(long, double) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Returns the minimum memory size, in bytes, needed for a serialized BloomFilter with an optimal number of bits + and hash functions for the given inputs.
+
+
getSerializedSize(long) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns the serialized length of a non-empty BloomFilter of the given size, in bytes
+
+
getSerializedSizeBytes() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns the length of this BloomFilter when serialized, in bytes
+
+
getSerializedSizeBytes() - Method in class org.apache.datasketches.kll.KllSketch
+
+
Returns the current number of bytes this Sketch would require if serialized in compact form.
+
+
getSerializedSizeBytes() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getSerializedSizeBytes() - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Returns the current number of bytes this Sketch would require if serialized.
+
+
getSerializedSizeBytes() - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Returns the current number of bytes this Sketch would require if serialized.
+
+
getSerializedSizeBytes() - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Returns the current number of bytes this Sketch would require if serialized.
+
+
getSerializedSizeBytes() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getSerializedSizeBytes(ArrayOfItemsSerDe<? super T>) - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns the size of a byte array representation of this sketch.
+
+
getSerializedSizeBytes(ArrayOfItemsSerDe<? super T>, Class<?>) - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns the length of a byte array representation of this sketch.
+
+
getSerVer() - Method in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
gets the Serialization Version for this Structure.
+
+
getShortBE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a short from the given byte array starting at the given offset + in big endian order.
+
+
getShortLE(byte[], int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Get a short from the given byte array starting at the given offset + in little endian order.
+
+
getSize() - Method in class org.apache.datasketches.tuple.DeserializeResult
+
 
+
getSketchSamples() - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Gets a result iterator object.
+
+
getSketchStructure(int, int) - Static method in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
gets the SketchStructure given preInts and serVer.
+
+
getSketchType(Memory) - Static method in class org.apache.datasketches.tuple.SerializerDeserializer
+
+
Gets the sketch type byte from the given Memory image
+
+
getSortedView() - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
getSortedView() - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
getSortedView() - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
getSortedView() - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
getSortedView() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
getSortedView() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
getSortedView() - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets the sorted view of this sketch
+
+
getSortedView() - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets the sorted view of this sketch
+
+
getSortedView() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets the sorted view of this sketch
+
+
getSortedView() - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets the sorted view of this sketch
+
+
getSortedView() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
getStartingCapacity(int, int) - Static method in class org.apache.datasketches.tuple.Util
+
+
Gets the starting capacity of a new sketch given the Nominal Entries and the log Resize Factor.
+
+
getStorageBytes() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns the number of bytes required to store this sketch as an array of bytes.
+
+
getStreamLength() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns the sum of the frequencies in the stream seen so far by the sketch
+
+
getStreamLength() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns the sum of the frequencies (weights or counts) in the stream seen so far by the sketch
+
+
getSummary() - Method in class org.apache.datasketches.tuple.TupleSketchIterator
+
+
Gets a Summary object from the current entry in the sketch.
+
+
getSummaryFactory() - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the Summary Factory class of type S
+
+
getTgtHllType() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getTgtHllType() - Method in class org.apache.datasketches.hll.Union
+
 
+
getTheta() - Method in class org.apache.datasketches.theta.Sketch
+
+
Gets the value of theta as a double with a value between zero and one
+
+
getTheta() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Gets the value of theta as a double between zero and one
+
+
getTheta() - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the value of theta as a double between zero and one
+
+
getThetaLong() - Method in class org.apache.datasketches.theta.Sketch
+
+
Gets the value of theta as a long
+
+
getThetaLong() - Method in class org.apache.datasketches.tuple.Sketch
+
+
Returns Theta as a long
+
+
getTotalSketchWeight() - Method in class org.apache.datasketches.sampling.SampleSubsetSummary
+
 
+
getTotalWeight() - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
 
+
getUnionAction() - Method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Gets the union action
+
+
getUpdatableSerializationBytes() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getUpdatableSerializationBytes() - Method in class org.apache.datasketches.hll.Union
+
 
+
getUpdatableStorageBytes(int, long) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns the number of bytes a sketch would require to store in updatable form.
+
+
getUpperBound() - Method in class org.apache.datasketches.fdt.Group
+
 
+
getUpperBound() - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
 
+
getUpperBound() - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
 
+
getUpperBound() - Method in class org.apache.datasketches.sampling.SampleSubsetSummary
+
 
+
getUpperBound(byte[]) - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Returns the upper bound cardinality with respect to UniqueCountMap.getEstimate(byte[]) associated + with the given key.
+
+
getUpperBound(int) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Returns the best estimate of the upper bound of the confidence interval given kappa, + the number of standard deviations from the mean.
+
+
getUpperBound(int) - Method in class org.apache.datasketches.cpc.CpcWrapper
+
+
Returns the best estimate of the upper bound of the confidence interval given kappa, + the number of standard deviations from the mean.
+
+
getUpperBound(int) - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
getUpperBound(int) - Method in class org.apache.datasketches.hll.Union
+
 
+
getUpperBound(int) - Method in class org.apache.datasketches.theta.Sketch
+
+
Gets the approximate upper error bound given the specified number of Standard Deviations.
+
+
getUpperBound(int) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Gets the approximate upper error bound given the specified number of Standard Deviations.
+
+
getUpperBound(int) - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the approximate upper error bound given the specified number of Standard Deviations.
+
+
getUpperBound(int, int) - Method in class org.apache.datasketches.tuple.Sketch
+
+
Gets the estimate of the upper bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
+
+
getUpperBound(int, Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Gets the approximate upper error bound from a valid memory image of a Sketch + given the specified number of Standard Deviations.
+
+
getUpperBound(long) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Gets the guaranteed upper bound frequency of the given item.
+
+
getUpperBound(long, double, int, boolean) - Static method in class org.apache.datasketches.thetacommon.BinomialBoundsN
+
+
Returns the approximate upper bound value
+
+
getUpperBound(T) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Gets the guaranteed upper bound frequency of the given item.
+
+
getUpperBoundForBoverA(long, long, double) - Static method in class org.apache.datasketches.common.BoundsOnRatiosInSampledSets
+
+
Return the approximate upper bound based on a 95% confidence interval
+
+
getUpperBoundForBoverA(Sketch, Sketch) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInThetaSketchedSets
+
+
Gets the approximate upper bound for B over A based on a 95% confidence interval
+
+
getUpperBoundForBoverA(Sketch<S>, Sketch) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+
+
Gets the approximate upper bound for B over A based on a 95% confidence interval
+
+
getUpperBoundForBoverA(Sketch<S>, Sketch<S>) - Static method in class org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+
+
Gets the approximate upper bound for B over A based on a 95% confidence interval
+
+
getValue() - Method in enum class org.apache.datasketches.common.ResizeFactor
+
+
Returns the Resize Factor
+
+
getValue() - Method in class org.apache.datasketches.tuple.adouble.DoubleSummary
+
 
+
getValue() - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummary
+
 
+
getValue() - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummary
+
 
+
getValues() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
getValues() - Method in interface org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketchIterator
+
+
Gets an array of values from the current entry in the sketch.
+
+
getWeight() - Method in class org.apache.datasketches.kll.KllSketchIterator
+
 
+
getWeight() - Method in class org.apache.datasketches.quantiles.DoublesSketchIterator
+
 
+
getWeight() - Method in class org.apache.datasketches.quantiles.ItemsSketchIterator
+
 
+
getWeight() - Method in interface org.apache.datasketches.quantilescommon.QuantilesSketchIterator
+
+
Gets the natural weight at the current index.
+
+
getWeight() - Method in class org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
Gets the weight contribution of the item at the current index.
+
+
getWeight() - Method in class org.apache.datasketches.req.ReqSketchIterator
+
 
+
getWeight() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples.WeightedSample
+
+
Accesses the iterator's current weight value
+
+
gpb - Variable in class org.apache.datasketches.partitions.Partitioner.StackElement
+
+
A reference to the relevant GenericPartitionBoundaries class
+
+
Group - Class in org.apache.datasketches.fdt
+
+
Defines a Group from a Frequent Distinct Tuple query.
+
+
Group() - Constructor for class org.apache.datasketches.fdt.Group
+
+
Construct an empty Group
+
+
GT - Enum constant in enum class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A ≤ V < B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
GT - Enum constant in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A ≤ V < B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
+

H

+
+
hash(byte[], int, int, long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash a portion of the given byte[] array.
+
+
hash(byte[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash the given byte[] array.
+
+
hash(char[], int, int, long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash a portion of the given char[] array.
+
+
hash(char[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash the given char[] array.
+
+
hash(int[], int, int, long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash a portion of the given int[] array.
+
+
hash(int[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash the given int[] array.
+
+
hash(long[], int, int, long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash a portion of the given long[] array.
+
+
hash(long[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash the given long[] array.
+
+
hash(long, long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash the given long.
+
+
hash(long, long) - Static method in class org.apache.datasketches.hash.XxHash
+
+
Returns a 64-bit hash.
+
+
hash(ByteBuffer, long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash the remaining bytes of the given ByteBuffer starting at position().
+
+
hash(Memory, long) - Static method in class org.apache.datasketches.hash.MurmurHash3
+
+
Hash the given Memory.
+
+
hash(Memory, long, long, long) - Static method in class org.apache.datasketches.hash.XxHash
+
+
Compute the hash of the given Memory object.
+
+
hashArrayInsert(long[], long[], int, long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
Inserts the given long array into the given OADH hashTable of the target size, + ignores duplicates and counts the values inserted.
+
+
hashCode() - Method in class org.apache.datasketches.fdt.Group
+
 
+
hashCode() - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
+
This hashCode is computed only from the Row.getEstimate() value.
+
+
hashCode() - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
+
This hashCode is computed only from the Row.getEstimate() value.
+
+
hashCode() - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummary
+
 
+
hashInsertOnly(long[], int, long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap.
+
+
hashInsertOnlyMemory(WritableMemory, int, long, int) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for Memory.
+
+
HashIterator - Interface in org.apache.datasketches.theta
+
+
This is used to iterate over the retained hash values of the Theta sketch.
+
+
HashOperations - Class in org.apache.datasketches.thetacommon
+
+
Helper class for the common hash table methods.
+
+
hashSearch(long[], int, long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for on-heap.
+
+
hashSearchMemory(Memory, int, long, int) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for Memory.
+
+
hashSearchOrInsert(long[], int, long) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap.
+
+
hashSearchOrInsertMemory(WritableMemory, int, long, int) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
This is a classical Knuth-style Open Addressing, Double Hash insert scheme, but inserts + values directly into a Memory.
+
+
hashToBytes(byte[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a byte[] and long seed.
+
+
hashToBytes(char[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a char[] and long seed.
+
+
hashToBytes(double, long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a double and long seed.
+
+
hashToBytes(int[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash an int[] and long seed.
+
+
hashToBytes(long[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a long[] and long seed.
+
+
hashToBytes(long, long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a long and long seed.
+
+
hashToBytes(String, long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a String and long seed.
+
+
hashToLongs(byte[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a byte[] and long seed.
+
+
hashToLongs(char[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a char[] and long seed.
+
+
hashToLongs(double, long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a double and long seed.
+
+
hashToLongs(int[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a int[] and long seed.
+
+
hashToLongs(long[], long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a long[] and long seed.
+
+
hashToLongs(long, long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a long and long seed.
+
+
hashToLongs(String, long) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Hash a String and long seed.
+
+
hasMemory() - Method in interface org.apache.datasketches.common.MemoryStatus
+
+
Returns true if this object's internal data is backed by a Memory object, + which may be on-heap or off-heap.
+
+
hasMemory() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns whether the filter has a backing Memory object
+
+
hasMemory() - Method in class org.apache.datasketches.filters.bloomfilter.DirectBitArrayR
+
 
+
hasMemory() - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
hasMemory() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
hasMemory() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns true if this union's data structure is backed by Memory or WritableMemory.
+
+
hasMemory() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
hasMemory() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Returns true if this sketch's data structure is backed by Memory or WritableMemory.
+
+
hasMemory() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
hasMemory() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Returns true if this sketch's data structure is backed by Memory or WritableMemory.
+
+
hasNext() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples.VarOptItemsIterator
+
 
+
hasResult() - Method in class org.apache.datasketches.theta.Intersection
+
+
Returns true if there is a valid intersection result available
+
+
hasResult() - Method in class org.apache.datasketches.tuple.Intersection
+
+
Returns true if there is a valid intersection result available
+
+
heapify(byte[]) - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return the given byte array as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
+
+
heapify(byte[]) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Heapify the given byte array, which must be a valid HllSketch image and may have data.
+
+
heapify(byte[]) - Static method in class org.apache.datasketches.hll.Union
+
+
Construct a union operator populated with the given byte array image of an HllSketch.
+
+
heapify(byte[], long) - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return the given byte array as a CpcSketch on the Java heap.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return the given Memory as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Reads a serialized image of a BloomFilter from the provided Memory
+
+
heapify(Memory) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Heapify the given Memory, which must be a valid HllSketch image and may have data.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.hll.Union
+
+
Construct a union operator populated with the given Memory image of an HllSketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns a Heap Union object that has been initialized with the data from the given memory + image of a sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.quantiles.UpdateDoublesSketch
+
+
Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.req.ReqSketch
+
+
Returns an ReqSketch on the heap from a Memory image of the sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns a sketch instance of this class from the given srcMem, which must be a Memory + representation of this sketch class.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Instantiates a Union from Memory
+
+
heapify(Memory) - Static method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Deserialize TDigest from a given memory.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.theta.CompactSketch
+
+
Heapify takes a CompactSketch image in Memory and instantiates an on-heap CompactSketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Heapify takes the SetOperations image in Memory and instantiates an on-heap + SetOperation using the + Default Update Seed.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.theta.UpdateSketch
+
+
Instantiates an on-heap UpdateSketch from Memory.
+
+
heapify(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Heapify the given Memory as an ArrayOfDoublesSketch
+
+
heapify(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Heapify the given Memory as an ArrayOfDoublesUnion
+
+
heapify(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Heapify the given Memory as an ArrayOfDoublesUpdatableSketch
+
+
heapify(Memory, boolean) - Static method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Deserialize TDigest from a given memory.
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return the given Memory as a CpcSketch on the Java heap.
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.theta.CompactSketch
+
+
Heapify takes a CompactSketch image in Memory and instantiates an on-heap CompactSketch.
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Heapify takes the SetOperation image in Memory and instantiates an on-heap + SetOperation using the given expectedSeed.
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.theta.UpdateSketch
+
+
Instantiates an on-heap UpdateSketch from Memory.
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Heapify the given Memory and seed as a ArrayOfDoublesSketch
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Heapify the given Memory and seed as an ArrayOfDoublesUnion
+
+
heapify(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Heapify the given Memory and seed as a ArrayOfDoublesUpdatableSketch
+
+
heapify(Memory, Comparator<? super T>, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
+
+
heapify(Memory, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
+
+
heapify(Memory, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
+
+
heapify(Memory, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Instantiates a Union from Memory
+
+
heapify(Memory, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
+
+
heapify(Memory, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Instantiates a Union from Memory
+
+
heapify(DoublesSketch) - Static method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns a Heap Union object that has been initialized with the data from the given sketch.
+
+
heapifyCompactSketch(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
heapifyCompactSketch(Memory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
heapifySetOperation(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
heapifySetOperation(Memory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
heapifySketch(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
heapifySketch(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Heapify the given Memory as an ArrayOfDoublesSketch
+
+
heapifySketch(Memory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
heapifySketch(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Heapify the given Memory and seed as a ArrayOfDoublesSketch
+
+
heapifySketch(Memory, SummaryDeserializer<S>) - Static method in class org.apache.datasketches.tuple.Sketches
+
+
Instantiate a Sketch from a given Memory.
+
+
heapifySummary(Memory) - Method in class org.apache.datasketches.tuple.adouble.DoubleSummaryDeserializer
+
 
+
heapifySummary(Memory) - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummaryDeserializer
+
 
+
heapifySummary(Memory) - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryDeserializer
+
 
+
heapifySummary(Memory) - Method in interface org.apache.datasketches.tuple.SummaryDeserializer
+
+
This is to create an instance of a Summary given a serialized representation.
+
+
heapifyUnion(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Heapify the given Memory as an ArrayOfDoublesUnion
+
+
heapifyUnion(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Heapify the given Memory and seed as an ArrayOfDoublesUnion
+
+
heapifyUpdatableSketch(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Heapify the given Memory as an ArrayOfDoublesUpdatableSketch
+
+
heapifyUpdatableSketch(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Heapify the given Memory and seed as a ArrayOfDoublesUpdatableSketch
+
+
heapifyUpdatableSketch(Memory, SummaryDeserializer<S>, SummaryFactory<S>) - Static method in class org.apache.datasketches.tuple.Sketches
+
+
Instantiate UpdatableSketch from a given Memory
+
+
heapifyUpdateSketch(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
heapifyUpdateSketch(Memory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
HLL - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The HLL family of sketches.
+
+
HLL_4 - Enum constant in enum class org.apache.datasketches.hll.TgtHllType
+
+
An HLL sketch with a bin size of 4 bits
+
+
HLL_6 - Enum constant in enum class org.apache.datasketches.hll.TgtHllType
+
+
An HLL sketch with a bin size of 6 bits
+
+
HLL_8 - Enum constant in enum class org.apache.datasketches.hll.TgtHllType
+
+
An Hll Sketch with a bin size of 8 bits
+
+
HllSketch - Class in org.apache.datasketches.hll
+
+
The HllSketch is actually a collection of compact implementations of Phillipe Flajolet’s HyperLogLog (HLL) + sketch but with significantly improved error behavior and excellent speed performance.
+
+
HllSketch() - Constructor for class org.apache.datasketches.hll.HllSketch
+
+
Constructs a new on-heap sketch with the default lgConfigK and tgtHllType.
+
+
HllSketch(int) - Constructor for class org.apache.datasketches.hll.HllSketch
+
+
Constructs a new on-heap sketch with the default tgtHllType.
+
+
HllSketch(int, TgtHllType) - Constructor for class org.apache.datasketches.hll.HllSketch
+
+
Constructs a new on-heap sketch with the type of HLL sketch to configure.
+
+
HllSketch(int, TgtHllType, WritableMemory) - Constructor for class org.apache.datasketches.hll.HllSketch
+
+
Constructs a new sketch with the type of HLL sketch to configure and the given + WritableMemory as the destination for the sketch.
+
+
+

I

+
+
idToFamily(int) - Static method in enum class org.apache.datasketches.common.Family
+
+
Returns the Family given the ID
+
+
INCLUDE_BOTH - Enum constant in enum class org.apache.datasketches.partitions.BoundsRule
+
+
Include both the upper and lower bounds
+
+
INCLUDE_LOWER - Enum constant in enum class org.apache.datasketches.partitions.BoundsRule
+
+
Include only the lower bound but not the upper bound
+
+
INCLUDE_NEITHER - Enum constant in enum class org.apache.datasketches.partitions.BoundsRule
+
+
Include none
+
+
INCLUDE_UPPER - Enum constant in enum class org.apache.datasketches.partitions.BoundsRule
+
+
Include only the upper bound but not the lower bound
+
+
includeDoublesMinMax(double[], long[], double, double) - Static method in class org.apache.datasketches.quantilescommon.IncludeMinMax
+
+
The logic to include the min and max of type double.
+
+
includeFloatsMinMax(float[], long[], float, float) - Static method in class org.apache.datasketches.quantilescommon.IncludeMinMax
+
+
The logic to include the min and max of type float.
+
+
includeItemsMinMax(T[], long[], T, T, Comparator<? super T>) - Static method in class org.apache.datasketches.quantilescommon.IncludeMinMax
+
+
The logic to include the min and max of type T.
+
+
includeLongsMinMax(long[], long[], long, long) - Static method in class org.apache.datasketches.quantilescommon.IncludeMinMax
+
+
The logic to include the min and max of type double.
+
+
IncludeMinMax - Class in org.apache.datasketches.quantilescommon
+
+
This class reinserts the min and max values into the sorted view arrays as required.
+
+
IncludeMinMax() - Constructor for class org.apache.datasketches.quantilescommon.IncludeMinMax
+
 
+
IncludeMinMax.DoublesPair - Class in org.apache.datasketches.quantilescommon
+
+
A simple structure to hold a pair of arrays
+
+
IncludeMinMax.FloatsPair - Class in org.apache.datasketches.quantilescommon
+
+
A simple structure to hold a pair of arrays
+
+
IncludeMinMax.ItemsPair<T> - Class in org.apache.datasketches.quantilescommon
+
+
A simple structure to hold a pair of arrays
+
+
IncludeMinMax.LongsPair - Class in org.apache.datasketches.quantilescommon
+
+
A simple structure to hold a pair of arrays
+
+
INCLUSIVE - Enum constant in enum class org.apache.datasketches.quantilescommon.QuantileSearchCriteria
+
+
Definition of INCLUSIVE getQuantile(r) search:
+ Given rank r, return the quantile of the smallest rank that is + strictly greater than or equal to r.
+
+
InequalitySearch - Enum Class in org.apache.datasketches.quantilescommon
+
+
This provides efficient, unique and unambiguous binary searching for inequality comparison criteria + for ordered arrays of values that may include duplicate values.
+
+
init(String, int, double, double, double, double, double) - Method in class org.apache.datasketches.fdt.Group
+
+
Specifies the parameters to be listed as columns
+
+
initializeByAccuracy(long, double, long, WritableMemory) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function and writing into the provided WritableMemory.
+
+
initializeByAccuracy(long, double, WritableMemory) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function and writing into the provided WritableMemory.
+
+
initializeBySize(long, int, long, WritableMemory) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Initializes a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function and writing into the provided WritableMemory.
+
+
initializeBySize(long, int, WritableMemory) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Initializes a BloomFilter with given number of bits and number of hash functions, + using a random base seed for the hash function and writing into the provided WritableMemory.
+
+
InsertedCountIncremented - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was accepted into the sketch and the retained count was incremented.
+
+
InsertedCountIncrementedRebuilt - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was accepted into the sketch, the retained count was incremented.
+
+
InsertedCountIncrementedResized - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was accepted into the sketch, the retained count was incremented.
+
+
InsertedCountNotIncremented - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was accepted into the sketch and the retained count was not incremented.
+
+
IntegerSketch - Class in org.apache.datasketches.tuple.aninteger
+
 
+
IntegerSketch(int, int, float, IntegerSummary.Mode) - Constructor for class org.apache.datasketches.tuple.aninteger.IntegerSketch
+
+
Creates this sketch with the following parameters:
+
+
IntegerSketch(int, IntegerSummary.Mode) - Constructor for class org.apache.datasketches.tuple.aninteger.IntegerSketch
+
+
Constructs this sketch with given lgK.
+
+
IntegerSketch(Memory, IntegerSummary.Mode) - Constructor for class org.apache.datasketches.tuple.aninteger.IntegerSketch
+
+
Deprecated. +
As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
+
+
+
IntegerSummary - Class in org.apache.datasketches.tuple.aninteger
+
+
Summary for generic tuple sketches of type Integer.
+
+
IntegerSummary(IntegerSummary.Mode) - Constructor for class org.apache.datasketches.tuple.aninteger.IntegerSummary
+
+
Creates an instance of IntegerSummary with a given mode.
+
+
IntegerSummary.Mode - Enum Class in org.apache.datasketches.tuple.aninteger
+
+
The aggregation modes for this Summary
+
+
IntegerSummaryDeserializer - Class in org.apache.datasketches.tuple.aninteger
+
 
+
IntegerSummaryDeserializer() - Constructor for class org.apache.datasketches.tuple.aninteger.IntegerSummaryDeserializer
+
 
+
IntegerSummaryFactory - Class in org.apache.datasketches.tuple.aninteger
+
+
Factory for IntegerSummary.
+
+
IntegerSummaryFactory(IntegerSummary.Mode) - Constructor for class org.apache.datasketches.tuple.aninteger.IntegerSummaryFactory
+
+
Creates an instance of IntegerSummaryFactory with a given mode
+
+
IntegerSummarySetOperations - Class in org.apache.datasketches.tuple.aninteger
+
+
Methods for defining how unions and intersections of two objects of type IntegerSummary + are performed.
+
+
IntegerSummarySetOperations(IntegerSummary.Mode, IntegerSummary.Mode) - Constructor for class org.apache.datasketches.tuple.aninteger.IntegerSummarySetOperations
+
+
Creates a new instance with two modes
+
+
intersect(BloomFilter) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Intersects two BloomFilters by applying a logical AND.
+
+
intersect(Sketch) - Method in class org.apache.datasketches.theta.Intersection
+
+
Intersect the given sketch with the internal state.
+
+
intersect(Sketch, Sketch) - Method in class org.apache.datasketches.theta.Intersection
+
+
Perform intersect set operation on the two given sketch arguments and return the result as an + ordered CompactSketch on the heap.
+
+
intersect(Sketch, Sketch, boolean, WritableMemory) - Method in class org.apache.datasketches.theta.Intersection
+
+
Perform intersect set operation on the two given sketches and return the result as a + CompactSketch.
+
+
intersect(Sketch, S) - Method in class org.apache.datasketches.tuple.Intersection
+
+
Performs a stateful intersection of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary and rules + from the summarySetOps defined by the Intersection constructor.
+
+
intersect(ArrayOfDoublesSketch, ArrayOfDoublesCombiner) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesIntersection
+
+
Performs a stateful intersection of the internal set with the given tupleSketch.
+
+
intersect(Sketch<S>) - Method in class org.apache.datasketches.tuple.Intersection
+
+
Performs a stateful intersection of the internal set with the given tupleSketch.
+
+
intersect(Sketch<S>, Sketch, S) - Method in class org.apache.datasketches.tuple.Intersection
+
+
Perform a stateless intersect set operation on a tuple sketch and a theta sketch and returns the + result as an unordered CompactSketch on the heap.
+
+
intersect(Sketch<S>, Sketch<S>) - Method in class org.apache.datasketches.tuple.Intersection
+
+
Perform a stateless intersect set operation on the two given tuple sketches and returns the + result as an unordered CompactSketch on the heap.
+
+
intersection(DoubleSummary, DoubleSummary) - Method in class org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations
+
 
+
intersection(IntegerSummary, IntegerSummary) - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummarySetOperations
+
 
+
intersection(ArrayOfStringsSummary, ArrayOfStringsSummary) - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummarySetOperations
+
 
+
intersection(S, S) - Method in interface org.apache.datasketches.tuple.SummarySetOperations
+
+
This is called by the intersection operator when both sketches have the same hash value.
+
+
Intersection - Class in org.apache.datasketches.theta
+
+
The API for intersection operations
+
+
Intersection<S extends Summary> - Class in org.apache.datasketches.tuple
+
+
Computes an intersection of two or more generic tuple sketches or generic tuple sketches + combined with theta sketches.
+
+
Intersection() - Constructor for class org.apache.datasketches.theta.Intersection
+
 
+
Intersection(SummarySetOperations<S>) - Constructor for class org.apache.datasketches.tuple.Intersection
+
+
Creates new Intersection instance with instructions on how to process two summaries that + intersect.
+
+
INTERSECTION - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Intersection family is an operation for the Theta Sketch Framework of sketches.
+
+
intToBytes(int, byte[]) - Static method in class org.apache.datasketches.common.Util
+
+
Returns a Little-Endian byte array extracted from the given int.
+
+
INVERSE_GOLDEN - Static variable in class org.apache.datasketches.common.Util
+
+
The inverse golden ratio as a fraction.
+
+
INVERSE_GOLDEN_U64 - Static variable in class org.apache.datasketches.common.Util
+
+
The inverse golden ratio as an unsigned long.
+
+
invert() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Inverts all the bits of the BloomFilter.
+
+
invPow2(int) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the inverse integer power of 2: 1/(2^e) = 2^(-e).
+
+
isCompact() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
isCompact() - Method in class org.apache.datasketches.hll.Union
+
 
+
isCompact() - Method in class org.apache.datasketches.theta.CompactSketch
+
 
+
isCompact() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns true if this sketch is in compact form.
+
+
isCompact() - Method in class org.apache.datasketches.theta.UpdateSketch
+
 
+
isCompactMemoryFormat() - Method in class org.apache.datasketches.kll.KllSketch
+
+
Returns true if this sketch is in a Compact Memory Format.
+
+
isCompatible(BloomFilter) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Helps identify if two BloomFilters may be unioned or intersected.
+
+
isDirect() - Method in interface org.apache.datasketches.common.MemoryStatus
+
+
Returns true if this object's internal data is backed by direct (off-heap) Memory.
+
+
isDirect() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns whether the filter is a direct (off-heap) or on-heap object.
+
+
isDirect() - Method in class org.apache.datasketches.filters.bloomfilter.DirectBitArrayR
+
 
+
isDirect() - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
isDirect() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
isDirect() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns true if this union is off-heap (direct)
+
+
isDirect() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
isDirect() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Returns true if this union is direct
+
+
isDirect() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
+
+
isDirect() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
isEmpty() - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return true if this sketch is empty
+
+
isEmpty() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Checks if the BloomFilter has processed any items
+
+
isEmpty() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns true if this sketch is empty
+
+
isEmpty() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns true if this sketch is empty
+
+
isEmpty() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
isEmpty() - Method in class org.apache.datasketches.hll.Union
+
 
+
isEmpty() - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
isEmpty() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
isEmpty() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns true if this union is empty
+
+
isEmpty() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
isEmpty() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Returns true if this union is empty
+
+
isEmpty() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
isEmpty() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
isEmpty() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
isEmpty() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
isEmpty() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Returns true if this sketch is empty.
+
+
isEmpty() - Method in interface org.apache.datasketches.quantilescommon.SortedView
+
+
Returns true if this sorted view is empty.
+
+
isEmpty() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
isEmpty() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns true if the sketch is empty.
+
+
isEmpty() - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
 
+
isEmpty() - Method in class org.apache.datasketches.theta.Sketch
+
+ +
+
isEmpty() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+ +
+
isEmpty() - Method in class org.apache.datasketches.tuple.Sketch
+
+ +
+
isEstimationMode() - Method in class org.apache.datasketches.hll.HllSketch
+
+
This HLL family of sketches and operators is always estimating, even for very small values.
+
+
isEstimationMode() - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
isEstimationMode() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
isEstimationMode() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
isEstimationMode() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Returns true if this sketch is in estimation mode.
+
+
isEstimationMode() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
isEstimationMode() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).
+
+
isEstimationMode() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).
+
+
isEstimationMode() - Method in class org.apache.datasketches.tuple.Sketch
+
+
Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).
+
+
isEven(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns true if given n is even.
+
+
isLessThanUnsigned(long, long) - Static method in class org.apache.datasketches.common.Util
+
+
Unsigned compare with longs.
+
+
isMemory() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
isMemory() - Method in class org.apache.datasketches.hll.Union
+
 
+
isMemoryUpdatableFormat() - Method in class org.apache.datasketches.kll.KllSketch
+
+
Returns true if the backing WritableMemory is in updatable format.
+
+
isMultipleOf8AndGT0(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns true if v is a multiple of 8 and greater than zero
+
+
isOdd(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns true if given n is odd.
+
+
isOffHeap() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
isOffHeap() - Method in class org.apache.datasketches.hll.Union
+
 
+
isOrdered() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns true if internal cache is ordered
+
+
isOrdered() - Method in class org.apache.datasketches.theta.UpdateSketch
+
 
+
isPowerOf2(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns true if given long argument is exactly a positive power of 2.
+
+
isReadOnly() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Returns whether the filter is in read-only mode.
+
+
isReadOnly() - Method in class org.apache.datasketches.filters.bloomfilter.DirectBitArrayR
+
 
+
isReadOnly() - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
isReadOnly() - Method in class org.apache.datasketches.quantiles.CompactDoublesSketch
+
 
+
isReadOnly() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
isReadOnly() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
isReadOnly() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Returns true if this sketch is read only.
+
+
isReadOnly() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
isSameResource(Memory) - Method in interface org.apache.datasketches.common.MemoryStatus
+
+
Returns true if the backing resource of this is identical with the backing resource + of that.
+
+
isSameResource(Memory) - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
isSameResource(Memory) - Method in class org.apache.datasketches.hll.Union
+
 
+
isSameResource(Memory) - Method in class org.apache.datasketches.kll.KllSketch
+
+
Returns true if the backing resource of this is identical with the backing resource + of that.
+
+
isSameResource(Memory) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns true if the backing resource of this is identical with the backing resource + of that.
+
+
isSameResource(Memory) - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns true if the backing resource of this is identical with the backing resource + of that.
+
+
items() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples
+
+
Returns a shallow copy of the array of sample items contained in the sketch.
+
+
items(int) - Method in class org.apache.datasketches.sampling.VarOptItemsSamples
+
+
Returns a single item from the samples contained in the sketch.
+
+
ITEMS_SKETCH - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
KllItemsSketch
+
+
ItemsPair(T[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.IncludeMinMax.ItemsPair
+
+
Constructor.
+
+
ItemsSketch<T> - Class in org.apache.datasketches.frequencies
+
+
This sketch is useful for tracking approximate frequencies of items of type <T> + with optional associated counts (<T> item, long count) that are members of a + multiset of such items.
+
+
ItemsSketch<T> - Class in org.apache.datasketches.quantiles
+
+
This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using generic items, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
+
+
ItemsSketch(int) - Constructor for class org.apache.datasketches.frequencies.ItemsSketch
+
+
Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).
+
+
ItemsSketch.Row<T> - Class in org.apache.datasketches.frequencies
+
+
Row class that defines the return values from a getFrequentItems query.
+
+
ItemsSketchIterator<T> - Class in org.apache.datasketches.quantiles
+
+
Iterator over ItemsSketch.
+
+
ItemsSketchSortedView<T> - Class in org.apache.datasketches.quantilescommon
+
+
The SortedView for the KllItemsSketch and the classic ItemsSketch.
+
+
ItemsSketchSortedView(T[], long[], QuantilesGenericAPI<T>) - Constructor for class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
+
Constructor.
+
+
ItemsUnion<T> - Class in org.apache.datasketches.quantiles
+
+
The API for Union operations for generic ItemsSketches
+
+
iterator() - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
iterator() - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
iterator() - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
iterator() - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
iterator() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
iterator() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
iterator() - Method in class org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
 
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.DoublesSortedView
+
 
+
iterator() - Method in class org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
 
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.FloatsSortedView
+
 
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
 
+
iterator() - Method in class org.apache.datasketches.quantilescommon.ItemsSketchSortedView
+
 
+
iterator() - Method in class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
 
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.LongsSortedView
+
 
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Gets the iterator for this sketch, which is not sorted.
+
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Gets the iterator for this sketch, which is not sorted.
+
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Gets the iterator for this sketch, which is not sorted.
+
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Gets the iterator for this sketch, which is not sorted.
+
+
iterator() - Method in interface org.apache.datasketches.quantilescommon.SortedView
+
+
Returns an iterator for this Sorted View.
+
+
iterator() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
iterator() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples
+
 
+
iterator() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns a HashIterator that can be used to iterate over the retained hash values of the + Theta sketch.
+
+
iterator() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
iterator() - Method in class org.apache.datasketches.tuple.CompactSketch
+
 
+
iterator() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
 
+
iterator() - Method in class org.apache.datasketches.tuple.Sketch
+
+
Returns a SketchIterator
+
+
+

J

+
+
jaccard(Sketch, Sketch) - Static method in class org.apache.datasketches.theta.JaccardSimilarity
+
+
Computes the Jaccard similarity index with upper and lower bounds.
+
+
jaccard(Sketch<S>, Sketch, S, SummarySetOperations<S>) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Computes the Jaccard similarity index with upper and lower bounds.
+
+
jaccard(Sketch<S>, Sketch<S>, SummarySetOperations<S>) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Computes the Jaccard similarity index with upper and lower bounds.
+
+
JaccardSimilarity - Class in org.apache.datasketches.theta
+
+
Jaccard similarity of two Theta Sketches.
+
+
JaccardSimilarity - Class in org.apache.datasketches.tuple
+
+
Jaccard similarity of two Tuple Sketches, or alternatively, of a Tuple and Theta Sketch.
+
+
JaccardSimilarity() - Constructor for class org.apache.datasketches.theta.JaccardSimilarity
+
 
+
JaccardSimilarity() - Constructor for class org.apache.datasketches.tuple.JaccardSimilarity
+
 
+
justification() - Element in annotation interface org.apache.datasketches.common.SuppressFBWarnings
+
+
Optional explanation for the suppression.
+
+
+

K

+
+
KLL - Enum constant in enum class org.apache.datasketches.common.Family
+
+
KLL quantiles sketch
+
+
KllDoublesSketch - Class in org.apache.datasketches.kll
+
+
This variation of the KllSketch implements primitive doubles.
+
+
KllDoublesSketchIterator - Class in org.apache.datasketches.kll
+
+
Iterator over KllDoublesSketch.
+
+
KllFloatsSketch - Class in org.apache.datasketches.kll
+
+
This variation of the KllSketch implements primitive floats.
+
+
KllFloatsSketchIterator - Class in org.apache.datasketches.kll
+
+
Iterator over KllFloatsSketch.
+
+
KllItemsSketch<T> - Class in org.apache.datasketches.kll
+
+
This variation of the KllSketch implements generic data types.
+
+
KllItemsSketchIterator<T> - Class in org.apache.datasketches.kll
+
+
Iterator over KllItemsSketch.
+
+
KllLongsSketch - Class in org.apache.datasketches.kll
+
+
This variation of the KllSketch implements primitive longs.
+
+
KllLongsSketchIterator - Class in org.apache.datasketches.kll
+
+
Iterator over KllLongsSketch.
+
+
KllSketch - Class in org.apache.datasketches.kll
+
+
This class is the root of the KLL sketch class hierarchy.
+
+
KllSketch.SketchStructure - Enum Class in org.apache.datasketches.kll
+
+
Used primarily to define the structure of the serialized sketch.
+
+
KllSketch.SketchType - Enum Class in org.apache.datasketches.kll
+
+
Used to define the variable type of the current instance of this class.
+
+
KllSketchIterator - Class in org.apache.datasketches.kll
+
+
The base implementation for the KLL sketch iterator hierarchy used for viewing the + non-ordered quantiles retained by a sketch.
+
+
KolmogorovSmirnov - Class in org.apache.datasketches.quantilescommon
+
+
Kolmogorov-Smirnov Test + See Kolmogorov–Smirnov Test
+
+
KolmogorovSmirnov() - Constructor for class org.apache.datasketches.quantilescommon.KolmogorovSmirnov
+
 
+
kolmogorovSmirnovTest(QuantilesAPI, QuantilesAPI, double) - Static method in class org.apache.datasketches.quantilescommon.KolmogorovSmirnov
+
+
Performs the Kolmogorov-Smirnov Test between two QuantilesAPI sketches.
+
+
+

L

+
+
le(Object, Object, Comparator<? super T>) - Static method in class org.apache.datasketches.common.Util
+
+
Is item1 Less-Than-Or-Equal-To item2
+
+
LE - Enum constant in enum class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A ≤ V < B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
LE - Enum constant in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A ≤ V < B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
levelPartId - Variable in class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow
+
+
A brief string description of the partition and its hierarchy
+
+
levelPartId - Variable in class org.apache.datasketches.partitions.Partitioner.StackElement
+
+
A brief string description of the partition and its hierarchy
+
+
lg() - Method in enum class org.apache.datasketches.common.ResizeFactor
+
+
Returns the Log-base 2 of the Resize Factor
+
+
log2(double) - Static method in class org.apache.datasketches.common.Util
+
+
The log2(value)
+
+
LOG2 - Static variable in class org.apache.datasketches.common.Util
+
+
The natural logarithm of 2.0.
+
+
logBaseOfX(double, double) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the logbase(x).
+
+
LONG_MAX_VALUE_AS_DOUBLE - Static variable in class org.apache.datasketches.common.Util
+
+
Long.MAX_VALUE as a double.
+
+
LONGS_SKETCH - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
KllDoublesSketch
+
+
LongsPair(long[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.IncludeMinMax.LongsPair
+
+
Constructor.
+
+
LongsSketch - Class in org.apache.datasketches.frequencies
+
+
This sketch is useful for tracking approximate frequencies of long items with optional + associated counts (long item, long count) that are members of a multiset of + such items.
+
+
LongsSketch(int) - Constructor for class org.apache.datasketches.frequencies.LongsSketch
+
+
Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).
+
+
LongsSketch.Row - Class in org.apache.datasketches.frequencies
+
+
Row class that defines the return values from a getFrequentItems query.
+
+
LongsSketchSortedView - Class in org.apache.datasketches.quantilescommon
+
+
The SortedView of the KllLongsSketch.
+
+
LongsSketchSortedView(long[], long[], QuantilesLongsAPI) - Constructor for class org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
+
Construct from elements, also used in testing.
+
+
LongsSortedView - Interface in org.apache.datasketches.quantilescommon
+
+
The Sorted View for quantile sketches of primitive type long.
+
+
LongsSortedViewIterator - Class in org.apache.datasketches.quantilescommon
+
+
Iterator over quantile sketches of primitive type long.
+
+
LongsSortedViewIterator(long[], long[]) - Constructor for class org.apache.datasketches.quantilescommon.LongsSortedViewIterator
+
+
Constructor.
+
+
longToBytes(long, byte[]) - Static method in class org.apache.datasketches.common.Util
+
+
Returns a Little-Endian byte array extracted from the given long.
+
+
longToFixedLengthString(long, int) - Static method in class org.apache.datasketches.common.Util
+
+
Converts the given number to a string prepended with spaces, if necessary, to + match the given length.
+
+
longToHexBytes(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns a string of spaced hex bytes in Big-Endian order.
+
+
lowerBound - Variable in class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow
+
+
The lower bound value
+
+
LS - Static variable in class org.apache.datasketches.common.Util
+
+
The java line separator character as a String.
+
+
lt(Object, Object, Comparator<? super T>) - Static method in class org.apache.datasketches.common.Util
+
+
Is item1 Less-Than item2
+
+
LT - Enum constant in enum class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
Given a sorted array of increasing values arr[] and a key value v, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A < v ≤ B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
LT - Enum constant in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Given a sorted array of increasing values arr[] and a key value v, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A < v ≤ B.
+ Let low = index of the lowest value in the range.
+ Let high = index of the highest value in the range.
+
+
+

M

+
+
Max - Enum constant in enum class org.apache.datasketches.tuple.adouble.DoubleSummary.Mode
+
+
The aggregation mode is the maximum function.
+
+
Max - Enum constant in enum class org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode
+
+
The aggregation mode is the maximum function.
+
+
MAX_K - Static variable in class org.apache.datasketches.kll.KllSketch
+
+
The maximum K
+
+
MAX_LG_NOM_LONGS - Static variable in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
The largest Log2 nom entries allowed: 26.
+
+
MAX_SIZE_BITS - Static variable in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
The maximum size of a bloom filter in bits.
+
+
maxT(Object, Object, Comparator<? super T>) - Static method in class org.apache.datasketches.common.Util
+
+
Finds the maximum of two generic items
+
+
MEM_REQ_SVR_NULL_MSG - Static variable in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
MemoryRequestServer must not be null.
+
+
MemoryStatus - Interface in org.apache.datasketches.common
+
+
Methods for inquiring the status of a backing Memory object.
+
+
merge(ItemsSketch<T>) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
This function merges the other sketch into this one.
+
+
merge(LongsSketch) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
This function merges the other sketch into this one.
+
+
merge(KllSketch) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
merge(KllSketch) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
merge(KllSketch) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
merge(KllSketch) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
merge(KllSketch) - Method in class org.apache.datasketches.kll.KllSketch
+
+
Merges another sketch into this one.
+
+
merge(ReqSketch) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
merge(EbppsItemsSketch<T>) - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Merges the provided sketch into the current one.
+
+
merge(TDigestDouble) - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Merge the given TDigest into this one
+
+
MergingValidation - Class in org.apache.datasketches.cpc
+
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+
MergingValidation(int, int, int, int, int, PrintStream, PrintWriter) - Constructor for class org.apache.datasketches.cpc.MergingValidation
+
 
+
milliSecToString(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the given time in milliseconds formatted as Hours:Min:Sec.mSec
+
+
Min - Enum constant in enum class org.apache.datasketches.tuple.adouble.DoubleSummary.Mode
+
+
The aggregation mode is the minimum function.
+
+
Min - Enum constant in enum class org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode
+
+
The aggregation mode is the minimum function.
+
+
MIN_LG_ARR_LONGS - Static variable in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
The smallest Log2 cache size allowed: 5.
+
+
MIN_LG_NOM_LONGS - Static variable in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
The smallest Log2 nom entries allowed: 4.
+
+
minLgHashTableSize(int, double) - Static method in class org.apache.datasketches.thetacommon.HashOperations
+
+
Returns the smallest log hash table size given the count of items and the rebuild threshold.
+
+
minT(Object, Object, Comparator<? super T>) - Static method in class org.apache.datasketches.common.Util
+
+
Finds the minimum of two generic items
+
+
modulo(long[], int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the + divisor.
+
+
modulo(long, long, int) - Static method in class org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the + divisor.
+
+
MurmurHash3 - Class in org.apache.datasketches.hash
+
+
The MurmurHash3 is a fast, non-cryptographic, 128-bit hash function that has + excellent avalanche and 2-way bit independence properties.
+
+
MurmurHash3Adaptor - Class in org.apache.datasketches.hash
+
+
A general purpose wrapper for the MurmurHash3.
+
+
+

N

+
+
nanoSecToString(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the given time in nanoseconds formatted as Sec.mSec_uSec_nSec
+
+
newDirectInstance(int, WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Create a new direct updatable instance of this sketch with a given k.
+
+
newDirectInstance(int, WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Create a new direct updatable instance of this sketch with a given k.
+
+
newDirectInstance(int, WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Create a new direct updatable instance of this sketch with a given k.
+
+
newDirectInstance(WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Create a new direct updatable instance of this sketch with the default k.
+
+
newDirectInstance(WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Create a new direct updatable instance of this sketch with the default k.
+
+
newDirectInstance(WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Create a new direct updatable instance of this sketch with the default k.
+
+
newHeapInstance() - Static method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Create a new heap instance of this sketch with the default k = 200.
+
+
newHeapInstance() - Static method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Create a new heap instance of this sketch with the default k = 200.
+
+
newHeapInstance() - Static method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Create a new heap instance of this sketch with the default k = 200.
+
+
newHeapInstance(int) - Static method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Create a new heap instance of this sketch with a given parameter k.
+
+
newHeapInstance(int) - Static method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Create a new heap instance of this sketch with a given parameter k.
+
+
newHeapInstance(int) - Static method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Create a new heap instance of this sketch with a given parameter k.
+
+
newHeapInstance(int, Comparator<? super T>, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Create a new heap instance of this sketch with a given parameter k.
+
+
newHeapInstance(Comparator<? super T>, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Create a new heap instance of this sketch with the default k = 200.
+
+
newInstance(int) - Static method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Construct a mergeable sampling sketch with up to k samples using the default resize + factor (8).
+
+
newInstance(int) - Static method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Creates an empty Union with a maximum reservoir capacity of size k.
+
+
newInstance(int) - Static method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Construct a mergeable reservoir sampling sketch with up to k samples using the default resize + factor (8).
+
+
newInstance(int) - Static method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Creates an empty Union with a maximum reservoir capacity of size k.
+
+
newInstance(int) - Static method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Construct a varopt sampling sketch with up to k samples using the default resize factor (8).
+
+
newInstance(int) - Static method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Creates an empty Union with a maximum capacity of size k.
+
+
newInstance(int, ResizeFactor) - Static method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Construct a mergeable sampling sketch with up to k samples using a specified resize factor.
+
+
newInstance(int, ResizeFactor) - Static method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Construct a mergeable reservoir sampling sketch with up to k samples using the default resize + factor (8).
+
+
newInstance(int, ResizeFactor) - Static method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Construct a varopt sampling sketch with up to k samples using the specified resize factor.
+
+
newSummary() - Method in class org.apache.datasketches.tuple.adouble.DoubleSummaryFactory
+
 
+
newSummary() - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummaryFactory
+
 
+
newSummary() - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryFactory
+
 
+
newSummary() - Method in interface org.apache.datasketches.tuple.SummaryFactory
+
 
+
newSummaryArray(S[], int) - Static method in class org.apache.datasketches.tuple.Util
+
+
Creates a new Summary Array with the specified length
+
+
next() - Method in class org.apache.datasketches.kll.KllSketchIterator
+
 
+
next() - Method in class org.apache.datasketches.quantiles.DoublesSketchIterator
+
 
+
next() - Method in class org.apache.datasketches.quantiles.ItemsSketchIterator
+
 
+
next() - Method in interface org.apache.datasketches.quantilescommon.QuantilesSketchIterator
+
+
Advances the index and checks if it is valid.
+
+
next() - Method in class org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
Advances the index and checks if it is valid.
+
+
next() - Method in class org.apache.datasketches.req.ReqSketchIterator
+
 
+
next() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples.VarOptItemsIterator
+
 
+
next() - Method in interface org.apache.datasketches.theta.HashIterator
+
+
Returns true at the next hash value in sequence.
+
+
next() - Method in interface org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketchIterator
+
+
Advancing the iterator and checking existence of the next entry + is combined here for efficiency.
+
+
next() - Method in class org.apache.datasketches.tuple.TupleSketchIterator
+
+
Advancing the iterator and checking existence of the next entry + is combined here for efficiency.
+
+
NO_FALSE_NEGATIVES - Enum constant in enum class org.apache.datasketches.frequencies.ErrorType
+
+
No Type II error samples will be excluded from the sample set, + which means all Truly Positive samples will be included in the sample set.
+
+
NO_FALSE_POSITIVES - Enum constant in enum class org.apache.datasketches.frequencies.ErrorType
+
+
No Type I error samples will be included in the sample set, + which means all Truly Negative samples will be excluded from the sample set.
+
+
normalCDF(double) - Static method in class org.apache.datasketches.common.BoundsOnBinomialProportions
+
+
Computes an approximation to normalCDF(x).
+
+
NOT_SINGLE_ITEM_MSG - Static variable in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Sketch does not have just one item.
+
+
notB(Sketch) - Method in class org.apache.datasketches.theta.AnotB
+
+
This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + second (or n+1th) argument B of A-AND-NOT-B.
+
+
notB(Sketch) - Method in class org.apache.datasketches.tuple.AnotB
+
+
This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + second (or n+1th) argument B of A-AND-NOT-B.
+
+
notB(Sketch<S>) - Method in class org.apache.datasketches.tuple.AnotB
+
+
This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the + second (or n+1th) argument B of A-AND-NOT-B.
+
+
numberOfLeadingOnes(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the number of one bits preceding the highest-order ("leftmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
+
+
numberOfTrailingOnes(long) - Static method in class org.apache.datasketches.common.Util
+
+
Returns the number of one bits following the lowest-order ("rightmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
+
+
numDigits(long) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the number of decimal digits of the number n
+
+
+

O

+
+
org.apache.datasketches - package org.apache.datasketches
+
+
This package is the parent package for all sketch families and common code areas.
+
+
org.apache.datasketches.common - package org.apache.datasketches.common
+
+
This package is for common classes that may be used across all the sketch families.
+
+
org.apache.datasketches.cpc - package org.apache.datasketches.cpc
+
+
Compressed Probabilistic Counting sketch family
+
+
org.apache.datasketches.fdt - package org.apache.datasketches.fdt
+
+
Frequent Distinct Tuples Sketch
+
+
org.apache.datasketches.filters - package org.apache.datasketches.filters
+
+
The filters package contains data structures used to determine + approximate set-membership.
+
+
org.apache.datasketches.filters.bloomfilter - package org.apache.datasketches.filters.bloomfilter
+
+
BloomFilter package
+
+
org.apache.datasketches.frequencies - package org.apache.datasketches.frequencies
+
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+
org.apache.datasketches.hash - package org.apache.datasketches.hash
+
+
The hash package contains a high-performing and extended Java implementations + of Austin Appleby's 128-bit MurmurHash3 hash function originally coded in C.
+
+
org.apache.datasketches.hll - package org.apache.datasketches.hll
+
+
The DataSketches™ HLL sketch family package
+
+
org.apache.datasketches.hllmap - package org.apache.datasketches.hllmap
+
+
The hllmap package contains a space efficient HLL mapping sketch of keys to approximate unique + count of identifiers.
+
+
org.apache.datasketches.kll - package org.apache.datasketches.kll
+
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
org.apache.datasketches.partitions - package org.apache.datasketches.partitions
+
 
+
org.apache.datasketches.quantiles - package org.apache.datasketches.quantiles
+
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
org.apache.datasketches.quantilescommon - package org.apache.datasketches.quantilescommon
+
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
org.apache.datasketches.req - package org.apache.datasketches.req
+
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
org.apache.datasketches.sampling - package org.apache.datasketches.sampling
+
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
org.apache.datasketches.tdigest - package org.apache.datasketches.tdigest
+
+
t-Digest for estimating quantiles and ranks.
+
+
org.apache.datasketches.theta - package org.apache.datasketches.theta
+
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
org.apache.datasketches.thetacommon - package org.apache.datasketches.thetacommon
+
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+
org.apache.datasketches.tuple - package org.apache.datasketches.tuple
+
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
org.apache.datasketches.tuple.adouble - package org.apache.datasketches.tuple.adouble
+
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+
org.apache.datasketches.tuple.aninteger - package org.apache.datasketches.tuple.aninteger
+
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+
org.apache.datasketches.tuple.arrayofdoubles - package org.apache.datasketches.tuple.arrayofdoubles
+
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
org.apache.datasketches.tuple.strings - package org.apache.datasketches.tuple.strings
+
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+

P

+
+
packBits(long, int, byte[], int, int) - Static method in class org.apache.datasketches.theta.BitPacking
+
+
The bit packing operation
+
+
part - Variable in class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow
+
+
The partition index
+
+
part - Variable in class org.apache.datasketches.partitions.Partitioner.StackElement
+
+
The partition index
+
+
partition(S) - Method in class org.apache.datasketches.partitions.Partitioner
+
+
This initiates the partitioning process
+
+
PartitionBoundsRow(Partitioner.StackElement<T>) - Constructor for class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow
+
+
The constructor for the StackElement class.
+
+
Partitioner<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>> - Class in org.apache.datasketches.partitions
+
+
A partitioning process that can partition very large data sets into thousands + of partitions of approximately the same size.
+
+
Partitioner(long, int, SketchFillRequest<T, S>) - Constructor for class org.apache.datasketches.partitions.Partitioner
+
+
This constructor assumes a QuantileSearchCriteria of INCLUSIVE.
+
+
Partitioner(long, int, SketchFillRequest<T, S>, QuantileSearchCriteria) - Constructor for class org.apache.datasketches.partitions.Partitioner
+
+
This constructor includes the QuantileSearchCriteria criteria as a parameter.
+
+
Partitioner.PartitionBoundsRow<T> - Class in org.apache.datasketches.partitions
+
+
Defines a row for List of PartitionBounds.
+
+
Partitioner.StackElement<T> - Class in org.apache.datasketches.partitions
+
+
Holds data for a Stack element
+
+
PartitioningFeature<T> - Interface in org.apache.datasketches.quantilescommon
+
+
This enables the special functions for performing efficient partitioning of massive data.
+
+
PostProcessor - Class in org.apache.datasketches.fdt
+
+
This processes the contents of a FDT sketch to extract the + primary keys with the most frequent unique combinations of the non-primary dimensions.
+
+
PostProcessor(FdtSketch, Group, char) - Constructor for class org.apache.datasketches.fdt.PostProcessor
+
+
Construct with a populated FdtSketch
+
+
powerSeriesNextDouble(int, double, boolean, double) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the next larger double in the power series + point = logBase( i / ppb ) given the current point in the series.
+
+
putDoubleBE(byte[], int, double) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source double into the destination byte array starting at the given offset + in big endian order.
+
+
putDoubleLE(byte[], int, double) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source double into the destination byte array starting at the given offset + in little endian order.
+
+
putFloatBE(byte[], int, float) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source float into the destination byte array starting at the given offset + in big endian order.
+
+
putFloatLE(byte[], int, float) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source float into the destination byte array starting at the given offset + in little endian order.
+
+
putIntBE(byte[], int, int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source int into the destination byte array starting at the given offset + in big endian order.
+
+
putIntLE(byte[], int, int) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source int into the destination byte array starting at the given offset + in little endian order.
+
+
putLongBE(byte[], int, long) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source long into the destination byte array starting at the given offset + in big endian order.
+
+
putLongLE(byte[], int, long) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source long into the destination byte array starting at the given offset + in little endian order.
+
+
putMemory(WritableMemory) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Puts the current sketch into the given Memory in compact form if there is sufficient space, + otherwise, it throws an error.
+
+
putMemory(WritableMemory, boolean) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Puts the current sketch into the given Memory if there is sufficient space, otherwise, + throws an error.
+
+
putMemory(WritableMemory, ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Puts the current sketch into the given Memory if there is sufficient space.
+
+
putShortBE(byte[], int, short) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source short into the destination byte array starting at the given offset + in big endian order.
+
+
putShortLE(byte[], int, short) - Static method in class org.apache.datasketches.common.ByteArrayUtil
+
+
Put the source short into the destination byte array starting at the given offset + in little endian order.
+
+
pwr2SeriesNext(int, long) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the next larger integer point in the power series + point = 2( i / ppo ) given the current point in the series.
+
+
pwr2SeriesPrev(int, int) - Static method in class org.apache.datasketches.common.Util
+
+
Computes the previous, smaller integer point in the power series + point = 2( i / ppo ) given the current point in the series.
+
+
+

Q

+
+
quantiles - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.DoublesPair
+
+
the array of quantiles
+
+
quantiles - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.FloatsPair
+
+
The array of quantiles
+
+
quantiles - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.ItemsPair
+
+
The array of quantiles
+
+
quantiles - Variable in class org.apache.datasketches.quantilescommon.IncludeMinMax.LongsPair
+
+
the array of quantiles
+
+
QUANTILES - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Quantiles family of sketches.
+
+
QuantilesAPI - Interface in org.apache.datasketches.quantilescommon
+
+
This is a stochastic streaming sketch that enables near-real time analysis of the + approximate distribution of items from a very large stream in a single pass, requiring only + that the items are comparable.
+
+
QuantilesDoublesAPI - Interface in org.apache.datasketches.quantilescommon
+
+
The Quantiles API for item type double.
+
+
QuantilesDoublesSketchIterator - Interface in org.apache.datasketches.quantilescommon
+
+
The quantiles sketch iterator for primitive type double.
+
+
QuantileSearchCriteria - Enum Class in org.apache.datasketches.quantilescommon
+
+
These search criteria are used by the KLL, REQ and Classic Quantiles sketches in the DataSketches library.
+
+
QuantilesFloatsAPI - Interface in org.apache.datasketches.quantilescommon
+
+
The Quantiles API for item type float.
+
+
QuantilesFloatsSketchIterator - Interface in org.apache.datasketches.quantilescommon
+
+
The quantiles sketch iterator for primitive type float.
+
+
QuantilesGenericAPI<T> - Interface in org.apache.datasketches.quantilescommon
+
+
The Quantiles API for item type generic.
+
+
QuantilesGenericSketchIterator<T> - Interface in org.apache.datasketches.quantilescommon
+
+
The quantiles sketch iterator for generic types.
+
+
QuantilesLongsAPI - Interface in org.apache.datasketches.quantilescommon
+
+
The Quantiles API for item type long.
+
+
QuantilesLongsSketchIterator - Interface in org.apache.datasketches.quantilescommon
+
+
The quantiles sketch iterator for primitive type long.
+
+
QuantilesSketchIterator - Interface in org.apache.datasketches.quantilescommon
+
+
This is the base interface for the SketchIterator hierarchy used for viewing the + non-ordered quantiles retained by a sketch.
+
+
QuantilesUtil - Class in org.apache.datasketches.quantilescommon
+
+
Utilities for the quantiles sketches.
+
+
query(byte[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided byte[] and returns whether the + array might have been seen previously.
+
+
query(char[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided char[] and returns whether the + array might have been seen previously.
+
+
query(double) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided double and returns whether the + value might have been seen previously.
+
+
query(int[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided int[] and returns whether the + array might have been seen previously.
+
+
query(long) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided long and returns whether the + value might have been seen previously.
+
+
query(long[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided long[] and returns whether the + array might have been seen previously.
+
+
query(short[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided short[] and returns whether the + array might have been seen previously.
+
+
query(String) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided double and returns whether the + value might have been seen previously.
+
+
query(Memory) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Queries the filter with the provided Memory and returns whether the + data might have been seen previously.
+
+
queryAndUpdate(byte[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided byte[] and + returns the result from quering that array prior to the update.
+
+
queryAndUpdate(char[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided char[] and + returns the result from quering that array prior to the update.
+
+
queryAndUpdate(double) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided double and + returns the result from quering that value prior to the update.
+
+
queryAndUpdate(int[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided int[] and + returns the result from quering that array prior to the update.
+
+
queryAndUpdate(long) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided long and + returns the result from quering that value prior to the update.
+
+
queryAndUpdate(long[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided long[] and + returns the result from quering that array prior to the update.
+
+
queryAndUpdate(short[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided short[] and + returns the result from quering that array prior to the update.
+
+
queryAndUpdate(String) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided String and + returns the result from quering that value prior to the update.
+
+
queryAndUpdate(Memory) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided Memory and + returns the result from quering that Memory prior to the update.
+
+
QuickMergingValidation - Class in org.apache.datasketches.cpc
+
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+
QuickMergingValidation(int, int, int, PrintStream, PrintWriter) - Constructor for class org.apache.datasketches.cpc.QuickMergingValidation
+
 
+
QuickSelect - Class in org.apache.datasketches.thetacommon
+
+
QuickSelect algorithm improved from Sedgewick.
+
+
QUICKSELECT - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The QuickSelect Sketch family is a member of the Theta Sketch Framework of sketches and + is the workhorse of the Theta Sketch Families and can be constructed for either on-heap or + off-heap operation.
+
+
QuickSelectSketch - Enum constant in enum class org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
QuickSelectSketch
+
+
+

R

+
+
rand - Static variable in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Setting the seed makes the results of the sketch deterministic if the input items are + received in exactly the same order.
+
+
rebuild() - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Rebuilds the hash table to remove dirty values or to reduce the size + to nominal entries.
+
+
REBUILD_THRESHOLD - Static variable in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
The hash table rebuild threshold = 15.0/16.0.
+
+
RejectedDuplicate - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was rejected as a duplicate.
+
+
RejectedNullOrEmpty - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was rejected because it was null or empty.
+
+
RejectedOverTheta - Enum constant in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
The hash was rejected because the value was negative, zero or + greater than theta.
+
+
REQ - Enum constant in enum class org.apache.datasketches.common.Family
+
+
Relative Error Quantiles Sketch
+
+
ReqDebug - Interface in org.apache.datasketches.req
+
+
The signaling interface that allows comprehensive analysis of the ReqSketch and ReqCompactor + while eliminating code clutter in the main classes.
+
+
ReqSketch - Class in org.apache.datasketches.req
+
+
This Relative Error Quantiles Sketch is the Java implementation based on the paper + "Relative Error Streaming Quantiles" by Graham Cormode, Zohar Karnin, Edo Liberty, + Justin Thaler, Pavel Veselý, and loosely derived from a Python prototype written by Pavel Veselý.
+
+
ReqSketchBuilder - Class in org.apache.datasketches.req
+
+
For building a new ReqSketch
+
+
ReqSketchBuilder() - Constructor for class org.apache.datasketches.req.ReqSketchBuilder
+
+
Constructor for the ReqSketchBuilder.
+
+
ReqSketchIterator - Class in org.apache.datasketches.req
+
+
Iterator over all retained items of the ReqSketch.
+
+
RESERVOIR - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Reservoir family of sketches.
+
+
RESERVOIR_UNION - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The reservoir sampling family of Union operations.
+
+
ReservoirItemsSketch<T> - Class in org.apache.datasketches.sampling
+
+
This sketch provides a reservoir sample over an input stream of items.
+
+
ReservoirItemsUnion<T> - Class in org.apache.datasketches.sampling
+
+
Class to union reservoir samples of generic items.
+
+
ReservoirLongsSketch - Class in org.apache.datasketches.sampling
+
+
This sketch provides a reservoir sample over an input stream of longs.
+
+
ReservoirLongsUnion - Class in org.apache.datasketches.sampling
+
+
Class to union reservoir samples of longs.
+
+
reset() - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Resets this sketch to empty but retains the original LgK and Seed.
+
+
reset() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Resets the BloomFilter to an empty state
+
+
reset() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Resets this sketch to a virgin state.
+
+
reset() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Resets this sketch to a virgin state.
+
+
reset() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
reset() - Method in class org.apache.datasketches.hll.Union
+
+
Resets to empty and retains the current lgK, but does not change the configured value of + lgMaxK.
+
+
reset() - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Resets this sketch to the empty state.
+
+
reset() - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Resets this sketch to the empty state.
+
+
reset() - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
reset() - Method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Resets this sketch to the empty state.
+
+
reset() - Method in class org.apache.datasketches.quantiles.CompactDoublesSketch
+
 
+
reset() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Resets this sketch to the empty state.
+
+
reset() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Resets this Union to a virgin state.
+
+
reset() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
reset() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Resets this Union to a virgin state.
+
+
reset() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Resets this sketch to the empty state.
+
+
reset() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
reset() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Resets the sketch to its default, empty state.
+
+
reset() - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Resets this sketch to the empty state, but retains the original value of k.
+
+
reset() - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Resets this sketch to the empty state, but retains the original value of k.
+
+
reset() - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Resets this sketch to the empty state, but retains the original value of k.
+
+
reset() - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Resets this sketch to the empty state, but retains the original value of max k.
+
+
reset() - Method in class org.apache.datasketches.theta.Intersection
+
+
Resets this Intersection for stateful operations only.
+
+
reset() - Method in class org.apache.datasketches.theta.Union
+
+
Resets this Union.
+
+
reset() - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Resets this sketch back to a virgin empty state.
+
+
reset() - Method in class org.apache.datasketches.tuple.AnotB
+
+
Resets this operation back to the empty state.
+
+
reset() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesIntersection
+
+
Resets the internal set to the initial state, which represents the Universal Set
+
+
reset() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Resets the union to an empty state
+
+
reset() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Resets this sketch an empty state.
+
+
reset() - Method in class org.apache.datasketches.tuple.Intersection
+
+
Resets the internal set to the initial state, which represents the Universal Set
+
+
reset() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Resets this sketch an empty state.
+
+
reset() - Method in class org.apache.datasketches.tuple.Union
+
+
Resets the internal set to the initial state, which represents an empty set.
+
+
reset() - Method in class org.apache.datasketches.tuple.UpdatableSketchBuilder
+
+
Resets the Nominal Entries, Resize Factor and Sampling Probability to their default values.
+
+
RESIZE_THRESHOLD - Static variable in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
The resize threshold = 0.5; tuned for speed.
+
+
ResizeFactor - Enum Class in org.apache.datasketches.common
+
+
For the Families that accept this configuration parameter, it controls the size multiple that + affects how fast the internal cache grows, when more space is required.
+
+
reverse(double[], int) - Static method in class org.apache.datasketches.tdigest.Sort
+
+
Reverse the first n elements of the given array.
+
+
reverse(long[], int) - Static method in class org.apache.datasketches.tdigest.Sort
+
+
Reverse the first n elements of the given array.
+
+
rule - Variable in class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow
+
+
The BoundsRule for this partition description row.
+
+
+

S

+
+
SampleSubsetSummary - Class in org.apache.datasketches.sampling
+
+
A simple object o capture the results of a subset sum query on a sampling sketch.
+
+
select(double[], int, int, int) - Static method in class org.apache.datasketches.thetacommon.QuickSelect
+
+
Gets the 0-based kth order statistic from the array.
+
+
select(long[], int, int, int) - Static method in class org.apache.datasketches.thetacommon.QuickSelect
+
+
Gets the 0-based kth order statistic from the array.
+
+
selectExcludingZeros(double[], int, int) - Static method in class org.apache.datasketches.thetacommon.QuickSelect
+
+
Gets the 1-based kth order statistic from the array excluding any zero values in the + array.
+
+
selectExcludingZeros(long[], int, int) - Static method in class org.apache.datasketches.thetacommon.QuickSelect
+
+
Gets the 1-based kth order statistic from the array excluding any zero values in the + array.
+
+
selectIncludingZeros(double[], int) - Static method in class org.apache.datasketches.thetacommon.QuickSelect
+
+
Gets the 1-based kth order statistic from the array including any zero values in the + array.
+
+
selectIncludingZeros(long[], int) - Static method in class org.apache.datasketches.thetacommon.QuickSelect
+
+
Gets the 1-based kth order statistic from the array including any zero values in the + array.
+
+
SELF_MERGE_MSG - Static variable in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
A sketch cannot merge with itself.
+
+
SerializerDeserializer - Class in org.apache.datasketches.tuple
+
+
Multipurpose serializer-deserializer for a collection of sketches defined by the enum.
+
+
SerializerDeserializer() - Constructor for class org.apache.datasketches.tuple.SerializerDeserializer
+
 
+
SerializerDeserializer.SketchType - Enum Class in org.apache.datasketches.tuple
+
+
Defines the sketch classes that this SerializerDeserializer can handle.
+
+
serializeToByteArray(Boolean) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
serializeToByteArray(Boolean[]) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
serializeToByteArray(Double) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
serializeToByteArray(Double[]) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
serializeToByteArray(Long) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
serializeToByteArray(Long[]) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
serializeToByteArray(Number) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
serializeToByteArray(Number[]) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
serializeToByteArray(String) - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
serializeToByteArray(String) - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
serializeToByteArray(String[]) - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
serializeToByteArray(String[]) - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
serializeToByteArray(T) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Serialize a single unserialized item to a byte array.
+
+
serializeToByteArray(T[]) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Serialize an array of unserialized items to a byte array of contiguous serialized items.
+
+
serializeToString() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns a String representation of this sketch
+
+
setA(Sketch) - Method in class org.apache.datasketches.theta.AnotB
+
+
This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + first argument A of A-AND-NOT-B.
+
+
setA(Sketch<S>) - Method in class org.apache.datasketches.tuple.AnotB
+
+
This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the + first argument A of A-AND-NOT-B.
+
+
setClass(Class<?>) - Method in class org.apache.datasketches.sampling.VarOptItemsSamples
+
+
Specifies the class to use when copying the item array from the sketch.
+
+
setFamily(Family) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Set the Family.
+
+
setHighRankAccuracy(boolean) - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
+
This sets the parameter highRankAccuracy.
+
+
setK(int) - Method in class org.apache.datasketches.quantiles.DoublesSketchBuilder
+
+
Sets the parameter k that determines the accuracy and size of the sketch.
+
+
setK(int) - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
+
This sets the parameter k.
+
+
setLocalLogNominalEntries(int) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Alternative method of setting the Nominal Entries for a local concurrent sketch from the + log_base2 value.
+
+
setLocalNominalEntries(int) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the Nominal Entries for the concurrent local sketch.
+
+
setLogNominalEntries(int) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Alternative method of setting the Nominal Entries for this set operation from the log_base2 value.
+
+
setLogNominalEntries(int) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Alternative method of setting the Nominal Entries for this sketch from the log_base2 value.
+
+
setMaxConcurrencyError(double) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the Maximum Concurrency Error.
+
+
setMaxK(int) - Method in class org.apache.datasketches.quantiles.DoublesUnionBuilder
+
+
Sets the parameter masK that determines the maximum size of the sketch that + results from a union and its accuracy.
+
+
setMaxNumLocalThreads(int) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the Maximum Number of Local Threads.
+
+
setMemoryRequestServer(MemoryRequestServer) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Set the MemoryRequestServer
+
+
setMemoryRequestServer(MemoryRequestServer) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Set the MemoryRequestServer
+
+
setNominalEntries(int) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Sets the Maximum Nominal Entries (max K) for this set operation.
+
+
setNominalEntries(int) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the Nominal Entries for this sketch.
+
+
setNominalEntries(int) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
This is to set the nominal number of entries.
+
+
setNominalEntries(int) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
This is to set the nominal number of entries.
+
+
setNominalEntries(int) - Method in class org.apache.datasketches.tuple.UpdatableSketchBuilder
+
+
This is to set the nominal number of entries.
+
+
setNumberOfValues(int) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
This is to set the number of double values associated with each key
+
+
setNumberOfValues(int) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
This is to set the number of double values associated with each key
+
+
setNumPoolThreads(int) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the number of pool threads used for background propagation in the concurrent sketches.
+
+
SetOperation - Class in org.apache.datasketches.theta
+
+
The parent API for all Set Operations
+
+
setOperationBuilder() - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
SetOperationBuilder - Class in org.apache.datasketches.theta
+
+
For building a new SetOperation.
+
+
SetOperationBuilder() - Constructor for class org.apache.datasketches.theta.SetOperationBuilder
+
+
Constructor for building a new SetOperation.
+
+
SetOperationCornerCases - Class in org.apache.datasketches.thetacommon
+
+
Simplifies and speeds up set operations by resolving specific corner cases.
+
+
SetOperationCornerCases() - Constructor for class org.apache.datasketches.thetacommon.SetOperationCornerCases
+
 
+
SetOperationCornerCases.AnotbAction - Enum Class in org.apache.datasketches.thetacommon
+
+
A not B actions
+
+
SetOperationCornerCases.CornerCase - Enum Class in org.apache.datasketches.thetacommon
+
+
List of corner cases
+
+
SetOperationCornerCases.IntersectAction - Enum Class in org.apache.datasketches.thetacommon
+
+
Intersection actions
+
+
SetOperationCornerCases.UnionAction - Enum Class in org.apache.datasketches.thetacommon
+
+
List of union actions
+
+
setP(float) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Sets the upfront uniform sampling probability, p.
+
+
setP(float) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the upfront uniform sampling probability, p
+
+
setPropagateOrderedCompact(boolean) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the Propagate Ordered Compact flag to the given value.
+
+
setReqDebug(ReqDebug) - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
+
This sets the parameter reqDebug.
+
+
setResizeFactor(ResizeFactor) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Sets the cache Resize Factor
+
+
setResizeFactor(ResizeFactor) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the cache Resize Factor.
+
+
setResizeFactor(ResizeFactor) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
This is to set the resize factor.
+
+
setResizeFactor(ResizeFactor) - Method in class org.apache.datasketches.tuple.UpdatableSketchBuilder
+
+
This is to set the resize factor.
+
+
setSamplingProbability(float) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
This is to set sampling probability.
+
+
setSamplingProbability(float) - Method in class org.apache.datasketches.tuple.UpdatableSketchBuilder
+
+
This is to set sampling probability.
+
+
setSeed(long) - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
+
Sets the long seed value that is require by the hashing function.
+
+
setSeed(long) - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Sets the long seed value that is required by the hashing function.
+
+
setSeed(long) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
Sets the long seed value that is required by the hashing function.
+
+
setSeed(long) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
Sets the long seed value that is required by the hashing function.
+
+
similarityTest(Sketch, Sketch, double) - Static method in class org.apache.datasketches.theta.JaccardSimilarity
+
+
Tests similarity of a measured Sketch against an expected Sketch.
+
+
similarityTest(Sketch<S>, Sketch, S, SummarySetOperations<S>, double) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Tests similarity of a measured Sketch against an expected Sketch.
+
+
similarityTest(Sketch<S>, Sketch<S>, SummarySetOperations<S>, double) - Static method in class org.apache.datasketches.tuple.JaccardSimilarity
+
+
Tests similarity of a measured Sketch against an expected Sketch.
+
+
sizeOf(Boolean) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
sizeOf(Boolean[]) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
sizeOf(Double) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
sizeOf(Double[]) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
sizeOf(Long) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
sizeOf(Long[]) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
sizeOf(Number) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
sizeOf(Number[]) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
sizeOf(String) - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
sizeOf(String) - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
sizeOf(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
sizeOf(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
sizeOf(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
+
+
sizeOf(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
sizeOf(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
sizeOf(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
sizeOf(Memory, long, int) - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
sizeOf(T) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Returns the serialized size in bytes of a single unserialized item.
+
+
sizeOf(T[]) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Returns the serialized size in bytes of the array of items.
+
+
Sketch - Class in org.apache.datasketches.theta
+
+
The top-level class for all theta sketches.
+
+
Sketch<S extends Summary> - Class in org.apache.datasketches.tuple
+
+
This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
+
+
SKETCH_A - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Sketch A Exact
+
+
SKETCH_A - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Sketch A Exactly
+
+
SKETCH_B - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Sketch B Exactly
+
+
Sketches - Class in org.apache.datasketches.theta
+
+
This class brings together the common sketch and set operation creation methods and + the public static methods into one place.
+
+
Sketches - Class in org.apache.datasketches.tuple
+
+
Convenient static methods to instantiate generic tuple sketches.
+
+
Sketches() - Constructor for class org.apache.datasketches.tuple.Sketches
+
 
+
SketchesArgumentException - Exception in org.apache.datasketches.common
+
+
Illegal Arguments Exception class for the library
+
+
SketchesArgumentException(String) - Constructor for exception org.apache.datasketches.common.SketchesArgumentException
+
+
Constructs a new runtime exception with the specified detail message.
+
+
SketchesException - Exception in org.apache.datasketches.common
+
+
Exception class for the library
+
+
SketchesException(String) - Constructor for exception org.apache.datasketches.common.SketchesException
+
+
Constructs a new runtime exception with the specified detail message.
+
+
SketchesException(String, Throwable) - Constructor for exception org.apache.datasketches.common.SketchesException
+
+
Constructs a new runtime exception with the specified detail message and cause.
+
+
SketchesReadOnlyException - Exception in org.apache.datasketches.common
+
+
Write operation attempted on a read-only class.
+
+
SketchesReadOnlyException() - Constructor for exception org.apache.datasketches.common.SketchesReadOnlyException
+
+
Constructs a new runtime exception with the message: + "Write operation attempted on a read-only class."
+
+
SketchesReadOnlyException(String) - Constructor for exception org.apache.datasketches.common.SketchesReadOnlyException
+
+
Constructs a new runtime exception with the specified detail message.
+
+
SketchesStateException - Exception in org.apache.datasketches.common
+
+
Illegal State Exception class for the library
+
+
SketchesStateException(String) - Constructor for exception org.apache.datasketches.common.SketchesStateException
+
+
Constructs a new runtime exception with the specified detail message.
+
+
SketchFillRequest<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>> - Interface in org.apache.datasketches.partitions
+
+
This is a callback request to the data source to fill a quantiles sketch, + which is returned to the caller.
+
+
SketchPartitionLimits - Interface in org.apache.datasketches.quantilescommon
+
+
This defines the methods required to compute the partition limits.
+
+
sketchStateId(boolean, int, long) - Static method in class org.apache.datasketches.thetacommon.SetOperationCornerCases
+
+
Returns the sketch state ID
+
+
Sort - Class in org.apache.datasketches.tdigest
+
+
Specialized sorting algorithm that can sort one array and permute another array the same way.
+
+
Sort() - Constructor for class org.apache.datasketches.tdigest.Sort
+
 
+
SortedView - Interface in org.apache.datasketches.quantilescommon
+
+
This is the base interface for the Sorted View interface hierarchy and defines the methods that are type independent.
+
+
SortedViewIterator - Class in org.apache.datasketches.quantilescommon
+
+
This is the base interface for the SortedViewIterator hierarchy used with a SortedView obtained + from a quantile-type sketch.
+
+
stableSort(double[], long[], int) - Static method in class org.apache.datasketches.tdigest.Sort
+
+
Stable sort two arrays.
+
+
StackElement(GenericPartitionBoundaries<T>, int, String) - Constructor for class org.apache.datasketches.partitions.Partitioner.StackElement
+
+
Constructs this StackElement
+
+
start() - Method in class org.apache.datasketches.cpc.CompressionCharacterization
+
+
Only used in test
+
+
start() - Method in class org.apache.datasketches.cpc.MergingValidation
+
 
+
start() - Method in class org.apache.datasketches.cpc.QuickMergingValidation
+
 
+
start() - Method in class org.apache.datasketches.cpc.StreamingValidation
+
 
+
startingSubMultiple(int, int, int) - Static method in class org.apache.datasketches.thetacommon.ThetaUtil
+
+
Gets the smallest allowed exponent of 2 that it is a sub-multiple of the target by zero, + one or more resize factors.
+
+
StreamingValidation - Class in org.apache.datasketches.cpc
+
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
+
+
StreamingValidation(int, int, int, int, PrintStream, PrintWriter) - Constructor for class org.apache.datasketches.cpc.StreamingValidation
+
 
+
STRIDE_MASK - Static variable in class org.apache.datasketches.thetacommon.HashOperations
+
+
The stride mask for the Open Address, Double Hashing (OADH) hash table algorithm.
+
+
stringArrHash(String[]) - Static method in class org.apache.datasketches.tuple.Util
+
 
+
stringConcat(String[]) - Static method in class org.apache.datasketches.tuple.Util
+
+
Concatenate array of Strings to a single String.
+
+
stringHash(String) - Static method in class org.apache.datasketches.tuple.Util
+
 
+
stringToByteArray(String) - Static method in class org.apache.datasketches.tuple.Util
+
+
Converts a String to a UTF_8 byte array.
+
+
stringToFamily(String) - Static method in enum class org.apache.datasketches.common.Family
+
+
Returns the Family given the family name
+
+
suggestNumFilterBits(long, double) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Returns the optimal number of bits to use in a Bloom Filter given a target number of distinct + items and a target false positive probability.
+
+
suggestNumHashes(double) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Returns the optimal number of hash functions to achieve a target false positive probability.
+
+
suggestNumHashes(long, long) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
Returns the optimal number of hash functions to given target numbers of distinct items + and the BloomFilter size in bits.
+
+
Sum - Enum constant in enum class org.apache.datasketches.tuple.adouble.DoubleSummary.Mode
+
+
The aggregation mode is the summation function.
+
+
Sum - Enum constant in enum class org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode
+
+
The aggregation mode is the summation function.
+
+
Summary - Interface in org.apache.datasketches.tuple
+
+
Interface for user-defined Summary, which is associated with every hash in a tuple sketch
+
+
SummaryDeserializer<S extends Summary> - Interface in org.apache.datasketches.tuple
+
+
Interface for deserializing user-defined Summary
+
+
SummaryFactory<S extends Summary> - Interface in org.apache.datasketches.tuple
+
+
Interface for user-defined SummaryFactory
+
+
SummarySetOperations<S extends Summary> - Interface in org.apache.datasketches.tuple
+
+
This is to provide methods of producing unions and intersections of two Summary objects.
+
+
SuppressFBWarnings - Annotation Interface in org.apache.datasketches.common
+
+
Used to suppress SpotBug warnings.
+
+
+

T

+
+
TAB - Static variable in class org.apache.datasketches.common.Util
+
+
The tab character
+
+
tailRoundingFactor - Static variable in class org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
used in search to improve rounding over a wide dynamic range
+
+
TDIGEST - Enum constant in enum class org.apache.datasketches.common.Family
+
+
t-Digest for estimating quantiles and ranks
+
+
TDigestDouble - Class in org.apache.datasketches.tdigest
+
+
t-Digest for estimating quantiles and ranks.
+
+
TDigestDouble() - Constructor for class org.apache.datasketches.tdigest.TDigestDouble
+
+
Constructor with the default K
+
+
TDigestDouble(short) - Constructor for class org.apache.datasketches.tdigest.TDigestDouble
+
+
Constructor
+
+
TestUtil - Class in org.apache.datasketches.cpc
+
 
+
TestUtil() - Constructor for class org.apache.datasketches.cpc.TestUtil
+
 
+
TGT_IS_READ_ONLY_MSG - Static variable in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Target sketch is Read Only, cannot write.
+
+
TgtHllType - Enum Class in org.apache.datasketches.hll
+
+
Specifies the target type of HLL sketch to be created.
+
+
ThetaUtil - Class in org.apache.datasketches.thetacommon
+
+
Utility methods for the Theta Family of sketches
+
+
toByteArray() - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return this sketch as a compressed byte array.
+
+
toByteArray() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Serializes the current BloomFilter to an array of bytes.
+
+
toByteArray() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns a byte array representation of this sketch
+
+
toByteArray() - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
toByteArray() - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
toByteArray() - Method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Export the current sketch as a compact byte array.
+
+
toByteArray() - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
toByteArray() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
 
+
toByteArray() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Serialize this union to a byte array.
+
+
toByteArray() - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray() - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray() - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
toByteArray() - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns a byte array representation of this sketch
+
+
toByteArray() - Method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Returns a byte array representation of this union
+
+
toByteArray() - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Serialize this TDigest to a byte array form.
+
+
toByteArray() - Method in class org.apache.datasketches.theta.Intersection
+
+
Serialize this intersection to a byte array form.
+
+
toByteArray() - Method in class org.apache.datasketches.theta.Sketch
+
+
Serialize this sketch to a byte array form.
+
+
toByteArray() - Method in class org.apache.datasketches.theta.Union
+
+
Returns a byte array image of this Union object
+
+
toByteArray() - Method in class org.apache.datasketches.tuple.adouble.DoubleSummary
+
 
+
toByteArray() - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummary
+
 
+
toByteArray() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
toByteArray() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
 
+
toByteArray() - Method in class org.apache.datasketches.tuple.CompactSketch
+
 
+
toByteArray() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Deprecated. +
As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.
+
+
+
toByteArray() - Method in class org.apache.datasketches.tuple.Sketch
+
+
This is to serialize a sketch instance to a byte array.
+
+
toByteArray() - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummary
+
 
+
toByteArray() - Method in interface org.apache.datasketches.tuple.Summary
+
+
This is to serialize a Summary instance to a byte array.
+
+
toByteArray(boolean) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Serialize this sketch in a byte array form.
+
+
toByteArray(boolean, ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Serialize this sketch to a byte array form.
+
+
toByteArray(ArrayOfItemsSerDe<? super T>) - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray(ArrayOfItemsSerDe<? super T>) - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray(ArrayOfItemsSerDe<? super T>) - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray(ArrayOfItemsSerDe<? super T>, Class<?>) - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray(ArrayOfItemsSerDe<? super T>, Class<?>) - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray(ArrayOfItemsSerDe<? super T>, Class<?>) - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns a byte array representation of this sketch.
+
+
toByteArray(ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns a byte array representation of this sketch
+
+
toByteArray(ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Serialize this sketch to a byte array form.
+
+
toByteArray(ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Serialize this union to a byte array.
+
+
toByteArray(ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Returns a byte array representation of this union
+
+
toByteArray(ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Returns a byte array representation of this union
+
+
toByteArray(ArrayOfItemsSerDe<T>, Class<?>) - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Returns a byte array representation of this union.
+
+
toByteArray(ArrayOfItemsSerDe<T>, Class<?>) - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Returns a byte array representation of this union.
+
+
toByteArrayCompressed() - Method in class org.apache.datasketches.theta.CompactSketch
+
+
gets the sketch as a compressed byte array
+
+
toCompactByteArray() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
toCompactByteArray() - Method in class org.apache.datasketches.hll.Union
+
+
Gets the serialization of this union operator as a byte array in compact form, which is + designed to be heapified only.
+
+
toLongArray() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Serializes the current BloomFilter to an array of longs.
+
+
toString() - Method in enum class org.apache.datasketches.common.Family
+
 
+
toString() - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return a human-readable string summary of this sketch
+
+
toString() - Method in class org.apache.datasketches.fdt.Group
+
 
+
toString() - Method in class org.apache.datasketches.filters.bloomfilter.DirectBitArrayR
+
 
+
toString() - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
 
+
toString() - Method in class org.apache.datasketches.frequencies.ItemsSketch.Row
+
 
+
toString() - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns a human readable summary of this sketch.
+
+
toString() - Method in class org.apache.datasketches.frequencies.LongsSketch.Row
+
 
+
toString() - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns a human readable summary of this sketch.
+
+
toString() - Method in class org.apache.datasketches.hll.HllSketch
+
+
Human readable summary as a string.
+
+
toString() - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Returns a string with a human-readable summary of the UniqueCountMap and all the internal maps
+
+
toString() - Method in class org.apache.datasketches.kll.KllSketch
+
 
+
toString() - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns human readable summary information about this sketch.
+
+
toString() - Method in class org.apache.datasketches.quantiles.DoublesSketchBuilder
+
+
Creates a human readable string that describes the current configuration of this builder.
+
+
toString() - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns summary information about the backing sketch.
+
+
toString() - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Returns human readable summary information about this sketch.
+
+
toString() - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Returns summary information about the backing sketch.
+
+
toString() - Method in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Returns a summary of the key parameters of the sketch.
+
+
toString() - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
toString() - Method in class org.apache.datasketches.req.ReqSketchBuilder
+
 
+
toString() - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Provides a human-readable summary of the sketch
+
+
toString() - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a human-readable summary of the sketch, without items.
+
+
toString() - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Returns a human-readable summary of the sketch, without items.
+
+
toString() - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns a human-readable summary of the sketch, without items.
+
+
toString() - Method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Returns a human-readable summary of the sketch, without items.
+
+
toString() - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns a human-readable summary of the sketch.
+
+
toString() - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Returns a human-readable summary of the sketch, without items.
+
+
toString() - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Human-readable summary of this TDigest as a string
+
+
toString() - Method in class org.apache.datasketches.theta.SetOperationBuilder
+
 
+
toString() - Method in class org.apache.datasketches.theta.Sketch
+
+
Returns a human readable summary of the sketch.
+
+
toString() - Method in class org.apache.datasketches.theta.UpdateSketchBuilder
+
 
+
toString() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
 
+
toString() - Method in class org.apache.datasketches.tuple.Sketch
+
 
+
toString(boolean) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Return a human-readable string summary of this sketch
+
+
toString(boolean) - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Human-readable summary of this TDigest as a string
+
+
toString(boolean, boolean) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
toString(boolean, boolean) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
toString(boolean, boolean) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
toString(boolean, boolean) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
toString(boolean, boolean) - Method in class org.apache.datasketches.kll.KllSketch
+
+
Returns human readable summary information about this sketch.
+
+
toString(boolean, boolean) - Method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns human readable summary information about this sketch.
+
+
toString(boolean, boolean) - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns summary information about the backing sketch.
+
+
toString(boolean, boolean) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Returns human readable summary information about this sketch.
+
+
toString(boolean, boolean) - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Returns summary information about the backing sketch.
+
+
toString(boolean, boolean, boolean) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Human readable summary with optional detail.
+
+
toString(boolean, boolean, boolean, boolean) - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
toString(boolean, boolean, boolean, boolean) - Method in class org.apache.datasketches.hll.Union
+
 
+
toString(boolean, boolean, int, boolean) - Method in class org.apache.datasketches.theta.Sketch
+
+
Gets a human readable listing of contents and summary of the given sketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns a human readable string of the preamble of a byte array image of a ItemsSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns a human readable string of the preamble of a byte array image of a LongsSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Returns a human readable string of the preamble of a byte array image of an HllSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns a human readable string of the preamble of a byte array image of a DoublesSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Returns a human readable string of the preamble of a byte array image of an ItemsSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a human readable string of the preamble of a byte array image of a ReservoirItemsSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns a human readable string of the preamble of a byte array image of a ReservoirLongsSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns a human readable string of the preamble of a byte array image of a VarOptItemsSketch.
+
+
toString(byte[]) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Returns a human readable string of the preamble of a byte array image of a Theta Sketch.
+
+
toString(byte[], boolean) - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
Returns a human readable string of the preamble of a byte array image of a CpcSketch.
+
+
toString(Boolean) - Method in class org.apache.datasketches.common.ArrayOfBooleansSerDe
+
 
+
toString(Double) - Method in class org.apache.datasketches.common.ArrayOfDoublesSerDe
+
 
+
toString(Long) - Method in class org.apache.datasketches.common.ArrayOfLongsSerDe
+
 
+
toString(Number) - Method in class org.apache.datasketches.common.ArrayOfNumbersSerDe
+
 
+
toString(String) - Method in class org.apache.datasketches.common.ArrayOfStringsSerDe
+
 
+
toString(String) - Method in class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
 
+
toString(Memory) - Static method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Returns a human readable string of the preamble of a Memory image of a ItemsSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Returns a human readable string of the preamble of a Memory image of a LongsSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Returns a human readable string of the preamble of a Memory image of an HllSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Returns a human readable string of the preamble of a Memory image of a DoublesSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.quantiles.ItemsSketch
+
+
Returns a human readable string of the preamble of a Memory image of an ItemsSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Returns a human readable string of the preamble of a Memory image of a ReservoirItemsSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Returns a human readable string of the preamble of a Memory image of a ReservoirLongsSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Returns a human readable string of the preamble of a Memory image of a VarOptItemsSketch.
+
+
toString(Memory) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Returns a human readable string of the preamble of a Memory image of a Theta Sketch.
+
+
toString(Memory, boolean) - Static method in class org.apache.datasketches.cpc.CpcSketch
+
+
Returns a human readable string of the preamble of a Memory image of a CpcSketch.
+
+
toString(T) - Method in class org.apache.datasketches.common.ArrayOfItemsSerDe
+
+
Returns a human readable string of an item.
+
+
toUpdatableByteArray() - Method in class org.apache.datasketches.hll.HllSketch
+
 
+
toUpdatableByteArray() - Method in class org.apache.datasketches.hll.Union
+
 
+
trim() - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Rebuilds reducing the actual number of entries to the nominal number of entries if needed
+
+
trim() - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Rebuilds reducing the actual number of entries to the nominal number of entries if needed
+
+
TRIM_A - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Trim Sketch A by MinTheta
+
+
TRIM_A - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Trim Sketch A by MinTheta
+
+
TRIM_B - Enum constant in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Trim Sketch B by MinTheta
+
+
TUPLE - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Tuple family of sketches is a large family of sketches that are extensions of the + Theta Sketch Framework.
+
+
TupleSketchIterator<S extends Summary> - Class in org.apache.datasketches.tuple
+
+
Iterator over a generic tuple sketch
+
+
+

U

+
+
union(BloomFilter) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Unions two BloomFilters by applying a logical OR.
+
+
union(Memory) - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Iterative union operation, which means this method can be repeatedly called.
+
+
union(Memory) - Method in class org.apache.datasketches.theta.Union
+
+
Perform a Union operation with this union and the given Memory image of any sketch of the + Theta Family.
+
+
union(Memory, ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Iterative union operation, which means this method can be repeatedly called.
+
+
union(DoublesSketch) - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Iterative union operation, which means this method can be repeatedly called.
+
+
union(ItemsSketch<T>) - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Iterative union operation, which means this method can be repeatedly called.
+
+
union(Sketch) - Method in class org.apache.datasketches.theta.Union
+
+
Perform a Union operation with this union and the given on-heap sketch of the Theta Family.
+
+
union(Sketch, Sketch) - Method in class org.apache.datasketches.theta.Union
+
+
This implements a stateless, pair-wise union operation.
+
+
union(Sketch, Sketch, boolean, WritableMemory) - Method in class org.apache.datasketches.theta.Union
+
+
This implements a stateless, pair-wise union operation.
+
+
union(Sketch, S) - Method in class org.apache.datasketches.tuple.Union
+
+
Performs a stateful union of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary.
+
+
union(DoubleSummary, DoubleSummary) - Method in class org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations
+
 
+
union(IntegerSummary, IntegerSummary) - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummarySetOperations
+
 
+
union(ArrayOfDoublesSketch) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Updates the union by adding a set of entries from a given sketch, which can be on-heap or off-heap.
+
+
union(Sketch<S>) - Method in class org.apache.datasketches.tuple.Union
+
+
Performs a stateful union of the internal set with the given tupleSketch.
+
+
union(Sketch<S>, Sketch, S) - Method in class org.apache.datasketches.tuple.Union
+
+
Perform a stateless, pair-wise union operation between a tupleSketch and a thetaSketch.
+
+
union(Sketch<S>, Sketch<S>) - Method in class org.apache.datasketches.tuple.Union
+
+
Perform a stateless, pair-wise union operation between two tuple sketches.
+
+
union(ArrayOfStringsSummary, ArrayOfStringsSummary) - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummarySetOperations
+
 
+
union(S, S) - Method in interface org.apache.datasketches.tuple.SummarySetOperations
+
+
This is called by the union operator when both sketches have the same hash value.
+
+
Union - Class in org.apache.datasketches.hll
+
+
This performs union operations for all HllSketches.
+
+
Union - Class in org.apache.datasketches.theta
+
+
Compute the union of two or more theta sketches.
+
+
Union<S extends Summary> - Class in org.apache.datasketches.tuple
+
+
Compute the union of two or more generic tuple sketches or generic tuple sketches combined with + theta sketches.
+
+
Union() - Constructor for class org.apache.datasketches.hll.Union
+
+
Construct this Union operator with the default maximum log-base-2 of K.
+
+
Union() - Constructor for class org.apache.datasketches.theta.Union
+
 
+
Union(int) - Constructor for class org.apache.datasketches.hll.Union
+
+
Construct this Union operator with a given maximum log-base-2 of K.
+
+
Union(int, WritableMemory) - Constructor for class org.apache.datasketches.hll.Union
+
+
Construct this Union operator with a given maximum log-base-2 of K and the given + WritableMemory as the destination for this Union.
+
+
Union(int, SummarySetOperations<S>) - Constructor for class org.apache.datasketches.tuple.Union
+
+
Creates new Union instance.
+
+
Union(SummarySetOperations<S>) - Constructor for class org.apache.datasketches.tuple.Union
+
+
Creates new Union instance with instructions on how to process two summaries that + overlap.
+
+
UNION - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The Union family is an operation for the Theta Sketch Framework of sketches.
+
+
UniqueCountMap - Class in org.apache.datasketches.hllmap
+
+
This is a real-time, key-value HLL mapping sketch that tracks approximate unique counts of + identifiers (the values) associated with each key.
+
+
UniqueCountMap(int) - Constructor for class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Constructs a UniqueCountMap with an initial capacity of one million entries.
+
+
UniqueCountMap(int, int) - Constructor for class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Constructs a UniqueCountMap with a given initial number of entries.
+
+
unpackBits(long[], int, int, byte[], int, int) - Static method in class org.apache.datasketches.theta.BitPacking
+
+
The unpacking operation
+
+
UNSUPPORTED_MSG - Static variable in interface org.apache.datasketches.quantilescommon.QuantilesAPI
+
+
Unsupported operation for this Sketch Type.
+
+
UPDATABLE - Enum constant in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
Updatable Preamble Structure
+
+
UpdatableSketch<U,S extends UpdatableSummary<U>> - Class in org.apache.datasketches.tuple
+
+
An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
+
+
UpdatableSketch(int, int, float, SummaryFactory<S>) - Constructor for class org.apache.datasketches.tuple.UpdatableSketch
+
+
This is to create a new instance of an UpdatableQuickSelectSketch.
+
+
UpdatableSketch(Memory, SummaryDeserializer<S>, SummaryFactory<S>) - Constructor for class org.apache.datasketches.tuple.UpdatableSketch
+
+
Deprecated. +
As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
+
+
+
UpdatableSketch(UpdatableSketch<U, S>) - Constructor for class org.apache.datasketches.tuple.UpdatableSketch
+
+
Copy Constructor
+
+
UpdatableSketchBuilder<U,S extends UpdatableSummary<U>> - Class in org.apache.datasketches.tuple
+
+
For building a new generic tuple UpdatableSketch
+
+
UpdatableSketchBuilder(SummaryFactory<S>) - Constructor for class org.apache.datasketches.tuple.UpdatableSketchBuilder
+
+
Creates an instance of UpdatableSketchBuilder with default parameters
+
+
UpdatableSummary<U> - Interface in org.apache.datasketches.tuple
+
+
Interface for updating user-defined Summary
+
+
update(byte[]) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given byte array as a potential unique item.
+
+
update(byte[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided byte[].
+
+
update(byte[]) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given byte array as a potential unique item.
+
+
update(byte[]) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the given byte array item.
+
+
update(byte[]) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with the given byte array.
+
+
update(byte[], byte[]) - Method in class org.apache.datasketches.hllmap.UniqueCountMap
+
+
Updates the map with a given key and identifier and returns the estimate of the number of + unique identifiers encountered so far for the given key.
+
+
update(byte[], double[]) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Updates this sketch with a byte[] key and double values.
+
+
update(byte[], U) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Updates this sketch with a byte[] key and U value.
+
+
update(char[]) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given char array as a potential unique item.
+
+
update(char[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided char[].
+
+
update(char[]) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given char array as a potential unique item.
+
+
update(char[]) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the given char array item.
+
+
update(char[]) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with the given char array.
+
+
update(double) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given double (or float) datum as a potential unique item.
+
+
update(double) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided double value.
+
+
update(double) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given double (or float) datum as a potential unique item.
+
+
update(double) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
 
+
update(double) - Method in class org.apache.datasketches.quantiles.CompactDoublesSketch
+
 
+
update(double) - Method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Update this union with the given double (or float) data Item.
+
+
update(double) - Method in class org.apache.datasketches.quantiles.UpdateDoublesSketch
+
+
Updates this sketch with the given double data item
+
+
update(double) - Method in interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI
+
+
Updates this sketch with the given item.
+
+
update(double) - Method in class org.apache.datasketches.tdigest.TDigestDouble
+
+
Update this TDigest with the given value
+
+
update(double) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the given double (or float) data item.
+
+
update(double) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with the given double (or float) datum.
+
+
update(double[], int, int) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Vector update.
+
+
update(double, double[]) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Updates this sketch with a double key and double values.
+
+
update(double, long) - Method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Weighted update.
+
+
update(double, U) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Updates this sketch with a double key and U value.
+
+
update(float) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
 
+
update(float) - Method in interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI
+
+
Updates this sketch with the given item.
+
+
update(float) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
update(float[], int, int) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Vector update.
+
+
update(float, long) - Method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Weighted update.
+
+
update(int[]) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given integer array as a potential unique item.
+
+
update(int[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided int[].
+
+
update(int[]) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given integer array as a potential unique item.
+
+
update(int[]) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the given integer array item.
+
+
update(int[]) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with the given integer array.
+
+
update(int[], double[]) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Updates this sketch with a int[] key and double values.
+
+
update(int[], U) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Updates this sketch with a int[] key and U value.
+
+
update(long) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given long as a potential unique item.
+
+
update(long) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided long value.
+
+
update(long) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Update this sketch with an item and a frequency count of one.
+
+
update(long) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given long as a potential unique item.
+
+
update(long) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
 
+
update(long) - Method in interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI
+
+
Updates this sketch with the given item.
+
+
update(long) - Method in class org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
Randomly decide whether or not to include an item in the sample set.
+
+
update(long) - Method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Present this union with a long.
+
+
update(long) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the given long data item.
+
+
update(long) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with a long.
+
+
update(long[]) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given long array as a potential unique item.
+
+
update(long[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided long[].
+
+
update(long[]) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given long array as a potential unique item.
+
+
update(long[]) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the given long array item.
+
+
update(long[]) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with the given long array.
+
+
update(long[], double[]) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Updates this sketch with a long[] key and double values.
+
+
update(long[], int, int) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Vector update.
+
+
update(long[], U) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Updates this sketch with a long[] key and U value.
+
+
update(long, double[]) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Updates this sketch with a long key and double values.
+
+
update(long, int, ArrayList<T>) - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Present this union with raw elements of a sketch.
+
+
update(long, long) - Method in class org.apache.datasketches.frequencies.LongsSketch
+
+
Update this sketch with a item and a positive frequency count (or weight).
+
+
update(long, long) - Method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Weighted update.
+
+
update(long, Double) - Method in class org.apache.datasketches.tuple.adouble.DoubleSketch
+
 
+
update(long, Integer) - Method in class org.apache.datasketches.tuple.aninteger.IntegerSketch
+
 
+
update(long, U) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Updates this sketch with a long key and U value.
+
+
update(short[]) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided short[].
+
+
update(Double) - Method in class org.apache.datasketches.tuple.adouble.DoubleSummary
+
 
+
update(Integer) - Method in class org.apache.datasketches.tuple.aninteger.IntegerSummary
+
 
+
update(String) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given String as a potential unique item.
+
+
update(String) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the provided String.
+
+
update(String) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given String as a potential unique item.
+
+
update(String) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the with the given String data item.
+
+
update(String) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with the given String.
+
+
update(String[]) - Method in class org.apache.datasketches.fdt.FdtSketch
+
+
Update the sketch with the given string array tuple.
+
+
update(String[]) - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSummary
+
 
+
update(String[], String[]) - Method in class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch
+
+
Updates the sketch with String arrays for both key and value.
+
+
update(String, double[]) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Updates this sketch with a String key and double values.
+
+
update(String, Double) - Method in class org.apache.datasketches.tuple.adouble.DoubleSketch
+
 
+
update(String, Integer) - Method in class org.apache.datasketches.tuple.aninteger.IntegerSketch
+
 
+
update(String, U) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Updates this sketch with a String key and U value.
+
+
update(ByteBuffer) - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Present the given ByteBuffer as a potential unique item + If the ByteBuffer is null or empty no update attempt is made and the method returns
+
+
update(ByteBuffer) - Method in class org.apache.datasketches.hll.HllSketch
+
+
Present the given byte buffer as a potential unique item.
+
+
update(ByteBuffer) - Method in class org.apache.datasketches.theta.Union
+
+
Update this union with the given ByteBuffer item.
+
+
update(ByteBuffer) - Method in class org.apache.datasketches.theta.UpdateSketch
+
+
Present this sketch with the given ByteBuffer + If the ByteBuffer is null or empty, no update attempt is made and the method returns.
+
+
update(ByteBuffer, double[]) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Updates this sketch with a ByteBuffer key and double values.
+
+
update(ByteBuffer, U) - Method in class org.apache.datasketches.tuple.UpdatableSketch
+
+
Updates this sketch with a ByteBuffer and U value + The value is passed to the update() method of the Summary object associated with the key
+
+
update(CpcSketch) - Method in class org.apache.datasketches.cpc.CpcUnion
+
+
Update this union with a CpcSketch.
+
+
update(HllSketch) - Method in class org.apache.datasketches.hll.Union
+
+
Update this union operator with the given sketch.
+
+
update(Memory) - Method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Updates the filter with the data in the provided Memory.
+
+
update(Memory) - Method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Union the given Memory image of the sketch.
+
+
update(Memory, ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Union the given Memory image of the sketch.
+
+
update(Memory, ArrayOfItemsSerDe<T>) - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Union the given Memory image of the sketch.
+
+
update(ReservoirItemsSketch<T>) - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Union the given sketch.
+
+
update(ReservoirItemsSketch<T>) - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Union a reservoir sketch.
+
+
update(ReservoirLongsSketch) - Method in class org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
Union the given sketch.
+
+
update(VarOptItemsSketch<T>) - Method in class org.apache.datasketches.sampling.VarOptItemsUnion
+
+
Union the given sketch.
+
+
update(ArrayOfDoublesSketch, ArrayOfDoublesSketch) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotB
+
+
Perform A-and-not-B set operation on the two given sketches.
+
+
update(ArrayOfDoublesSketch, ArrayOfDoublesSketch) - Method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotBImpl
+
 
+
update(T) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Update this sketch with an item and a frequency count of one.
+
+
update(T) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
 
+
update(T) - Method in class org.apache.datasketches.quantiles.ItemsSketch
+
 
+
update(T) - Method in class org.apache.datasketches.quantiles.ItemsUnion
+
+
Update this union with the given dataItem.
+
+
update(T) - Method in interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI
+
+
Updates this sketch with the given item.
+
+
update(T) - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Updates this sketch with the given data item with weight 1.0.
+
+
update(T) - Method in class org.apache.datasketches.sampling.ReservoirItemsSketch
+
+
Randomly decide whether or not to include an item in the sample set.
+
+
update(T) - Method in class org.apache.datasketches.sampling.ReservoirItemsUnion
+
+
Present this union with a single item to be added to the union.
+
+
update(T, double) - Method in class org.apache.datasketches.sampling.EbppsItemsSketch
+
+
Updates this sketch with the given data item with the given weight.
+
+
update(T, double) - Method in class org.apache.datasketches.sampling.VarOptItemsSketch
+
+
Randomly decide whether or not to include an item in the sample set.
+
+
update(T, long) - Method in class org.apache.datasketches.frequencies.ItemsSketch
+
+
Update this sketch with an item and a positive frequency count.
+
+
update(T, long) - Method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Weighted update.
+
+
update(U) - Method in interface org.apache.datasketches.tuple.UpdatableSummary
+
+
This is to provide a method of updating summaries.
+
+
UpdateDoublesSketch - Class in org.apache.datasketches.quantiles
+
 
+
UpdateReturnState - Enum Class in org.apache.datasketches.theta
+
+ +
+
UpdateSketch - Class in org.apache.datasketches.theta
+
+
The parent class for the Update Sketch families, such as QuickSelect and Alpha.
+
+
updateSketchBuilder() - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
UpdateSketchBuilder - Class in org.apache.datasketches.theta
+
+
For building a new UpdateSketch.
+
+
UpdateSketchBuilder() - Constructor for class org.apache.datasketches.theta.UpdateSketchBuilder
+
+
Constructor for building a new UpdateSketch.
+
+
upperBound - Variable in class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow
+
+
The upper bound value
+
+
Util - Class in org.apache.datasketches.common
+
+
Common utility functions.
+
+
Util - Class in org.apache.datasketches.tuple
+
+
Common utility functions for Tuples
+
+
Util() - Constructor for class org.apache.datasketches.tuple.Util
+
 
+
+

V

+
+
validate() - Method in class org.apache.datasketches.cpc.CpcSketch
+
+
Convience function that this Sketch is valid.
+
+
validateFamily(byte, byte) - Static method in class org.apache.datasketches.tuple.SerializerDeserializer
+
+
Validates the preamble-Longs value given the family ID
+
+
validateItems(T[], Comparator<? super T>) - Static method in interface org.apache.datasketches.quantilescommon.GenericSortedView
+
+
Checks the sequential validity of the given array of generic items.
+
+
validateType(byte, SerializerDeserializer.SketchType) - Static method in class org.apache.datasketches.tuple.SerializerDeserializer
+
+
Validates the sketch type byte versus the expected value
+
+
value() - Element in annotation interface org.apache.datasketches.common.SuppressFBWarnings
+
+
A list of comma-separated, quoted SpotBugs warnings that are to be suppressed in the associated + annotated element.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.common.Family
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.common.ResizeFactor
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.frequencies.ErrorType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.hll.TgtHllType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.partitions.BoundsRule
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.quantilescommon.QuantileSearchCriteria
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.tuple.adouble.DoubleSummary.Mode
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
Returns the enum constant of this class with the specified name.
+
+
values() - Static method in enum class org.apache.datasketches.common.Family
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.common.ResizeFactor
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.frequencies.ErrorType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.hll.TgtHllType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.kll.KllSketch.SketchType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.partitions.BoundsRule
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.quantilescommon.InequalitySearch
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.quantilescommon.QuantileSearchCriteria
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.theta.UpdateReturnState
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.tuple.adouble.DoubleSummary.Mode
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
VAROPT - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The VarOpt family of sketches.
+
+
VAROPT_UNION - Enum constant in enum class org.apache.datasketches.common.Family
+
+
The VarOpt family of sketches.
+
+
VarOptItemsSamples<T> - Class in org.apache.datasketches.sampling
+
+
This class provides access to the samples contained in a VarOptItemsSketch.
+
+
VarOptItemsSamples.VarOptItemsIterator - Class in org.apache.datasketches.sampling
+
+
The standard iterator
+
+
VarOptItemsSamples.WeightedSample - Class in org.apache.datasketches.sampling
+
+
A convenience class to allow easy iterator access to a VarOpt sample.
+
+
VarOptItemsSketch<T> - Class in org.apache.datasketches.sampling
+
+
This sketch provides a variance optimal sample over an input stream of weighted items.
+
+
VarOptItemsUnion<T> - Class in org.apache.datasketches.sampling
+
+
Provides a unioning operation over varopt sketches.
+
+
viewCompactorDetail(String, boolean) - Method in class org.apache.datasketches.req.ReqSketch
+
 
+
+

W

+
+
weights() - Method in class org.apache.datasketches.sampling.VarOptItemsSamples
+
+
Returns a copy of the array of weights contained in the sketch.
+
+
weights(int) - Method in class org.apache.datasketches.sampling.VarOptItemsSamples
+
+
Returns a single weight from the samples contained in the sketch.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Wraps the given Memory into this filter class.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Wraps the given read-only Memory that must be a image of a valid sketch, + which may be in compact or updatable form, and should have data.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.quantiles.DoublesSketch
+
+
Wrap this sketch around the given Memory image of a DoublesSketch, compact or updatable.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns a read-only Union object that wraps off-heap data of the given memory image of + a sketch.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.theta.CompactSketch
+
+
Wrap takes the CompactSketch image in given Memory and refers to it directly.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Wrap takes the SetOperation image in Memory and refers to it directly.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Wrap takes the sketch image in the given Memory and refers to it directly.
+
+
wrap(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Wrap the given Memory as an ArrayOfDoublesSketch
+
+
wrap(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Wrap the given Memory as an ArrayOfDoublesUnion
+
+
wrap(Memory, long) - Static method in class org.apache.datasketches.theta.CompactSketch
+
+
Wrap takes the sketch image in the given Memory and refers to it directly.
+
+
wrap(Memory, long) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Wrap takes the SetOperation image in Memory and refers to it directly.
+
+
wrap(Memory, long) - Static method in class org.apache.datasketches.theta.Sketch
+
+
Wrap takes the sketch image in the given Memory and refers to it directly.
+
+
wrap(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
Wrap the given Memory and seed as a ArrayOfDoublesSketch
+
+
wrap(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Wrap the given Memory and seed as an ArrayOfDoublesUnion
+
+
wrap(Memory, Comparator<? super T>, ArrayOfItemsSerDe<T>) - Static method in class org.apache.datasketches.kll.KllItemsSketch
+
+
Constructs a thin wrapper on the heap around a Memory (or WritableMemory) already initialized with a + validated sketch image of a type T consistent with the given comparator and serDe.
+
+
wrap(WritableMemory) - Static method in class org.apache.datasketches.quantiles.DoublesUnion
+
+
Returns an updatable Union object that wraps off-heap data of the given memory image of + a sketch.
+
+
wrap(WritableMemory) - Static method in class org.apache.datasketches.quantiles.UpdateDoublesSketch
+
+
Wrap this sketch around the given non-compact Memory image of a DoublesSketch.
+
+
wrap(WritableMemory) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Wrap takes the SetOperation image in Memory and refers to it directly.
+
+
wrap(WritableMemory) - Static method in class org.apache.datasketches.theta.UpdateSketch
+
+
Wrap takes the sketch image in Memory and refers to it directly.
+
+
wrap(WritableMemory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Wrap the given WritableMemory as an ArrayOfDoublesUnion
+
+
wrap(WritableMemory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Wrap the given WritableMemory as an ArrayOfDoublesUpdatableSketch
+
+
wrap(WritableMemory, long) - Static method in class org.apache.datasketches.theta.SetOperation
+
+
Wrap takes the SetOperation image in Memory and refers to it directly.
+
+
wrap(WritableMemory, long) - Static method in class org.apache.datasketches.theta.UpdateSketch
+
+
Wrap takes the sketch image in Memory and refers to it directly.
+
+
wrap(WritableMemory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
Wrap the given WritableMemory and seed as an ArrayOfDoublesUnion
+
+
wrap(WritableMemory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
Wrap the given WritableMemory and seed as a ArrayOfDoublesUpdatableSketch
+
+
wrapCompactSketch(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapCompactSketch(Memory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapIntersection(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Convenience method, calls SetOperation.wrap(Memory) and casts the result to a Intersection
+
+
wrapIntersection(WritableMemory) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Convenience method, calls SetOperation.wrap(Memory) and casts the result to a Intersection
+
+
wrapSetOperation(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapSetOperation(Memory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapSetOperation(WritableMemory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapSetOperation(WritableMemory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapSketch(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapSketch(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given Memory as an ArrayOfDoublesSketch
+
+
wrapSketch(Memory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapSketch(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given Memory and seed as a ArrayOfDoublesSketch
+
+
wrapUnion(Memory) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Convenience method, calls SetOperation.wrap(Memory) and casts the result to a Union
+
+
wrapUnion(Memory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given Memory as an ArrayOfDoublesUnion
+
+
wrapUnion(Memory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given Memory and seed as an ArrayOfDoublesUnion
+
+
wrapUnion(WritableMemory) - Static method in class org.apache.datasketches.theta.Sketches
+
+
Convenience method, calls SetOperation.wrap(Memory) and casts the result to a Union
+
+
wrapUnion(WritableMemory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given Memory as an ArrayOfDoublesUnion
+
+
wrapUnion(WritableMemory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given Memory and seed as an ArrayOfDoublesUnion
+
+
wrapUpdatableSketch(WritableMemory) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given WritableMemory as an ArrayOfDoublesUpdatableSketch
+
+
wrapUpdatableSketch(WritableMemory, long) - Static method in class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
Wrap the given WritableMemory and seed as a ArrayOfDoublesUpdatableSketch
+
+
wrapUpdateSketch(WritableMemory) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
wrapUpdateSketch(WritableMemory, long) - Static method in class org.apache.datasketches.theta.Sketches
+
+ +
+
writableWrap(WritableMemory) - Static method in class org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
Wraps the given WritableMemory into this filter class.
+
+
writableWrap(WritableMemory) - Static method in class org.apache.datasketches.hll.HllSketch
+
+
Wraps the given WritableMemory, which must be a image of a valid updatable sketch, + and may have data.
+
+
writableWrap(WritableMemory) - Static method in class org.apache.datasketches.hll.Union
+
+
Wraps the given WritableMemory, which must be a image of a valid updatable HLL_8 sketch, + and may have data.
+
+
writableWrap(WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllDoublesSketch
+
+
Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
+
+
writableWrap(WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllFloatsSketch
+
+
Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
+
+
writableWrap(WritableMemory, MemoryRequestServer) - Static method in class org.apache.datasketches.kll.KllLongsSketch
+
+
Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
+
+
+

X

+
+
X1 - Enum constant in enum class org.apache.datasketches.common.ResizeFactor
+
+
Do not resize.
+
+
X2 - Enum constant in enum class org.apache.datasketches.common.ResizeFactor
+
+
Resize factor is 2.
+
+
X4 - Enum constant in enum class org.apache.datasketches.common.ResizeFactor
+
+
Resize factor is 4.
+
+
X8 - Enum constant in enum class org.apache.datasketches.common.ResizeFactor
+
+
Resize factor is 8.
+
+
XxHash - Class in org.apache.datasketches.hash
+
+
The XxHash is a fast, non-cryptographic, 64-bit hash function that has + excellent avalanche and 2-way bit independence properties.
+
+
XxHash() - Constructor for class org.apache.datasketches.hash.XxHash
+
 
+
+

Z

+
+
zeroPad(String, int) - Static method in class org.apache.datasketches.common.Util
+
+
Prepend the given string with zeros.
+
+
+A B C D E F G H I J K L M N O P Q R S T U V W X Z 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+ +
+
+ + diff --git a/docs/621/merge/index.html b/docs/621/merge/index.html new file mode 100644 index 000000000..f879c9f9e --- /dev/null +++ b/docs/621/merge/index.html @@ -0,0 +1,189 @@ + + + + +Overview (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

datasketches-java 7.0.0 API

+
+

Sketching Core Library

+

Overview

+ +

The Sketching Core Library provides a range of stochastic streaming algorithms and closely + related java technologies that are particularly useful when integrating this technology into + systems that must deal with massive data. +

+ +

This library is divided into packages that constitute distinct groups of functionality:

+ +Note: In general, if the requirements or promises of any method's contract are not fulfilled +(that is, if there is a bug in either the method or its caller), +then an unchecked exception will be thrown. +The precise type of such an unchecked exception does not form part of any method's contract.
+
+
Packages
+
+
Package
+
Description
+ +
+
This package is the parent package for all sketch families and common code areas.
+
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+ +
+
Compressed Probabilistic Counting sketch family
+
+ +
+
Frequent Distinct Tuples Sketch
+
+ +
+
The filters package contains data structures used to determine + approximate set-membership.
+
+ +
+
BloomFilter package
+
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+ +
+
The hash package contains a high-performing and extended Java implementations + of Austin Appleby's 128-bit MurmurHash3 hash function originally coded in C.
+
+ +
+
The DataSketches™ HLL sketch family package
+
+ +
+
The hllmap package contains a space efficient HLL mapping sketch of keys to approximate unique + count of identifiers.
+
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
 
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+ +
+
t-Digest for estimating quantiles and ranks.
+
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+
+ +
+
+ + diff --git a/docs/621/merge/jquery-ui.overrides.css b/docs/621/merge/jquery-ui.overrides.css new file mode 100644 index 000000000..facf852c2 --- /dev/null +++ b/docs/621/merge/jquery-ui.overrides.css @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; + border: 1px solid #F8981D; +} diff --git a/docs/621/merge/legal/ADDITIONAL_LICENSE_INFO b/docs/621/merge/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 000000000..ff700cd09 --- /dev/null +++ b/docs/621/merge/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/docs/621/merge/legal/ASSEMBLY_EXCEPTION b/docs/621/merge/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 000000000..065b8d902 --- /dev/null +++ b/docs/621/merge/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + http://openjdk.java.net/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/docs/621/merge/legal/LICENSE b/docs/621/merge/legal/LICENSE new file mode 100644 index 000000000..8b400c7ab --- /dev/null +++ b/docs/621/merge/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/docs/621/merge/legal/jquery.md b/docs/621/merge/legal/jquery.md new file mode 100644 index 000000000..a763ec6f1 --- /dev/null +++ b/docs/621/merge/legal/jquery.md @@ -0,0 +1,26 @@ +## jQuery v3.7.1 + +### jQuery License +``` +jQuery v 3.7.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` diff --git a/docs/621/merge/legal/jqueryUI.md b/docs/621/merge/legal/jqueryUI.md new file mode 100644 index 000000000..8bda9d7a8 --- /dev/null +++ b/docs/621/merge/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/docs/621/merge/member-search-index.js b/docs/621/merge/member-search-index.js new file mode 100644 index 000000000..4f531e327 --- /dev/null +++ b/docs/621/merge/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"org.apache.datasketches.common","c":"Family","l":"A_NOT_B"},{"p":"org.apache.datasketches.common","c":"Family","l":"ALPHA"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary.Mode","l":"AlwaysOne"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary.Mode","l":"AlwaysOne"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"AnotB()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"AnotB()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"aNotB(Sketch, Sketch)","u":"aNotB(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"aNotB(Sketch, Sketch, boolean, WritableMemory)","u":"aNotB(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch,boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"aNotB(Sketch, Sketch)","u":"aNotB(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"aNotB(Sketch, Sketch)","u":"aNotB(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.common","c":"BoundsOnBinomialProportions","l":"approximateLowerBoundOnP(long, long, double)","u":"approximateLowerBoundOnP(long,long,double)"},{"p":"org.apache.datasketches.common","c":"BoundsOnBinomialProportions","l":"approximateUpperBoundOnP(long, long, double)","u":"approximateUpperBoundOnP(long,long,double)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.PartitionBoundsRow","l":"approxNumDeltaItems"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"ArrayOfBooleansSerDe()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer.SketchType","l":"ArrayOfDoublesCompactSketch"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer.SketchType","l":"ArrayOfDoublesQuickSelectSketch"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"ArrayOfDoublesSerDe()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"ArrayOfDoublesSetOperationBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"ArrayOfDoublesSketches()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer.SketchType","l":"ArrayOfDoublesUnion"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"ArrayOfDoublesUpdatableSketchBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"ArrayOfItemsSerDe()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"ArrayOfLongsSerDe()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"ArrayOfNumbersSerDe()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"ArrayOfStringsSerDe()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSketch","l":"ArrayOfStringsSketch()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSketch","l":"ArrayOfStringsSketch(ArrayOfStringsSketch)","u":"%3Cinit%3E(org.apache.datasketches.tuple.strings.ArrayOfStringsSketch)"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSketch","l":"ArrayOfStringsSketch(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSketch","l":"ArrayOfStringsSketch(int, ResizeFactor, float)","u":"%3Cinit%3E(int,org.apache.datasketches.common.ResizeFactor,float)"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSketch","l":"ArrayOfStringsSketch(Memory)","u":"%3Cinit%3E(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummaryDeserializer","l":"ArrayOfStringsSummaryDeserializer()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummaryFactory","l":"ArrayOfStringsSummaryFactory()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummarySetOperations","l":"ArrayOfStringsSummarySetOperations()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"ArrayOfUtf16StringsSerDe()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"asDouble(long[])"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"asInt(byte[], int)","u":"asInt(byte[],int)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"asInt(double, int)","u":"asInt(double,int)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"asInt(int[], int)","u":"asInt(int[],int)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"asInt(long, int)","u":"asInt(long,int)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"asInt(long[], int)","u":"asInt(long[],int)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"asInt(String, int)","u":"asInt(java.lang.String,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"BinarySearch","l":"BinarySearch()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tdigest","c":"BinarySearch","l":"BinarySearch()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"Util","l":"bitAt(long, int)","u":"bitAt(long,int)"},{"p":"org.apache.datasketches.theta","c":"BitPacking","l":"BitPacking()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"Family","l":"BLOOMFILTER"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"BloomFilterBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchBuilder","l":"build()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnionBuilder","l":"build()"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"build()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"build()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"build()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketchBuilder","l":"build()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"build(Family)","u":"build(org.apache.datasketches.common.Family)"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"build(Family, WritableMemory)","u":"build(org.apache.datasketches.common.Family,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchBuilder","l":"build(WritableMemory)","u":"build(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnionBuilder","l":"build(WritableMemory)","u":"build(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"build(WritableMemory)","u":"build(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"build(WritableMemory)","u":"build(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"buildAnotB()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"buildANotB()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"builder()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"builder()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"builder()"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"builder()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"builder()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"buildIntersection()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"buildIntersection()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"buildIntersection(WritableMemory)","u":"buildIntersection(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"buildIntersection(WritableMemory)","u":"buildIntersection(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"buildLocal(UpdateSketch)","u":"buildLocal(org.apache.datasketches.theta.UpdateSketch)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"buildShared()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"buildShared(WritableMemory)","u":"buildShared(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"buildSharedFromSketch(UpdateSketch, WritableMemory)","u":"buildSharedFromSketch(org.apache.datasketches.theta.UpdateSketch,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"buildUnion()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"buildUnion()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"buildUnion(WritableMemory)","u":"buildUnion(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"buildUnion(WritableMemory)","u":"buildUnion(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"ByteArrayUtil()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"Util","l":"bytesToInt(byte[])"},{"p":"org.apache.datasketches.common","c":"Util","l":"bytesToLong(byte[])"},{"p":"org.apache.datasketches.common","c":"Util","l":"bytesToString(byte[], boolean, boolean, String)","u":"bytesToString(byte[],boolean,boolean,java.lang.String)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"caseIdToCornerCase(int)"},{"p":"org.apache.datasketches.common","c":"Util","l":"ceilingPowerBaseOfDouble(double, double)","u":"ceilingPowerBaseOfDouble(double,double)"},{"p":"org.apache.datasketches.common","c":"Util","l":"ceilingPowerOf2(int)"},{"p":"org.apache.datasketches.common","c":"Util","l":"ceilingPowerOf2(long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"characterPad(String, int, char, boolean)","u":"characterPad(java.lang.String,int,char,boolean)"},{"p":"org.apache.datasketches.common","c":"Util","l":"checkBounds(long, long, long)","u":"checkBounds(long,long,long)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"checkDoublesSplitPointsOrder(double[])"},{"p":"org.apache.datasketches.common","c":"Family","l":"checkFamilyID(int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"checkFloatsSplitPointsOrder(float[])"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"checkHashCorruption(long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"checkIfMultipleOf8AndGT0(long, String)","u":"checkIfMultipleOf8AndGT0(long,java.lang.String)"},{"p":"org.apache.datasketches.common","c":"Util","l":"checkIfPowerOf2(long, String)","u":"checkIfPowerOf2(long,java.lang.String)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"checkLongsSplitPointsOrder(long[])"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"checkNomLongs(int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"checkNormalizedRankBounds(double)"},{"p":"org.apache.datasketches.common","c":"Util","l":"checkProbability(double, String)","u":"checkProbability(double,java.lang.String)"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"checkSeedHashes(short, short)","u":"checkSeedHashes(short,short)"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"checkSeedHashes(short, short)","u":"checkSeedHashes(short,short)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"checkThetaCorruption(long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesCombiner","l":"combine(double[], double[])","u":"combine(double[],double[])"},{"p":"org.apache.datasketches.common","c":"Family","l":"COMPACT"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"COMPACT_EMPTY"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"COMPACT_FULL"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"COMPACT_SINGLE"},{"p":"org.apache.datasketches.quantiles","c":"UpdateDoublesSketch","l":"compact()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"compact()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"compact()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"compact()"},{"p":"org.apache.datasketches.tuple","c":"CompactSketch","l":"compact()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"compact()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"compact()"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"compact(boolean, WritableMemory)","u":"compact(boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"compact(boolean, WritableMemory)","u":"compact(boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"compact(boolean, WritableMemory)","u":"compact(boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.quantiles","c":"UpdateDoublesSketch","l":"compact(WritableMemory)","u":"compact(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"compact(WritableMemory)","u":"compact(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"compact(WritableMemory)","u":"compact(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer.SketchType","l":"CompactSketch"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"CompactSketch()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"compareTo(Group)","u":"compareTo(org.apache.datasketches.fdt.Group)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"compareTo(ItemsSketch.Row)","u":"compareTo(org.apache.datasketches.frequencies.ItemsSketch.Row)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"compareTo(LongsSketch.Row)","u":"compareTo(org.apache.datasketches.frequencies.LongsSketch.Row)"},{"p":"org.apache.datasketches.cpc","c":"CompressionCharacterization","l":"CompressionCharacterization(int, int, int, int, int, int, int, PrintStream, PrintWriter)","u":"%3Cinit%3E(int,int,int,int,int,int,int,java.io.PrintStream,java.io.PrintWriter)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"computeBytesNeeded(int)"},{"p":"org.apache.datasketches.quantilescommon","c":"KolmogorovSmirnov","l":"computeKSDelta(QuantilesDoublesAPI, QuantilesDoublesAPI)","u":"computeKSDelta(org.apache.datasketches.quantilescommon.QuantilesDoublesAPI,org.apache.datasketches.quantilescommon.QuantilesDoublesAPI)"},{"p":"org.apache.datasketches.quantilescommon","c":"KolmogorovSmirnov","l":"computeKSDelta(QuantilesFloatsAPI, QuantilesFloatsAPI)","u":"computeKSDelta(org.apache.datasketches.quantilescommon.QuantilesFloatsAPI,org.apache.datasketches.quantilescommon.QuantilesFloatsAPI)"},{"p":"org.apache.datasketches.quantilescommon","c":"KolmogorovSmirnov","l":"computeKSThreshold(QuantilesAPI, QuantilesAPI, double)","u":"computeKSThreshold(org.apache.datasketches.quantilescommon.QuantilesAPI,org.apache.datasketches.quantilescommon.QuantilesAPI,double)"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"computeSeedHash(long)"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"computeSeedHash(long)"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"ConcurrentBufferInserted"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"ConcurrentPropagated"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"continueCondition(long, long)","u":"continueCondition(long,long)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"convertToHashTable(long[], int, long, double)","u":"convertToHashTable(long[],int,long,double)"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"copy()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"copy()"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary","l":"copy()"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary","l":"copy()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSketch","l":"copy()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummary","l":"copy()"},{"p":"org.apache.datasketches.tuple","c":"Summary","l":"copy()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"copy()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"copyAs(TgtHllType)","u":"copyAs(org.apache.datasketches.hll.TgtHllType)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"copyBytes(byte[], int, byte[], int, int)","u":"copyBytes(byte[],int,byte[],int,int)"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"copySummaryArray(S[])"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"count(long[], long)","u":"count(long[],long)"},{"p":"org.apache.datasketches.common","c":"Family","l":"COUNTMIN"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"countPart(long[], int, long)","u":"countPart(long[],int,long)"},{"p":"org.apache.datasketches.common","c":"Family","l":"CPC"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"CpcSketch()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"CpcSketch(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"CpcSketch(int, long)","u":"%3Cinit%3E(int,long)"},{"p":"org.apache.datasketches.cpc","c":"CpcUnion","l":"CpcUnion()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.cpc","c":"CpcUnion","l":"CpcUnion(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.cpc","c":"CpcUnion","l":"CpcUnion(int, long)","u":"%3Cinit%3E(int,long)"},{"p":"org.apache.datasketches.cpc","c":"CpcWrapper","l":"CpcWrapper(byte[])","u":"%3Cinit%3E(byte[])"},{"p":"org.apache.datasketches.cpc","c":"CpcWrapper","l":"CpcWrapper(Memory)","u":"%3Cinit%3E(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"createByAccuracy(long, double)","u":"createByAccuracy(long,double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"createByAccuracy(long, double, long)","u":"createByAccuracy(long,double,long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"createBySize(long, int)","u":"createBySize(long,int)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"createBySize(long, int, long)","u":"createBySize(long,int,long)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases","l":"createCornerCaseId(long, int, boolean, long, int, boolean)","u":"createCornerCaseId(long,int,boolean,long,int,boolean)"},{"p":"org.apache.datasketches.tuple","c":"Sketches","l":"createEmptySketch()"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.DoublesPair","l":"cumWeights"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.FloatsPair","l":"cumWeights"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.ItemsPair","l":"cumWeights"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.LongsPair","l":"cumWeights"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"DEFAULT_HLL_TYPE"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"DEFAULT_K"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"DEFAULT_K"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"DEFAULT_LG_K"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"DEFAULT_LG_K"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"DEFAULT_NOMINAL_ENTRIES"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"DEFAULT_NOMINAL_ENTRIES"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"DEFAULT_NUMBER_OF_VALUES"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"DEFAULT_UPDATE_SEED"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Degen_Degen"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Degen_Empty"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Degen_Estimation"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Degen_Exact"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"DEGEN_MIN_0_F"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.IntersectAction","l":"DEGEN_MIN_0_F"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"DEGEN_MIN_0_F"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"DEGEN_THA_0_F"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"DEGEN_THA_0_F"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"DEGEN_THB_0_F"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"desc(double[], int, int, double, int)","u":"desc(double[],int,int,double,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"desc(float[], int, int, float, int)","u":"desc(float[],int,int,float,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"desc(long[], int, int, double, int)","u":"desc(long[],int,int,double,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"desc(long[], int, int, long, int)","u":"desc(long[],int,int,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"deserializeFromMemory(Memory, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"deserializeFromMemory(Memory, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"deserializeFromMemory(Memory, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"deserializeFromMemory(Memory, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"deserializeFromMemory(Memory, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"deserializeFromMemory(Memory, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"deserializeFromMemory(Memory, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"deserializeFromMemory(Memory, long, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"deserializeFromMemory(Memory, long, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"deserializeFromMemory(Memory, long, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"deserializeFromMemory(Memory, long, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"deserializeFromMemory(Memory, long, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"deserializeFromMemory(Memory, long, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"deserializeFromMemory(Memory, long, int)","u":"deserializeFromMemory(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.tuple","c":"DeserializeResult","l":"DeserializeResult(T, int)","u":"%3Cinit%3E(T,int)"},{"p":"org.apache.datasketches.theta","c":"JaccardSimilarity","l":"dissimilarityTest(Sketch, Sketch, double)","u":"dissimilarityTest(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch,double)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"dissimilarityTest(Sketch, Sketch, S, SummarySetOperations, double)","u":"dissimilarityTest(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch,S,org.apache.datasketches.tuple.SummarySetOperations,double)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"dissimilarityTest(Sketch, Sketch, SummarySetOperations, double)","u":"dissimilarityTest(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.SummarySetOperations,double)"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"DOUBLES_SKETCH"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSketch","l":"DoubleSketch(int, DoubleSummary.Mode)","u":"%3Cinit%3E(int,org.apache.datasketches.tuple.adouble.DoubleSummary.Mode)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSketch","l":"DoubleSketch(int, int, float, DoubleSummary.Mode)","u":"%3Cinit%3E(int,int,float,org.apache.datasketches.tuple.adouble.DoubleSummary.Mode)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSketch","l":"DoubleSketch(Memory, DoubleSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.memory.Memory,org.apache.datasketches.tuple.adouble.DoubleSummary.Mode)"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.DoublesPair","l":"DoublesPair(double[], long[])","u":"%3Cinit%3E(double[],long[])"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchBuilder","l":"DoublesSketchBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"DoublesSketchSortedView(double[], long[], QuantilesDoublesAPI)","u":"%3Cinit%3E(double[],long[],org.apache.datasketches.quantilescommon.QuantilesDoublesAPI)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedViewIterator","l":"DoublesSortedViewIterator(double[], long[])","u":"%3Cinit%3E(double[],long[])"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary","l":"DoubleSummary(DoubleSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.tuple.adouble.DoubleSummary.Mode)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummaryDeserializer","l":"DoubleSummaryDeserializer()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummaryFactory","l":"DoubleSummaryFactory(DoubleSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.tuple.adouble.DoubleSummary.Mode)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummarySetOperations","l":"DoubleSummarySetOperations()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummarySetOperations","l":"DoubleSummarySetOperations(DoubleSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.tuple.adouble.DoubleSummary.Mode)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummarySetOperations","l":"DoubleSummarySetOperations(DoubleSummary.Mode, DoubleSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.tuple.adouble.DoubleSummary.Mode,org.apache.datasketches.tuple.adouble.DoubleSummary.Mode)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"DoublesUnion()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnionBuilder","l":"DoublesUnionBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"doubleToLongArray(double)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"downSample(DoublesSketch, int, WritableMemory)","u":"downSample(org.apache.datasketches.quantiles.DoublesSketch,int,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"downSample(int)"},{"p":"org.apache.datasketches.common","c":"Family","l":"EBPPS"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"EbppsItemsSketch(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitAdjSecSizeNumSec(byte)"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitAllHorizList()"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitCompactingStart(byte)"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitCompactionDetail(int, int, int, int, boolean)","u":"emitCompactionDetail(int,int,int,int,boolean)"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitCompactionDone(byte)"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitCompressDone()"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitMustAddCompactor()"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitNewCompactor(byte)"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitStart(ReqSketch)","u":"emitStart(org.apache.datasketches.req.ReqSketch)"},{"p":"org.apache.datasketches.req","c":"ReqDebug","l":"emitStartCompress()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"EMPTY_1_0_T"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.IntersectAction","l":"EMPTY_1_0_T"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"EMPTY_1_0_T"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Empty_Degen"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Empty_Empty"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Empty_Estimation"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Empty_Exact"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"EMPTY_MSG"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch.Inequality","l":"EQ"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"EQ"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"equallySpacedDoubles(int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"equallySpacedLongs(long, long, int)","u":"equallySpacedLongs(long,long,int)"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummary","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"org.apache.datasketches.common","c":"BoundsOnBinomialProportions","l":"erf(double)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"estimateSubsetSum(Predicate)","u":"estimateSubsetSum(java.util.function.Predicate)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"estimateSubsetSum(Predicate)","u":"estimateSubsetSum(java.util.function.Predicate)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"estimateSubsetSum(Predicate)","u":"estimateSubsetSum(java.util.function.Predicate)"},{"p":"org.apache.datasketches.common","c":"BoundsOnBinomialProportions","l":"estimateUnknownP(long, long)","u":"estimateUnknownP(long,long)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Estimation_Degen"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Estimation_Empty"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Estimation_Estimation"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Estimation_Exact"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"evenlyLogSpaced(double, double, int)","u":"evenlyLogSpaced(double,double,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"evenlySpacedDoubles(double, double, int)","u":"evenlySpacedDoubles(double,double,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"evenlySpacedFloats(float, float, int)","u":"evenlySpacedFloats(float,float,int)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Exact_Degen"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Exact_Empty"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Exact_Estimation"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"Exact_Exact"},{"p":"org.apache.datasketches.common","c":"Util","l":"exactLog2OfInt(int)"},{"p":"org.apache.datasketches.common","c":"Util","l":"exactLog2OfInt(int, String)","u":"exactLog2OfInt(int,java.lang.String)"},{"p":"org.apache.datasketches.common","c":"Util","l":"exactLog2OfLong(long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"exactLog2OfLong(long, String)","u":"exactLog2OfLong(long,java.lang.String)"},{"p":"org.apache.datasketches.theta","c":"JaccardSimilarity","l":"exactlyEqual(Sketch, Sketch)","u":"exactlyEqual(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"exactlyEqual(Sketch, Sketch, S, SummarySetOperations)","u":"exactlyEqual(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch,S,org.apache.datasketches.tuple.SummarySetOperations)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"exactlyEqual(Sketch, Sketch, SummarySetOperations)","u":"exactlyEqual(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.SummarySetOperations)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantileSearchCriteria","l":"EXCLUSIVE"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"FdtSketch(double, double)","u":"%3Cinit%3E(double,double)"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"FdtSketch(FdtSketch)","u":"%3Cinit%3E(org.apache.datasketches.fdt.FdtSketch)"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"FdtSketch(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.tuple","c":"Filter","l":"Filter(Predicate)","u":"%3Cinit%3E(java.util.function.Predicate)"},{"p":"org.apache.datasketches.tuple","c":"Filter","l":"filter(Sketch)","u":"filter(org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.quantilescommon","c":"BinarySearch","l":"find(double[], int, int, double)","u":"find(double[],int,int,double)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"find(double[], int, int, double, InequalitySearch)","u":"find(double[],int,int,double,org.apache.datasketches.quantilescommon.InequalitySearch)"},{"p":"org.apache.datasketches.quantilescommon","c":"BinarySearch","l":"find(float[], int, int, float)","u":"find(float[],int,int,float)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"find(float[], int, int, float, InequalitySearch)","u":"find(float[],int,int,float,org.apache.datasketches.quantilescommon.InequalitySearch)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"find(long[], int, int, double, InequalitySearch)","u":"find(long[],int,int,double,org.apache.datasketches.quantilescommon.InequalitySearch)"},{"p":"org.apache.datasketches.quantilescommon","c":"BinarySearch","l":"find(long[], int, int, long)","u":"find(long[],int,int,long)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"find(long[], int, int, long, InequalitySearch)","u":"find(long[],int,int,long,org.apache.datasketches.quantilescommon.InequalitySearch)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch","l":"find(T[], int, int, T, GenericInequalitySearch.Inequality, Comparator)","u":"find(T[],int,int,T,org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality,java.util.Comparator)"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"FLOATS_SKETCH"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.FloatsPair","l":"FloatsPair(float[], long[])","u":"%3Cinit%3E(float[],long[])"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"FloatsSketchSortedView(float[], long[], QuantilesFloatsAPI)","u":"%3Cinit%3E(float[],long[],org.apache.datasketches.quantilescommon.QuantilesFloatsAPI)"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedViewIterator","l":"FloatsSortedViewIterator(float[], long[])","u":"%3Cinit%3E(float[],long[])"},{"p":"org.apache.datasketches.common","c":"Util","l":"floorPowerBaseOfDouble(double, double)","u":"floorPowerBaseOfDouble(double,double)"},{"p":"org.apache.datasketches.common","c":"Util","l":"floorPowerOf2(int)"},{"p":"org.apache.datasketches.common","c":"Util","l":"floorPowerOf2(long)"},{"p":"org.apache.datasketches.common","c":"Family","l":"FREQUENCY"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary","l":"fromMemory(Memory)","u":"fromMemory(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary","l":"fromMemory(Memory)","u":"fromMemory(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.hll","c":"TgtHllType","l":"fromOrdinal(int)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"FULL_ANOTB"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.IntersectAction","l":"FULL_INTERSECT"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"FULL_UNION"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch.Inequality","l":"GE"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"GE"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch","l":"GenericInequalitySearch()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"GenericPartitionBoundaries(long, T[], long[], double[], T, T, QuantileSearchCriteria)","u":"%3Cinit%3E(long,T[],long[],double[],T,T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedViewIterator","l":"GenericSortedViewIterator(T[], long[])","u":"%3Cinit%3E(T[],long[])"},{"p":"org.apache.datasketches.theta","c":"HashIterator","l":"get()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"getActionDescription()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.IntersectAction","l":"getActionDescription()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"getActionDescription()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"getActionId()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.IntersectAction","l":"getActionId()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"getActionId()"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"getActiveEntries()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"getAnotbAction()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getAprioriError(int, long)","u":"getAprioriError(int,long)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getAprioriError(int, long)","u":"getAprioriError(int,long)"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"getAverageSketchMemoryPerKey()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"getBitsUsed()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getBoundaries()"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"getBytes()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"getC()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"getCapacity()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"getCaseDescription()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getCDF(double[])"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getCDF(double[])"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getCDF(double[], QuantileSearchCriteria)","u":"getCDF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getCDF(double[], QuantileSearchCriteria)","u":"getCDF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"getCDF(double[], QuantileSearchCriteria)","u":"getCDF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getCDF(double[], QuantileSearchCriteria)","u":"getCDF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getCDF(float[])"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getCDF(float[], QuantileSearchCriteria)","u":"getCDF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"getCDF(float[], QuantileSearchCriteria)","u":"getCDF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getCDF(float[], QuantileSearchCriteria)","u":"getCDF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getCDF(float[], QuantileSearchCriteria)","u":"getCDF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getCDF(long[])"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getCDF(long[], QuantileSearchCriteria)","u":"getCDF(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"getCDF(long[], QuantileSearchCriteria)","u":"getCDF(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getCDF(long[], QuantileSearchCriteria)","u":"getCDF(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getCDF(T[])"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getCDF(T[], QuantileSearchCriteria)","u":"getCDF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getCDF(T[], QuantileSearchCriteria)","u":"getCDF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getCDF(T[], QuantileSearchCriteria)","u":"getCDF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getCDF(T[], QuantileSearchCriteria)","u":"getCDF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"getClassOfT()"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"getClassOfT()"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"getClassOfT()"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"getClassOfT()"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"getClassOfT()"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"getClassOfT()"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"getClassOfT()"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getClassOfT()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getClassOfT()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getClassOfT()"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"getCompactBytes()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getCompactBytes()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"getCompactBytes()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getCompactSerialiedSizeBytes(int, long)","u":"getCompactSerialiedSizeBytes(int,long)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getCompactSerializationBytes()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getCompactSerializationBytes()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getCompactSketchMaxBytes(int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getCompactSketchMaxBytes(int)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getComparator()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getComparator()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getComparator()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getComparator()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getComparator()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getCompositeEstimate()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getCompositeEstimate()"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getCount()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getCountLessThanThetaLong(long)"},{"p":"org.apache.datasketches.tuple","c":"CompactSketch","l":"getCountLessThanThetaLong(long)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"getCountLessThanThetaLong(long)"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getCountLessThanThetaLong(long)"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"getCumulativeWeight()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getCumulativeWeights()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getCumulativeWeights()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getCumulativeWeights()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getCumulativeWeights()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedView","l":"getCumulativeWeights()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getCurrentBytes()"},{"p":"org.apache.datasketches.theta","c":"Union","l":"getCurrentBytes()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesCompactSketch","l":"getCurrentBytes()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getCurrentBytes()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"getCurrentCapacity()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getCurrentCompactSerializedSizeBytes()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getCurrentMapCapacity()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getCurrentMapCapacity()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getCurrentUpdatableSerializedSizeBytes()"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getDoubleBE(byte[], int)","u":"getDoubleBE(byte[],int)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getDoubleLE(byte[], int)","u":"getDoubleLE(byte[],int)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"getEffectiveK()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getEffectiveK()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getEpsilon(int)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getEpsilon(int)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"getEstimate()"},{"p":"org.apache.datasketches.cpc","c":"CpcWrapper","l":"getEstimate()"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getEstimate()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"getEstimate()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"getEstimate()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getEstimate()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getEstimate()"},{"p":"org.apache.datasketches.sampling","c":"SampleSubsetSummary","l":"getEstimate()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getEstimate()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getEstimate()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getEstimate()"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"getEstimate(byte[])"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getEstimate(int)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getEstimate(long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getEstimate(Memory)","u":"getEstimate(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getEstimate(T)"},{"p":"org.apache.datasketches.common","c":"BoundsOnRatiosInSampledSets","l":"getEstimateOfA(long, double)","u":"getEstimateOfA(long,double)"},{"p":"org.apache.datasketches.common","c":"BoundsOnRatiosInSampledSets","l":"getEstimateOfB(long, double)","u":"getEstimateOfB(long,double)"},{"p":"org.apache.datasketches.common","c":"BoundsOnRatiosInSampledSets","l":"getEstimateOfBoverA(long, long)","u":"getEstimateOfBoverA(long,long)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInThetaSketchedSets","l":"getEstimateOfBoverA(Sketch, Sketch)","u":"getEstimateOfBoverA(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInTupleSketchedSets","l":"getEstimateOfBoverA(Sketch, Sketch)","u":"getEstimateOfBoverA(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInTupleSketchedSets","l":"getEstimateOfBoverA(Sketch, Sketch)","u":"getEstimateOfBoverA(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"getFamily()"},{"p":"org.apache.datasketches.cpc","c":"CpcUnion","l":"getFamily()"},{"p":"org.apache.datasketches.cpc","c":"CpcWrapper","l":"getFamily()"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"getFamily()"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"getFamily()"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"getFamily()"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"getFamily()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getFamily()"},{"p":"org.apache.datasketches.theta","c":"Union","l":"getFamily()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getFamily()"},{"p":"org.apache.datasketches.common","c":"Family","l":"getFamilyName()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"getFillPercentage()"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getFloatBE(byte[], int)","u":"getFloatBE(byte[],int)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getFloatLE(byte[], int)","u":"getFloatLE(byte[],int)"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getFraction()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getFrequentItems(ErrorType)","u":"getFrequentItems(org.apache.datasketches.frequencies.ErrorType)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getFrequentItems(ErrorType)","u":"getFrequentItems(org.apache.datasketches.frequencies.ErrorType)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getFrequentItems(long, ErrorType)","u":"getFrequentItems(long,org.apache.datasketches.frequencies.ErrorType)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getFrequentItems(long, ErrorType)","u":"getFrequentItems(long,org.apache.datasketches.frequencies.ErrorType)"},{"p":"org.apache.datasketches.fdt","c":"PostProcessor","l":"getGroupCount()"},{"p":"org.apache.datasketches.fdt","c":"PostProcessor","l":"getGroupList(int[], int, int)","u":"getGroupList(int[],int,int)"},{"p":"org.apache.datasketches.tuple","c":"TupleSketchIterator","l":"getHash()"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getHeader()"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"getHighRankAccuracy()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getHighRankAccuracyMode()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"getId()"},{"p":"org.apache.datasketches.common","c":"Family","l":"getID()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getInstance(Class, Comparator)","u":"getInstance(java.lang.Class,java.util.Comparator)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getInstance(Class, Comparator)","u":"getInstance(java.lang.Class,java.util.Comparator)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getInstance(Class, int, Comparator)","u":"getInstance(java.lang.Class,int,java.util.Comparator)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getInstance(Class, int, Comparator)","u":"getInstance(java.lang.Class,int,java.util.Comparator)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getInstance(Class, Memory, Comparator, ArrayOfItemsSerDe)","u":"getInstance(java.lang.Class,org.apache.datasketches.memory.Memory,java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getInstance(Class, Memory, Comparator, ArrayOfItemsSerDe)","u":"getInstance(java.lang.Class,org.apache.datasketches.memory.Memory,java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getInstance(ItemsSketch)","u":"getInstance(org.apache.datasketches.quantiles.ItemsSketch)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getInstance(Memory)","u":"getInstance(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getInstance(Memory, ArrayOfItemsSerDe)","u":"getInstance(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getInstance(String)","u":"getInstance(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getIntBE(byte[], int)","u":"getIntBE(byte[],int)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"getIntersectAction()"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getIntLE(byte[], int)","u":"getIntLE(byte[],int)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"getItem()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"getItem()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples.WeightedSample","l":"getItem()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getK()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchBuilder","l":"getK()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getK()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"getK()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getK()"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"getK()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"getK()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"getK()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"getK()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"getK()"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getK()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketchIterator","l":"getKey()"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"getKeyMemoryUsageBytes()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"getKFromEpsilon(double, boolean)","u":"getKFromEpsilon(double,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ClassicUtil","l":"getKFromEpsilon(double, boolean)","u":"getKFromEpsilon(double,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getKFromEpsilon(double, boolean)","u":"getKFromEpsilon(double,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getKFromEpsilon(double, boolean)","u":"getKFromEpsilon(double,boolean)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getLgConfigK()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getLgConfigK()"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"getLgK()"},{"p":"org.apache.datasketches.cpc","c":"CpcUnion","l":"getLgK()"},{"p":"org.apache.datasketches.cpc","c":"CpcWrapper","l":"getLgK()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"getLgK()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"getLgNominalEntries()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getLgNominalEntries()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"getLgNomLongs()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getLocalLgNominalEntries()"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getLongBE(byte[], int)","u":"getLongBE(byte[],int)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getLongLE(byte[], int)","u":"getLongLE(byte[],int)"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getLowerBound()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"getLowerBound()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"getLowerBound()"},{"p":"org.apache.datasketches.sampling","c":"SampleSubsetSummary","l":"getLowerBound()"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"getLowerBound(byte[])"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"getLowerBound(int)"},{"p":"org.apache.datasketches.cpc","c":"CpcWrapper","l":"getLowerBound(int)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getLowerBound(int)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getLowerBound(int)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getLowerBound(int)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getLowerBound(int)"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getLowerBound(int)"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getLowerBound(int, int)","u":"getLowerBound(int,int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getLowerBound(int, Memory)","u":"getLowerBound(int,org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getLowerBound(long)"},{"p":"org.apache.datasketches.thetacommon","c":"BinomialBoundsN","l":"getLowerBound(long, double, int, boolean)","u":"getLowerBound(long,double,int,boolean)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getLowerBound(T)"},{"p":"org.apache.datasketches.common","c":"BoundsOnRatiosInSampledSets","l":"getLowerBoundForBoverA(long, long, double)","u":"getLowerBoundForBoverA(long,long,double)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInThetaSketchedSets","l":"getLowerBoundForBoverA(Sketch, Sketch)","u":"getLowerBoundForBoverA(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInTupleSketchedSets","l":"getLowerBoundForBoverA(Sketch, Sketch)","u":"getLowerBoundForBoverA(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInTupleSketchedSets","l":"getLowerBoundForBoverA(Sketch, Sketch)","u":"getLowerBoundForBoverA(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"getMaxAnotBResultBytes(int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getMaxAnotBResultBytes(int)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesCompactSketch","l":"getMaxBytes()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getMaxBytes()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"getMaxBytes(int, int)","u":"getMaxBytes(int,int)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getMaxCompactSketchBytes(int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getMaxCompactSketchBytes(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getMaxConcurrencyError()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getMaximumError()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getMaximumError()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getMaximumMapCapacity()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getMaximumMapCapacity()"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"getMaxIntersectionBytes(int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getMaxIntersectionBytes(int)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getMaxItem()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getMaxItem()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"getMaxK()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnionBuilder","l":"getMaxK()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getMaxK()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"getMaxK()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"getMaxK()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getMaxNumLocalThreads()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getMaxPartitions()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getMaxPartitions()"},{"p":"org.apache.datasketches.quantilescommon","c":"SketchPartitionLimits","l":"getMaxPartitions()"},{"p":"org.apache.datasketches.common","c":"Family","l":"getMaxPreLongs()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getMaxSerializationBytes(int)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"getMaxSerializedBytes(int)"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"getMaxSerializedSizeBytes(int, long, KllSketch.SketchType, boolean)","u":"getMaxSerializedSizeBytes(int,long,org.apache.datasketches.kll.KllSketch.SketchType,boolean)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"getMaxUnionBytes()"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"getMaxUnionBytes(int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getMaxUnionBytes(int)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getMaxUpdatableSerializationBytes(int, TgtHllType)","u":"getMaxUpdatableSerializationBytes(int,org.apache.datasketches.hll.TgtHllType)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getMaxUpdateSketchBytes(int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getMaxUpdateSketchBytes(int)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getMaxValue()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"getMemoryRequestServer()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getMemoryRequestServer()"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"getMemoryUsageBytes()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getMinItem()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getMinItem()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getMinItem()"},{"p":"org.apache.datasketches.quantilescommon","c":"SketchPartitionLimits","l":"getMinPartitionSizeItems()"},{"p":"org.apache.datasketches.common","c":"Family","l":"getMinPreLongs()"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getMinValue()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getN()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"SketchPartitionLimits","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedView","l":"getN()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedViewIterator","l":"getN()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getN()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"getN()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"getN()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"getN()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"getN()"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"getName()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedViewIterator","l":"getNaturalRank()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"getNaturalRank(double, long, QuantileSearchCriteria)","u":"getNaturalRank(double,long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedViewIterator","l":"getNaturalRank(QuantileSearchCriteria)","u":"getNaturalRank(org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getNaturalRanks()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"getNominalEntries()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"getNominalEntries()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedViewIterator","l":"getNormalizedRank()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedViewIterator","l":"getNormalizedRank(QuantileSearchCriteria)","u":"getNormalizedRank(org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"getNormalizedRankError(boolean)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getNormalizedRankError(boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getNormalizedRankError(boolean)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"getNormalizedRankError(boolean)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getNormalizedRankError(boolean)"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"getNormalizedRankError(int, boolean)","u":"getNormalizedRankError(int,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ClassicUtil","l":"getNormalizedRankError(int, boolean)","u":"getNormalizedRankError(int,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getNormalizedRankError(int, boolean)","u":"getNormalizedRankError(int,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getNormalizedRankError(int, boolean)","u":"getNormalizedRankError(int,boolean)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getNormalizedRanks()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getNumActiveItems()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getNumActiveItems()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getNumDeltaItems()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"getNumHashes()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getNumPartitions()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getNumPoolThreads()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"getNumRetained()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedView","l":"getNumRetained()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getNumRetained()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"getNumSamples()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"getNumSamples()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples","l":"getNumSamples()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"getNumSamples()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getNumValues()"},{"p":"org.apache.datasketches.tuple","c":"DeserializeResult","l":"getObject()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"getP()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getP()"},{"p":"org.apache.datasketches.quantilescommon","c":"PartitioningFeature","l":"getPartitionBoundariesFromNumParts(int)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria)","u":"getPartitionBoundariesFromNumParts(int,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria)","u":"getPartitionBoundariesFromNumParts(int,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria)","u":"getPartitionBoundariesFromNumParts(int,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"PartitioningFeature","l":"getPartitionBoundariesFromNumParts(int, QuantileSearchCriteria)","u":"getPartitionBoundariesFromNumParts(int,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"PartitioningFeature","l":"getPartitionBoundariesFromPartSize(long)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria)","u":"getPartitionBoundariesFromPartSize(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria)","u":"getPartitionBoundariesFromPartSize(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria)","u":"getPartitionBoundariesFromPartSize(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"PartitioningFeature","l":"getPartitionBoundariesFromPartSize(long, QuantileSearchCriteria)","u":"getPartitionBoundariesFromPartSize(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getPMF(double[])"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getPMF(double[])"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getPMF(double[], QuantileSearchCriteria)","u":"getPMF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getPMF(double[], QuantileSearchCriteria)","u":"getPMF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"getPMF(double[], QuantileSearchCriteria)","u":"getPMF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getPMF(double[], QuantileSearchCriteria)","u":"getPMF(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getPMF(float[])"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getPMF(float[], QuantileSearchCriteria)","u":"getPMF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"getPMF(float[], QuantileSearchCriteria)","u":"getPMF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getPMF(float[], QuantileSearchCriteria)","u":"getPMF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getPMF(float[], QuantileSearchCriteria)","u":"getPMF(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getPMF(long[])"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getPMF(long[], QuantileSearchCriteria)","u":"getPMF(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"getPMF(long[], QuantileSearchCriteria)","u":"getPMF(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getPMF(long[], QuantileSearchCriteria)","u":"getPMF(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getPMF(T[])"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getPMF(T[], QuantileSearchCriteria)","u":"getPMF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getPMF(T[], QuantileSearchCriteria)","u":"getPMF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getPMF(T[], QuantileSearchCriteria)","u":"getPMF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getPMF(T[], QuantileSearchCriteria)","u":"getPMF(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"getPostProcessor()"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"getPostProcessor(Group, char)","u":"getPostProcessor(org.apache.datasketches.fdt.Group,char)"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"getPreInts()"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getPrimaryKey()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getPropagateOrderedCompact()"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedViewIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedViewIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedViewIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedViewIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.req","c":"ReqSketchIterator","l":"getQuantile()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getQuantile(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getQuantile(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getQuantile(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getQuantile(double)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getQuantile(double)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getQuantile(double, QuantileSearchCriteria)","u":"getQuantile(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedViewIterator","l":"getQuantile(QuantileSearchCriteria)","u":"getQuantile(org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getQuantileLowerBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getQuantileLowerBound(double, int)","u":"getQuantileLowerBound(double,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"getQuantiles()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getQuantiles(double[])"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getQuantiles(double[])"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getQuantiles(double[])"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getQuantiles(double[])"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getQuantiles(double[], QuantileSearchCriteria)","u":"getQuantiles(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getQuantileUpperBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getQuantileUpperBound(double, int)","u":"getQuantileUpperBound(double,int)"},{"p":"org.apache.datasketches.partitions","c":"SketchFillRequest","l":"getRange(T, T, BoundsRule)","u":"getRange(T,T,org.apache.datasketches.partitions.BoundsRule)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getRank(double)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getRank(double)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getRank(double, QuantileSearchCriteria)","u":"getRank(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getRank(double, QuantileSearchCriteria)","u":"getRank(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"getRank(double, QuantileSearchCriteria)","u":"getRank(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"getRank(double, QuantileSearchCriteria)","u":"getRank(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getRank(double, QuantileSearchCriteria)","u":"getRank(double,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getRank(float)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getRank(float, QuantileSearchCriteria)","u":"getRank(float,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"getRank(float, QuantileSearchCriteria)","u":"getRank(float,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"getRank(float, QuantileSearchCriteria)","u":"getRank(float,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getRank(float, QuantileSearchCriteria)","u":"getRank(float,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getRank(float, QuantileSearchCriteria)","u":"getRank(float,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getRank(long)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getRank(long, QuantileSearchCriteria)","u":"getRank(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"getRank(long, QuantileSearchCriteria)","u":"getRank(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"getRank(long, QuantileSearchCriteria)","u":"getRank(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getRank(long, QuantileSearchCriteria)","u":"getRank(long,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getRank(T)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getRank(T, QuantileSearchCriteria)","u":"getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getRank(T, QuantileSearchCriteria)","u":"getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"getRank(T, QuantileSearchCriteria)","u":"getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"getRank(T, QuantileSearchCriteria)","u":"getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getRank(T, QuantileSearchCriteria)","u":"getRank(T,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getRankLowerBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getRankLowerBound(double, int)","u":"getRankLowerBound(double,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getRanks(double[])"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getRanks(double[], QuantileSearchCriteria)","u":"getRanks(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getRanks(double[], QuantileSearchCriteria)","u":"getRanks(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getRanks(double[], QuantileSearchCriteria)","u":"getRanks(double[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getRanks(float[])"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getRanks(float[], QuantileSearchCriteria)","u":"getRanks(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getRanks(float[], QuantileSearchCriteria)","u":"getRanks(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getRanks(float[], QuantileSearchCriteria)","u":"getRanks(float[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getRanks(long[])"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getRanks(long[], QuantileSearchCriteria)","u":"getRanks(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getRanks(long[], QuantileSearchCriteria)","u":"getRanks(long[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getRanks(T[])"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getRanks(T[], QuantileSearchCriteria)","u":"getRanks(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getRanks(T[], QuantileSearchCriteria)","u":"getRanks(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getRanks(T[], QuantileSearchCriteria)","u":"getRanks(T[],org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getRankUpperBound(double)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getRankUpperBound(double, int)","u":"getRankUpperBound(double,int)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getRelErr(boolean, boolean, int, int)","u":"getRelErr(boolean,boolean,int,int)"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"getReqDebug()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"getResizeFactor()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"getResizeFactor()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getResizeFactor()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"getResizeFactor()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"getResizeFactor()"},{"p":"org.apache.datasketches.cpc","c":"CpcUnion","l":"getResult()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getResult()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"getResult()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getResult()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"getResult()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"getResult()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"getResult()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"getResult()"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"getResult()"},{"p":"org.apache.datasketches.theta","c":"Union","l":"getResult()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesAnotB","l":"getResult()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesAnotBImpl","l":"getResult()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesIntersection","l":"getResult()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"getResult()"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"getResult()"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"getResult()"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"getResult(boolean)"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"getResult(boolean)"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"getResult(boolean)"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"getResult(boolean, WritableMemory)","u":"getResult(boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"getResult(boolean, WritableMemory)","u":"getResult(boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"getResult(boolean, WritableMemory, boolean)","u":"getResult(boolean,org.apache.datasketches.memory.WritableMemory,boolean)"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"getResult(int[], int, int, char)","u":"getResult(int[],int,int,char)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getResult(TgtHllType)","u":"getResult(org.apache.datasketches.hll.TgtHllType)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"getResult(WritableMemory)","u":"getResult(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesAnotB","l":"getResult(WritableMemory)","u":"getResult(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesAnotBImpl","l":"getResult(WritableMemory)","u":"getResult(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesIntersection","l":"getResult(WritableMemory)","u":"getResult(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"getResult(WritableMemory)","u":"getResult(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"getResultAndReset()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"getResultAndReset()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getRetainedEntries()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getRetainedEntries()"},{"p":"org.apache.datasketches.tuple","c":"CompactSketch","l":"getRetainedEntries()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"getRetainedEntries()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getRetainedEntries()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getRetainedEntries(boolean)"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"getRF(int)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"getRowHeader()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"getRowHeader()"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getRse()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getRSE(int, double, boolean, long)","u":"getRSE(int,double,boolean,long)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"getSamples()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"getSamples()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"getSamples(Class)","u":"getSamples(java.lang.Class)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"getSamplingProbability()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"getSamplingProbability()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericPartitionBoundaries","l":"getSearchCriteria()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"getSeed()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"getSeed()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"getSeed()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getSerializationVersion()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getSerializationVersion(Memory)","u":"getSerializationVersion(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getSerializationVersion(Memory)","u":"getSerializationVersion(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getSerializationVersion(Memory)","u":"getSerializationVersion(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"getSerializedFilterSize(long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"getSerializedFilterSizeByAccuracy(long, double)","u":"getSerializedFilterSizeByAccuracy(long,double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"getSerializedSize(long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"getSerializedSizeBytes()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"getSerializedSizeBytes()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getSerializedSizeBytes()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getSerializedSizeBytes()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getSerializedSizeBytes()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getSerializedSizeBytes()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getSerializedSizeBytes()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"getSerializedSizeBytes(ArrayOfItemsSerDe)","u":"getSerializedSizeBytes(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"getSerializedSizeBytes(ArrayOfItemsSerDe, Class)","u":"getSerializedSizeBytes(org.apache.datasketches.common.ArrayOfItemsSerDe,java.lang.Class)"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"getSerVer()"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getShortBE(byte[], int)","u":"getShortBE(byte[],int)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"getShortLE(byte[], int)","u":"getShortLE(byte[],int)"},{"p":"org.apache.datasketches.tuple","c":"DeserializeResult","l":"getSize()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"getSketchSamples()"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"getSketchStructure(int, int)","u":"getSketchStructure(int,int)"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer","l":"getSketchType(Memory)","u":"getSketchType(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"getSortedView()"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"getSortedView()"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"getSortedView()"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"getSortedView()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getSortedView()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"getSortedView()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"getSortedView()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"getSortedView()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"getSortedView()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"getSortedView()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"getSortedView()"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"getStartingCapacity(int, int)","u":"getStartingCapacity(int,int)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getStorageBytes()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getStreamLength()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getStreamLength()"},{"p":"org.apache.datasketches.tuple","c":"TupleSketchIterator","l":"getSummary()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getSummaryFactory()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getTgtHllType()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getTgtHllType()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getTheta()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getTheta()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getTheta()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getThetaLong()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getThetaLong()"},{"p":"org.apache.datasketches.sampling","c":"SampleSubsetSummary","l":"getTotalSketchWeight()"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"getTotalWeight()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"getUnionAction()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getUpdatableSerializationBytes()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getUpdatableSerializationBytes()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"getUpdatableStorageBytes(int, long)","u":"getUpdatableStorageBytes(int,long)"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"getUpperBound()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"getUpperBound()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"getUpperBound()"},{"p":"org.apache.datasketches.sampling","c":"SampleSubsetSummary","l":"getUpperBound()"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"getUpperBound(byte[])"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"getUpperBound(int)"},{"p":"org.apache.datasketches.cpc","c":"CpcWrapper","l":"getUpperBound(int)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"getUpperBound(int)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"getUpperBound(int)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"getUpperBound(int)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getUpperBound(int)"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getUpperBound(int)"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"getUpperBound(int, int)","u":"getUpperBound(int,int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"getUpperBound(int, Memory)","u":"getUpperBound(int,org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"getUpperBound(long)"},{"p":"org.apache.datasketches.thetacommon","c":"BinomialBoundsN","l":"getUpperBound(long, double, int, boolean)","u":"getUpperBound(long,double,int,boolean)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"getUpperBound(T)"},{"p":"org.apache.datasketches.common","c":"BoundsOnRatiosInSampledSets","l":"getUpperBoundForBoverA(long, long, double)","u":"getUpperBoundForBoverA(long,long,double)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInThetaSketchedSets","l":"getUpperBoundForBoverA(Sketch, Sketch)","u":"getUpperBoundForBoverA(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInTupleSketchedSets","l":"getUpperBoundForBoverA(Sketch, Sketch)","u":"getUpperBoundForBoverA(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.thetacommon","c":"BoundsOnRatiosInTupleSketchedSets","l":"getUpperBoundForBoverA(Sketch, Sketch)","u":"getUpperBoundForBoverA(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"getValue()"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary","l":"getValue()"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary","l":"getValue()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummary","l":"getValue()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"getValues()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketchIterator","l":"getValues()"},{"p":"org.apache.datasketches.kll","c":"KllSketchIterator","l":"getWeight()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchIterator","l":"getWeight()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketchIterator","l":"getWeight()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesSketchIterator","l":"getWeight()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedViewIterator","l":"getWeight()"},{"p":"org.apache.datasketches.req","c":"ReqSketchIterator","l":"getWeight()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples.WeightedSample","l":"getWeight()"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.StackElement","l":"gpb"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"Group()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch.Inequality","l":"GT"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"GT"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(byte[], int, int, long)","u":"hash(byte[],int,int,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(byte[], long)","u":"hash(byte[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(ByteBuffer, long)","u":"hash(java.nio.ByteBuffer,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(char[], int, int, long)","u":"hash(char[],int,int,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(char[], long)","u":"hash(char[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(int[], int, int, long)","u":"hash(int[],int,int,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(int[], long)","u":"hash(int[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(long, long)","u":"hash(long,long)"},{"p":"org.apache.datasketches.hash","c":"XxHash","l":"hash(long, long)","u":"hash(long,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(long[], int, int, long)","u":"hash(long[],int,int,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(long[], long)","u":"hash(long[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3","l":"hash(Memory, long)","u":"hash(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.hash","c":"XxHash","l":"hash(Memory, long, long, long)","u":"hash(org.apache.datasketches.memory.Memory,long,long,long)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"hashArrayInsert(long[], long[], int, long)","u":"hashArrayInsert(long[],long[],int,long)"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"hashCode()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"hashCode()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"hashCode()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummary","l":"hashCode()"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"hashInsertOnly(long[], int, long)","u":"hashInsertOnly(long[],int,long)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"hashInsertOnlyMemory(WritableMemory, int, long, int)","u":"hashInsertOnlyMemory(org.apache.datasketches.memory.WritableMemory,int,long,int)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"hashSearch(long[], int, long)","u":"hashSearch(long[],int,long)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"hashSearchMemory(Memory, int, long, int)","u":"hashSearchMemory(org.apache.datasketches.memory.Memory,int,long,int)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"hashSearchOrInsert(long[], int, long)","u":"hashSearchOrInsert(long[],int,long)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"hashSearchOrInsertMemory(WritableMemory, int, long, int)","u":"hashSearchOrInsertMemory(org.apache.datasketches.memory.WritableMemory,int,long,int)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToBytes(byte[], long)","u":"hashToBytes(byte[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToBytes(char[], long)","u":"hashToBytes(char[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToBytes(double, long)","u":"hashToBytes(double,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToBytes(int[], long)","u":"hashToBytes(int[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToBytes(long, long)","u":"hashToBytes(long,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToBytes(long[], long)","u":"hashToBytes(long[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToBytes(String, long)","u":"hashToBytes(java.lang.String,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToLongs(byte[], long)","u":"hashToLongs(byte[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToLongs(char[], long)","u":"hashToLongs(char[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToLongs(double, long)","u":"hashToLongs(double,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToLongs(int[], long)","u":"hashToLongs(int[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToLongs(long, long)","u":"hashToLongs(long,long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToLongs(long[], long)","u":"hashToLongs(long[],long)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"hashToLongs(String, long)","u":"hashToLongs(java.lang.String,long)"},{"p":"org.apache.datasketches.common","c":"MemoryStatus","l":"hasMemory()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"hasMemory()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"DirectBitArrayR","l":"hasMemory()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"hasMemory()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"hasMemory()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"hasMemory()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"hasMemory()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"hasMemory()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"hasMemory()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"hasMemory()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples.VarOptItemsIterator","l":"hasNext()"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"hasResult()"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"hasResult()"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"heapify(byte[])"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"heapify(byte[])"},{"p":"org.apache.datasketches.hll","c":"Union","l":"heapify(byte[])"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"heapify(byte[], long)","u":"heapify(byte[],long)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"heapify(DoublesSketch)","u":"heapify(org.apache.datasketches.quantiles.DoublesSketch)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"UpdateDoublesSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"heapify(Memory)","u":"heapify(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"heapify(Memory, ArrayOfItemsSerDe)","u":"heapify(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"heapify(Memory, ArrayOfItemsSerDe)","u":"heapify(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"heapify(Memory, ArrayOfItemsSerDe)","u":"heapify(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"heapify(Memory, ArrayOfItemsSerDe)","u":"heapify(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"heapify(Memory, ArrayOfItemsSerDe)","u":"heapify(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"heapify(Memory, boolean)","u":"heapify(org.apache.datasketches.memory.Memory,boolean)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"heapify(Memory, Comparator, ArrayOfItemsSerDe)","u":"heapify(org.apache.datasketches.memory.Memory,java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"heapify(Memory, long)","u":"heapify(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifyCompactSketch(Memory)","u":"heapifyCompactSketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifyCompactSketch(Memory, long)","u":"heapifyCompactSketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifySetOperation(Memory)","u":"heapifySetOperation(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifySetOperation(Memory, long)","u":"heapifySetOperation(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifySketch(Memory)","u":"heapifySketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"heapifySketch(Memory)","u":"heapifySketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifySketch(Memory, long)","u":"heapifySketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"heapifySketch(Memory, long)","u":"heapifySketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple","c":"Sketches","l":"heapifySketch(Memory, SummaryDeserializer)","u":"heapifySketch(org.apache.datasketches.memory.Memory,org.apache.datasketches.tuple.SummaryDeserializer)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummaryDeserializer","l":"heapifySummary(Memory)","u":"heapifySummary(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummaryDeserializer","l":"heapifySummary(Memory)","u":"heapifySummary(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummaryDeserializer","l":"heapifySummary(Memory)","u":"heapifySummary(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple","c":"SummaryDeserializer","l":"heapifySummary(Memory)","u":"heapifySummary(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"heapifyUnion(Memory)","u":"heapifyUnion(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"heapifyUnion(Memory, long)","u":"heapifyUnion(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"heapifyUpdatableSketch(Memory)","u":"heapifyUpdatableSketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"heapifyUpdatableSketch(Memory, long)","u":"heapifyUpdatableSketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple","c":"Sketches","l":"heapifyUpdatableSketch(Memory, SummaryDeserializer, SummaryFactory)","u":"heapifyUpdatableSketch(org.apache.datasketches.memory.Memory,org.apache.datasketches.tuple.SummaryDeserializer,org.apache.datasketches.tuple.SummaryFactory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifyUpdateSketch(Memory)","u":"heapifyUpdateSketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"heapifyUpdateSketch(Memory, long)","u":"heapifyUpdateSketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.common","c":"Family","l":"HLL"},{"p":"org.apache.datasketches.hll","c":"TgtHllType","l":"HLL_4"},{"p":"org.apache.datasketches.hll","c":"TgtHllType","l":"HLL_6"},{"p":"org.apache.datasketches.hll","c":"TgtHllType","l":"HLL_8"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"HllSketch()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"HllSketch(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"HllSketch(int, TgtHllType)","u":"%3Cinit%3E(int,org.apache.datasketches.hll.TgtHllType)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"HllSketch(int, TgtHllType, WritableMemory)","u":"%3Cinit%3E(int,org.apache.datasketches.hll.TgtHllType,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.common","c":"Family","l":"idToFamily(int)"},{"p":"org.apache.datasketches.partitions","c":"BoundsRule","l":"INCLUDE_BOTH"},{"p":"org.apache.datasketches.partitions","c":"BoundsRule","l":"INCLUDE_LOWER"},{"p":"org.apache.datasketches.partitions","c":"BoundsRule","l":"INCLUDE_NEITHER"},{"p":"org.apache.datasketches.partitions","c":"BoundsRule","l":"INCLUDE_UPPER"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax","l":"includeDoublesMinMax(double[], long[], double, double)","u":"includeDoublesMinMax(double[],long[],double,double)"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax","l":"includeFloatsMinMax(float[], long[], float, float)","u":"includeFloatsMinMax(float[],long[],float,float)"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax","l":"includeItemsMinMax(T[], long[], T, T, Comparator)","u":"includeItemsMinMax(T[],long[],T,T,java.util.Comparator)"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax","l":"includeLongsMinMax(long[], long[], long, long)","u":"includeLongsMinMax(long[],long[],long,long)"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax","l":"IncludeMinMax()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantileSearchCriteria","l":"INCLUSIVE"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"init(String, int, double, double, double, double, double)","u":"init(java.lang.String,int,double,double,double,double,double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"initializeByAccuracy(long, double, long, WritableMemory)","u":"initializeByAccuracy(long,double,long,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"initializeByAccuracy(long, double, WritableMemory)","u":"initializeByAccuracy(long,double,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"initializeBySize(long, int, long, WritableMemory)","u":"initializeBySize(long,int,long,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"initializeBySize(long, int, WritableMemory)","u":"initializeBySize(long,int,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"InsertedCountIncremented"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"InsertedCountIncrementedRebuilt"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"InsertedCountIncrementedResized"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"InsertedCountNotIncremented"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSketch","l":"IntegerSketch(int, int, float, IntegerSummary.Mode)","u":"%3Cinit%3E(int,int,float,org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSketch","l":"IntegerSketch(int, IntegerSummary.Mode)","u":"%3Cinit%3E(int,org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSketch","l":"IntegerSketch(Memory, IntegerSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.memory.Memory,org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary","l":"IntegerSummary(IntegerSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummaryDeserializer","l":"IntegerSummaryDeserializer()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummaryFactory","l":"IntegerSummaryFactory(IntegerSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummarySetOperations","l":"IntegerSummarySetOperations(IntegerSummary.Mode, IntegerSummary.Mode)","u":"%3Cinit%3E(org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode,org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesIntersection","l":"intersect(ArrayOfDoublesSketch, ArrayOfDoublesCombiner)","u":"intersect(org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch,org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCombiner)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"intersect(BloomFilter)","u":"intersect(org.apache.datasketches.filters.bloomfilter.BloomFilter)"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"intersect(Sketch)","u":"intersect(org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"intersect(Sketch, S)","u":"intersect(org.apache.datasketches.theta.Sketch,S)"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"intersect(Sketch, Sketch)","u":"intersect(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"intersect(Sketch, Sketch, boolean, WritableMemory)","u":"intersect(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch,boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"intersect(Sketch)","u":"intersect(org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"intersect(Sketch, Sketch, S)","u":"intersect(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch,S)"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"intersect(Sketch, Sketch)","u":"intersect(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.common","c":"Family","l":"INTERSECTION"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"Intersection()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummarySetOperations","l":"intersection(ArrayOfStringsSummary, ArrayOfStringsSummary)","u":"intersection(org.apache.datasketches.tuple.strings.ArrayOfStringsSummary,org.apache.datasketches.tuple.strings.ArrayOfStringsSummary)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummarySetOperations","l":"intersection(DoubleSummary, DoubleSummary)","u":"intersection(org.apache.datasketches.tuple.adouble.DoubleSummary,org.apache.datasketches.tuple.adouble.DoubleSummary)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummarySetOperations","l":"intersection(IntegerSummary, IntegerSummary)","u":"intersection(org.apache.datasketches.tuple.aninteger.IntegerSummary,org.apache.datasketches.tuple.aninteger.IntegerSummary)"},{"p":"org.apache.datasketches.tuple","c":"SummarySetOperations","l":"intersection(S, S)","u":"intersection(S,S)"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"Intersection(SummarySetOperations)","u":"%3Cinit%3E(org.apache.datasketches.tuple.SummarySetOperations)"},{"p":"org.apache.datasketches.common","c":"Util","l":"intToBytes(int, byte[])","u":"intToBytes(int,byte[])"},{"p":"org.apache.datasketches.common","c":"Util","l":"INVERSE_GOLDEN"},{"p":"org.apache.datasketches.common","c":"Util","l":"INVERSE_GOLDEN_U64"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"invert()"},{"p":"org.apache.datasketches.common","c":"Util","l":"invPow2(int)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"isCompact()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"isCompact()"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"isCompact()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"isCompact()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"isCompact()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"isCompactMemoryFormat()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"isCompatible(BloomFilter)","u":"isCompatible(org.apache.datasketches.filters.bloomfilter.BloomFilter)"},{"p":"org.apache.datasketches.common","c":"MemoryStatus","l":"isDirect()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"isDirect()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"DirectBitArrayR","l":"isDirect()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"isDirect()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"isDirect()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"isDirect()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"isDirect()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"isDirect()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"isDirect()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"isDirect()"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"isEmpty()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"isEmpty()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"isEmpty()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"isEmpty()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"isEmpty()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"isEmpty()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"isEmpty()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"isEmpty()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"isEmpty()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedView","l":"isEmpty()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"isEmpty()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"isEmpty()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"isEmpty()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"isEmpty()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"isEstimationMode()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"isEstimationMode()"},{"p":"org.apache.datasketches.common","c":"Util","l":"isEven(long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"isLessThanUnsigned(long, long)","u":"isLessThanUnsigned(long,long)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"isMemory()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"isMemory()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"isMemoryUpdatableFormat()"},{"p":"org.apache.datasketches.common","c":"Util","l":"isMultipleOf8AndGT0(long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"isOdd(long)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"isOffHeap()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"isOffHeap()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"isOrdered()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"isOrdered()"},{"p":"org.apache.datasketches.common","c":"Util","l":"isPowerOf2(long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"isReadOnly()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"DirectBitArrayR","l":"isReadOnly()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"isReadOnly()"},{"p":"org.apache.datasketches.quantiles","c":"CompactDoublesSketch","l":"isReadOnly()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"isReadOnly()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"isReadOnly()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"isReadOnly()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"isReadOnly()"},{"p":"org.apache.datasketches.common","c":"MemoryStatus","l":"isSameResource(Memory)","u":"isSameResource(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"isSameResource(Memory)","u":"isSameResource(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"isSameResource(Memory)","u":"isSameResource(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"isSameResource(Memory)","u":"isSameResource(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"isSameResource(Memory)","u":"isSameResource(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"isSameResource(Memory)","u":"isSameResource(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"ITEMS_SKETCH"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples","l":"items()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples","l":"items(int)"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.ItemsPair","l":"ItemsPair(T[], long[])","u":"%3Cinit%3E(T[],long[])"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"ItemsSketch(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"ItemsSketchSortedView(T[], long[], QuantilesGenericAPI)","u":"%3Cinit%3E(T[],long[],org.apache.datasketches.quantilescommon.QuantilesGenericAPI)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"iterator()"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"iterator()"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"iterator()"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"iterator()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"iterator()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSketchSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"DoublesSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSketchSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"FloatsSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"ItemsSketchSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedView","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"iterator()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedView","l":"iterator()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"iterator()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples","l":"iterator()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"iterator()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"iterator()"},{"p":"org.apache.datasketches.tuple","c":"CompactSketch","l":"iterator()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"iterator()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"iterator()"},{"p":"org.apache.datasketches.theta","c":"JaccardSimilarity","l":"jaccard(Sketch, Sketch)","u":"jaccard(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"jaccard(Sketch, Sketch, S, SummarySetOperations)","u":"jaccard(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch,S,org.apache.datasketches.tuple.SummarySetOperations)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"jaccard(Sketch, Sketch, SummarySetOperations)","u":"jaccard(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.SummarySetOperations)"},{"p":"org.apache.datasketches.theta","c":"JaccardSimilarity","l":"JaccardSimilarity()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"JaccardSimilarity()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"SuppressFBWarnings","l":"justification()"},{"p":"org.apache.datasketches.common","c":"Family","l":"KLL"},{"p":"org.apache.datasketches.quantilescommon","c":"KolmogorovSmirnov","l":"KolmogorovSmirnov()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantilescommon","c":"KolmogorovSmirnov","l":"kolmogorovSmirnovTest(QuantilesAPI, QuantilesAPI, double)","u":"kolmogorovSmirnovTest(org.apache.datasketches.quantilescommon.QuantilesAPI,org.apache.datasketches.quantilescommon.QuantilesAPI,double)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch.Inequality","l":"LE"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"LE"},{"p":"org.apache.datasketches.common","c":"Util","l":"le(Object, Object, Comparator)","u":"le(java.lang.Object,java.lang.Object,java.util.Comparator)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.PartitionBoundsRow","l":"levelPartId"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.StackElement","l":"levelPartId"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"lg()"},{"p":"org.apache.datasketches.common","c":"Util","l":"LOG2"},{"p":"org.apache.datasketches.common","c":"Util","l":"log2(double)"},{"p":"org.apache.datasketches.common","c":"Util","l":"logBaseOfX(double, double)","u":"logBaseOfX(double,double)"},{"p":"org.apache.datasketches.common","c":"Util","l":"LONG_MAX_VALUE_AS_DOUBLE"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"LONGS_SKETCH"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.LongsPair","l":"LongsPair(long[], long[])","u":"%3Cinit%3E(long[],long[])"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"LongsSketch(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSketchSortedView","l":"LongsSketchSortedView(long[], long[], QuantilesLongsAPI)","u":"%3Cinit%3E(long[],long[],org.apache.datasketches.quantilescommon.QuantilesLongsAPI)"},{"p":"org.apache.datasketches.quantilescommon","c":"LongsSortedViewIterator","l":"LongsSortedViewIterator(long[], long[])","u":"%3Cinit%3E(long[],long[])"},{"p":"org.apache.datasketches.common","c":"Util","l":"longToBytes(long, byte[])","u":"longToBytes(long,byte[])"},{"p":"org.apache.datasketches.common","c":"Util","l":"longToFixedLengthString(long, int)","u":"longToFixedLengthString(long,int)"},{"p":"org.apache.datasketches.common","c":"Util","l":"longToHexBytes(long)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.PartitionBoundsRow","l":"lowerBound"},{"p":"org.apache.datasketches.common","c":"Util","l":"LS"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch.Inequality","l":"LT"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"LT"},{"p":"org.apache.datasketches.common","c":"Util","l":"lt(Object, Object, Comparator)","u":"lt(java.lang.Object,java.lang.Object,java.util.Comparator)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary.Mode","l":"Max"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary.Mode","l":"Max"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"MAX_K"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"MAX_LG_NOM_LONGS"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"MAX_SIZE_BITS"},{"p":"org.apache.datasketches.common","c":"Util","l":"maxT(Object, Object, Comparator)","u":"maxT(java.lang.Object,java.lang.Object,java.util.Comparator)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"MEM_REQ_SVR_NULL_MSG"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"merge(EbppsItemsSketch)","u":"merge(org.apache.datasketches.sampling.EbppsItemsSketch)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"merge(ItemsSketch)","u":"merge(org.apache.datasketches.frequencies.ItemsSketch)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"merge(KllSketch)","u":"merge(org.apache.datasketches.kll.KllSketch)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"merge(KllSketch)","u":"merge(org.apache.datasketches.kll.KllSketch)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"merge(KllSketch)","u":"merge(org.apache.datasketches.kll.KllSketch)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"merge(KllSketch)","u":"merge(org.apache.datasketches.kll.KllSketch)"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"merge(KllSketch)","u":"merge(org.apache.datasketches.kll.KllSketch)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"merge(LongsSketch)","u":"merge(org.apache.datasketches.frequencies.LongsSketch)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"merge(ReqSketch)","u":"merge(org.apache.datasketches.req.ReqSketch)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"merge(TDigestDouble)","u":"merge(org.apache.datasketches.tdigest.TDigestDouble)"},{"p":"org.apache.datasketches.cpc","c":"MergingValidation","l":"MergingValidation(int, int, int, int, int, PrintStream, PrintWriter)","u":"%3Cinit%3E(int,int,int,int,int,java.io.PrintStream,java.io.PrintWriter)"},{"p":"org.apache.datasketches.common","c":"Util","l":"milliSecToString(long)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary.Mode","l":"Min"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary.Mode","l":"Min"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"MIN_LG_ARR_LONGS"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"MIN_LG_NOM_LONGS"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"minLgHashTableSize(int, double)","u":"minLgHashTableSize(int,double)"},{"p":"org.apache.datasketches.common","c":"Util","l":"minT(Object, Object, Comparator)","u":"minT(java.lang.Object,java.lang.Object,java.util.Comparator)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"modulo(long, long, int)","u":"modulo(long,long,int)"},{"p":"org.apache.datasketches.hash","c":"MurmurHash3Adaptor","l":"modulo(long[], int)","u":"modulo(long[],int)"},{"p":"org.apache.datasketches.common","c":"Util","l":"nanoSecToString(long)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"newDirectInstance(int, WritableMemory, MemoryRequestServer)","u":"newDirectInstance(int,org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"newDirectInstance(int, WritableMemory, MemoryRequestServer)","u":"newDirectInstance(int,org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"newDirectInstance(int, WritableMemory, MemoryRequestServer)","u":"newDirectInstance(int,org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"newDirectInstance(WritableMemory, MemoryRequestServer)","u":"newDirectInstance(org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"newDirectInstance(WritableMemory, MemoryRequestServer)","u":"newDirectInstance(org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"newDirectInstance(WritableMemory, MemoryRequestServer)","u":"newDirectInstance(org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"newHeapInstance()"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"newHeapInstance()"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"newHeapInstance()"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"newHeapInstance(Comparator, ArrayOfItemsSerDe)","u":"newHeapInstance(java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"newHeapInstance(int)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"newHeapInstance(int)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"newHeapInstance(int)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"newHeapInstance(int, Comparator, ArrayOfItemsSerDe)","u":"newHeapInstance(int,java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"newInstance(int)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"newInstance(int)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"newInstance(int)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"newInstance(int)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"newInstance(int)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"newInstance(int)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"newInstance(int, ResizeFactor)","u":"newInstance(int,org.apache.datasketches.common.ResizeFactor)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"newInstance(int, ResizeFactor)","u":"newInstance(int,org.apache.datasketches.common.ResizeFactor)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"newInstance(int, ResizeFactor)","u":"newInstance(int,org.apache.datasketches.common.ResizeFactor)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummaryFactory","l":"newSummary()"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummaryFactory","l":"newSummary()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummaryFactory","l":"newSummary()"},{"p":"org.apache.datasketches.tuple","c":"SummaryFactory","l":"newSummary()"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"newSummaryArray(S[], int)","u":"newSummaryArray(S[],int)"},{"p":"org.apache.datasketches.kll","c":"KllSketchIterator","l":"next()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchIterator","l":"next()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketchIterator","l":"next()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesSketchIterator","l":"next()"},{"p":"org.apache.datasketches.quantilescommon","c":"SortedViewIterator","l":"next()"},{"p":"org.apache.datasketches.req","c":"ReqSketchIterator","l":"next()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples.VarOptItemsIterator","l":"next()"},{"p":"org.apache.datasketches.theta","c":"HashIterator","l":"next()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketchIterator","l":"next()"},{"p":"org.apache.datasketches.tuple","c":"TupleSketchIterator","l":"next()"},{"p":"org.apache.datasketches.frequencies","c":"ErrorType","l":"NO_FALSE_NEGATIVES"},{"p":"org.apache.datasketches.frequencies","c":"ErrorType","l":"NO_FALSE_POSITIVES"},{"p":"org.apache.datasketches.common","c":"BoundsOnBinomialProportions","l":"normalCDF(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"NOT_SINGLE_ITEM_MSG"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"notB(Sketch)","u":"notB(org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"notB(Sketch)","u":"notB(org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"notB(Sketch)","u":"notB(org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.common","c":"Util","l":"numberOfLeadingOnes(long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"numberOfTrailingOnes(long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"numDigits(long)"},{"p":"org.apache.datasketches.theta","c":"BitPacking","l":"packBits(long, int, byte[], int, int)","u":"packBits(long,int,byte[],int,int)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.PartitionBoundsRow","l":"part"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.StackElement","l":"part"},{"p":"org.apache.datasketches.partitions","c":"Partitioner","l":"partition(S)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.PartitionBoundsRow","l":"PartitionBoundsRow(Partitioner.StackElement)","u":"%3Cinit%3E(org.apache.datasketches.partitions.Partitioner.StackElement)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner","l":"Partitioner(long, int, SketchFillRequest)","u":"%3Cinit%3E(long,int,org.apache.datasketches.partitions.SketchFillRequest)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner","l":"Partitioner(long, int, SketchFillRequest, QuantileSearchCriteria)","u":"%3Cinit%3E(long,int,org.apache.datasketches.partitions.SketchFillRequest,org.apache.datasketches.quantilescommon.QuantileSearchCriteria)"},{"p":"org.apache.datasketches.fdt","c":"PostProcessor","l":"PostProcessor(FdtSketch, Group, char)","u":"%3Cinit%3E(org.apache.datasketches.fdt.FdtSketch,org.apache.datasketches.fdt.Group,char)"},{"p":"org.apache.datasketches.common","c":"Util","l":"powerSeriesNextDouble(int, double, boolean, double)","u":"powerSeriesNextDouble(int,double,boolean,double)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putDoubleBE(byte[], int, double)","u":"putDoubleBE(byte[],int,double)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putDoubleLE(byte[], int, double)","u":"putDoubleLE(byte[],int,double)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putFloatBE(byte[], int, float)","u":"putFloatBE(byte[],int,float)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putFloatLE(byte[], int, float)","u":"putFloatLE(byte[],int,float)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putIntBE(byte[], int, int)","u":"putIntBE(byte[],int,int)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putIntLE(byte[], int, int)","u":"putIntLE(byte[],int,int)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putLongBE(byte[], int, long)","u":"putLongBE(byte[],int,long)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putLongLE(byte[], int, long)","u":"putLongLE(byte[],int,long)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"putMemory(WritableMemory)","u":"putMemory(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"putMemory(WritableMemory, ArrayOfItemsSerDe)","u":"putMemory(org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"putMemory(WritableMemory, boolean)","u":"putMemory(org.apache.datasketches.memory.WritableMemory,boolean)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putShortBE(byte[], int, short)","u":"putShortBE(byte[],int,short)"},{"p":"org.apache.datasketches.common","c":"ByteArrayUtil","l":"putShortLE(byte[], int, short)","u":"putShortLE(byte[],int,short)"},{"p":"org.apache.datasketches.common","c":"Util","l":"pwr2SeriesNext(int, long)","u":"pwr2SeriesNext(int,long)"},{"p":"org.apache.datasketches.common","c":"Util","l":"pwr2SeriesPrev(int, int)","u":"pwr2SeriesPrev(int,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.DoublesPair","l":"quantiles"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.FloatsPair","l":"quantiles"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.ItemsPair","l":"quantiles"},{"p":"org.apache.datasketches.quantilescommon","c":"IncludeMinMax.LongsPair","l":"quantiles"},{"p":"org.apache.datasketches.common","c":"Family","l":"QUANTILES"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(byte[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(char[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(int[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(long[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(Memory)","u":"query(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(short[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"query(String)","u":"query(java.lang.String)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(byte[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(char[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(int[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(long[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(Memory)","u":"queryAndUpdate(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(short[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"queryAndUpdate(String)","u":"queryAndUpdate(java.lang.String)"},{"p":"org.apache.datasketches.cpc","c":"QuickMergingValidation","l":"QuickMergingValidation(int, int, int, PrintStream, PrintWriter)","u":"%3Cinit%3E(int,int,int,java.io.PrintStream,java.io.PrintWriter)"},{"p":"org.apache.datasketches.common","c":"Family","l":"QUICKSELECT"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer.SketchType","l":"QuickSelectSketch"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"rand"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"REBUILD_THRESHOLD"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"rebuild()"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"RejectedDuplicate"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"RejectedNullOrEmpty"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"RejectedOverTheta"},{"p":"org.apache.datasketches.common","c":"Family","l":"REQ"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"ReqSketchBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"Family","l":"RESERVOIR"},{"p":"org.apache.datasketches.common","c":"Family","l":"RESERVOIR_UNION"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"reset()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"reset()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"reset()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"reset()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"reset()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"reset()"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"reset()"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"reset()"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"reset()"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"reset()"},{"p":"org.apache.datasketches.quantiles","c":"CompactDoublesSketch","l":"reset()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"reset()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"reset()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"reset()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"reset()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"reset()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"reset()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"reset()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"reset()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"reset()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"reset()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"reset()"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"reset()"},{"p":"org.apache.datasketches.theta","c":"Union","l":"reset()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"reset()"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"reset()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesIntersection","l":"reset()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"reset()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"reset()"},{"p":"org.apache.datasketches.tuple","c":"Intersection","l":"reset()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"reset()"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"reset()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketchBuilder","l":"reset()"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"RESIZE_THRESHOLD"},{"p":"org.apache.datasketches.tdigest","c":"Sort","l":"reverse(double[], int)","u":"reverse(double[],int)"},{"p":"org.apache.datasketches.tdigest","c":"Sort","l":"reverse(long[], int)","u":"reverse(long[],int)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.PartitionBoundsRow","l":"rule"},{"p":"org.apache.datasketches.thetacommon","c":"QuickSelect","l":"select(double[], int, int, int)","u":"select(double[],int,int,int)"},{"p":"org.apache.datasketches.thetacommon","c":"QuickSelect","l":"select(long[], int, int, int)","u":"select(long[],int,int,int)"},{"p":"org.apache.datasketches.thetacommon","c":"QuickSelect","l":"selectExcludingZeros(double[], int, int)","u":"selectExcludingZeros(double[],int,int)"},{"p":"org.apache.datasketches.thetacommon","c":"QuickSelect","l":"selectExcludingZeros(long[], int, int)","u":"selectExcludingZeros(long[],int,int)"},{"p":"org.apache.datasketches.thetacommon","c":"QuickSelect","l":"selectIncludingZeros(double[], int)","u":"selectIncludingZeros(double[],int)"},{"p":"org.apache.datasketches.thetacommon","c":"QuickSelect","l":"selectIncludingZeros(long[], int)","u":"selectIncludingZeros(long[],int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"SELF_MERGE_MSG"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer","l":"SerializerDeserializer()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"serializeToByteArray(Boolean)","u":"serializeToByteArray(java.lang.Boolean)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"serializeToByteArray(Boolean[])","u":"serializeToByteArray(java.lang.Boolean[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"serializeToByteArray(Double)","u":"serializeToByteArray(java.lang.Double)"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"serializeToByteArray(Double[])","u":"serializeToByteArray(java.lang.Double[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"serializeToByteArray(Long)","u":"serializeToByteArray(java.lang.Long)"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"serializeToByteArray(Long[])","u":"serializeToByteArray(java.lang.Long[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"serializeToByteArray(Number)","u":"serializeToByteArray(java.lang.Number)"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"serializeToByteArray(Number[])","u":"serializeToByteArray(java.lang.Number[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"serializeToByteArray(String)","u":"serializeToByteArray(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"serializeToByteArray(String)","u":"serializeToByteArray(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"serializeToByteArray(String[])","u":"serializeToByteArray(java.lang.String[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"serializeToByteArray(String[])","u":"serializeToByteArray(java.lang.String[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"serializeToByteArray(T)"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"serializeToByteArray(T[])"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"serializeToString()"},{"p":"org.apache.datasketches.theta","c":"AnotB","l":"setA(Sketch)","u":"setA(org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"AnotB","l":"setA(Sketch)","u":"setA(org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples","l":"setClass(Class)","u":"setClass(java.lang.Class)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setFamily(Family)","u":"setFamily(org.apache.datasketches.common.Family)"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"setHighRankAccuracy(boolean)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchBuilder","l":"setK(int)"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"setK(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setLocalLogNominalEntries(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setLocalNominalEntries(int)"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"setLogNominalEntries(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setLogNominalEntries(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setMaxConcurrencyError(double)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnionBuilder","l":"setMaxK(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setMaxNumLocalThreads(int)"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"setMemoryRequestServer(MemoryRequestServer)","u":"setMemoryRequestServer(org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setMemoryRequestServer(MemoryRequestServer)","u":"setMemoryRequestServer(org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"setNominalEntries(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setNominalEntries(int)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"setNominalEntries(int)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"setNominalEntries(int)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketchBuilder","l":"setNominalEntries(int)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"setNumberOfValues(int)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"setNumberOfValues(int)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setNumPoolThreads(int)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"setOperationBuilder()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"SetOperationBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases","l":"SetOperationCornerCases()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"setP(float)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setP(float)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setPropagateOrderedCompact(boolean)"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"setReqDebug(ReqDebug)","u":"setReqDebug(org.apache.datasketches.req.ReqDebug)"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"setResizeFactor(ResizeFactor)","u":"setResizeFactor(org.apache.datasketches.common.ResizeFactor)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setResizeFactor(ResizeFactor)","u":"setResizeFactor(org.apache.datasketches.common.ResizeFactor)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"setResizeFactor(ResizeFactor)","u":"setResizeFactor(org.apache.datasketches.common.ResizeFactor)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketchBuilder","l":"setResizeFactor(ResizeFactor)","u":"setResizeFactor(org.apache.datasketches.common.ResizeFactor)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"setSamplingProbability(float)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketchBuilder","l":"setSamplingProbability(float)"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"setSeed(long)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"setSeed(long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSetOperationBuilder","l":"setSeed(long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketchBuilder","l":"setSeed(long)"},{"p":"org.apache.datasketches.theta","c":"JaccardSimilarity","l":"similarityTest(Sketch, Sketch, double)","u":"similarityTest(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch,double)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"similarityTest(Sketch, Sketch, S, SummarySetOperations, double)","u":"similarityTest(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch,S,org.apache.datasketches.tuple.SummarySetOperations,double)"},{"p":"org.apache.datasketches.tuple","c":"JaccardSimilarity","l":"similarityTest(Sketch, Sketch, SummarySetOperations, double)","u":"similarityTest(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.SummarySetOperations,double)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"sizeOf(Boolean)","u":"sizeOf(java.lang.Boolean)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"sizeOf(Boolean[])","u":"sizeOf(java.lang.Boolean[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"sizeOf(Double)","u":"sizeOf(java.lang.Double)"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"sizeOf(Double[])","u":"sizeOf(java.lang.Double[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"sizeOf(Long)","u":"sizeOf(java.lang.Long)"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"sizeOf(Long[])","u":"sizeOf(java.lang.Long[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"sizeOf(Memory, long, int)","u":"sizeOf(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"sizeOf(Memory, long, int)","u":"sizeOf(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"sizeOf(Memory, long, int)","u":"sizeOf(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"sizeOf(Memory, long, int)","u":"sizeOf(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"sizeOf(Memory, long, int)","u":"sizeOf(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"sizeOf(Memory, long, int)","u":"sizeOf(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"sizeOf(Memory, long, int)","u":"sizeOf(org.apache.datasketches.memory.Memory,long,int)"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"sizeOf(Number)","u":"sizeOf(java.lang.Number)"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"sizeOf(Number[])","u":"sizeOf(java.lang.Number[])"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"sizeOf(String)","u":"sizeOf(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"sizeOf(String)","u":"sizeOf(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"sizeOf(T)"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"sizeOf(T[])"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"SKETCH_A"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"SKETCH_A"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"SKETCH_B"},{"p":"org.apache.datasketches.tuple","c":"Sketches","l":"Sketches()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"SketchesArgumentException","l":"SketchesArgumentException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"SketchesException","l":"SketchesException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"SketchesException","l":"SketchesException(String, Throwable)","u":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.apache.datasketches.common","c":"SketchesReadOnlyException","l":"SketchesReadOnlyException()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"SketchesReadOnlyException","l":"SketchesReadOnlyException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"SketchesStateException","l":"SketchesStateException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases","l":"sketchStateId(boolean, int, long)","u":"sketchStateId(boolean,int,long)"},{"p":"org.apache.datasketches.tdigest","c":"Sort","l":"Sort()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tdigest","c":"Sort","l":"stableSort(double[], long[], int)","u":"stableSort(double[],long[],int)"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.StackElement","l":"StackElement(GenericPartitionBoundaries, int, String)","u":"%3Cinit%3E(org.apache.datasketches.quantilescommon.GenericPartitionBoundaries,int,java.lang.String)"},{"p":"org.apache.datasketches.cpc","c":"CompressionCharacterization","l":"start()"},{"p":"org.apache.datasketches.cpc","c":"MergingValidation","l":"start()"},{"p":"org.apache.datasketches.cpc","c":"QuickMergingValidation","l":"start()"},{"p":"org.apache.datasketches.cpc","c":"StreamingValidation","l":"start()"},{"p":"org.apache.datasketches.thetacommon","c":"ThetaUtil","l":"startingSubMultiple(int, int, int)","u":"startingSubMultiple(int,int,int)"},{"p":"org.apache.datasketches.cpc","c":"StreamingValidation","l":"StreamingValidation(int, int, int, int, PrintStream, PrintWriter)","u":"%3Cinit%3E(int,int,int,int,java.io.PrintStream,java.io.PrintWriter)"},{"p":"org.apache.datasketches.thetacommon","c":"HashOperations","l":"STRIDE_MASK"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"stringArrHash(String[])","u":"stringArrHash(java.lang.String[])"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"stringConcat(String[])","u":"stringConcat(java.lang.String[])"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"stringHash(String)","u":"stringHash(java.lang.String)"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"stringToByteArray(String)","u":"stringToByteArray(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"Family","l":"stringToFamily(String)","u":"stringToFamily(java.lang.String)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"suggestNumFilterBits(long, double)","u":"suggestNumFilterBits(long,double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"suggestNumHashes(double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilterBuilder","l":"suggestNumHashes(long, long)","u":"suggestNumHashes(long,long)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary.Mode","l":"Sum"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary.Mode","l":"Sum"},{"p":"org.apache.datasketches.common","c":"Util","l":"TAB"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesUtil","l":"tailRoundingFactor"},{"p":"org.apache.datasketches.common","c":"Family","l":"TDIGEST"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"TDigestDouble()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"TDigestDouble(short)","u":"%3Cinit%3E(short)"},{"p":"org.apache.datasketches.cpc","c":"TestUtil","l":"TestUtil()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"TGT_IS_READ_ONLY_MSG"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"toByteArray()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"toByteArray()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"toByteArray()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"toByteArray()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"toByteArray()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"toByteArray()"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"toByteArray()"},{"p":"org.apache.datasketches.theta","c":"Intersection","l":"toByteArray()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"toByteArray()"},{"p":"org.apache.datasketches.theta","c":"Union","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple","c":"CompactSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummary","l":"toByteArray()"},{"p":"org.apache.datasketches.tuple","c":"Summary","l":"toByteArray()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"toByteArray(ArrayOfItemsSerDe, Class)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe,java.lang.Class)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"toByteArray(ArrayOfItemsSerDe, Class)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe,java.lang.Class)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"toByteArray(ArrayOfItemsSerDe, Class)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe,java.lang.Class)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"toByteArray(ArrayOfItemsSerDe)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"toByteArray(ArrayOfItemsSerDe, Class)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe,java.lang.Class)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"toByteArray(ArrayOfItemsSerDe, Class)","u":"toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe,java.lang.Class)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"toByteArray(boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"toByteArray(boolean, ArrayOfItemsSerDe)","u":"toByteArray(boolean,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"toByteArrayCompressed()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"toCompactByteArray()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"toCompactByteArray()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"toLongArray()"},{"p":"org.apache.datasketches.common","c":"Family","l":"toString()"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"toString()"},{"p":"org.apache.datasketches.fdt","c":"Group","l":"toString()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"DirectBitArrayR","l":"toString()"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"toString()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch.Row","l":"toString()"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"toString()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch.Row","l":"toString()"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"toString()"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"toString()"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"toString()"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"toString()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"toString()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketchBuilder","l":"toString()"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"toString()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"toString()"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"toString()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"toString()"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"toString()"},{"p":"org.apache.datasketches.req","c":"ReqSketchBuilder","l":"toString()"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"toString()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"toString()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"toString()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"toString()"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"toString()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"toString()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"toString()"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"toString()"},{"p":"org.apache.datasketches.theta","c":"SetOperationBuilder","l":"toString()"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"toString()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"toString()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"toString()"},{"p":"org.apache.datasketches.tuple","c":"Sketch","l":"toString()"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"toString(boolean)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"toString(boolean)"},{"p":"org.apache.datasketches.common","c":"ArrayOfBooleansSerDe","l":"toString(Boolean)","u":"toString(java.lang.Boolean)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.kll","c":"KllSketch","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"toString(boolean, boolean)","u":"toString(boolean,boolean)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"toString(boolean, boolean, boolean)","u":"toString(boolean,boolean,boolean)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"toString(boolean, boolean, boolean, boolean)","u":"toString(boolean,boolean,boolean,boolean)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"toString(boolean, boolean, boolean, boolean)","u":"toString(boolean,boolean,boolean,boolean)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"toString(boolean, boolean, int, boolean)","u":"toString(boolean,boolean,int,boolean)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"toString(byte[])"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"toString(byte[], boolean)","u":"toString(byte[],boolean)"},{"p":"org.apache.datasketches.common","c":"ArrayOfDoublesSerDe","l":"toString(Double)","u":"toString(java.lang.Double)"},{"p":"org.apache.datasketches.common","c":"ArrayOfLongsSerDe","l":"toString(Long)","u":"toString(java.lang.Long)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"toString(Memory)","u":"toString(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"toString(Memory, boolean)","u":"toString(org.apache.datasketches.memory.Memory,boolean)"},{"p":"org.apache.datasketches.common","c":"ArrayOfNumbersSerDe","l":"toString(Number)","u":"toString(java.lang.Number)"},{"p":"org.apache.datasketches.common","c":"ArrayOfStringsSerDe","l":"toString(String)","u":"toString(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ArrayOfUtf16StringsSerDe","l":"toString(String)","u":"toString(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ArrayOfItemsSerDe","l":"toString(T)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"toUpdatableByteArray()"},{"p":"org.apache.datasketches.hll","c":"Union","l":"toUpdatableByteArray()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"TRIM_A"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"TRIM_A"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"TRIM_B"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"trim()"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"trim()"},{"p":"org.apache.datasketches.common","c":"Family","l":"TUPLE"},{"p":"org.apache.datasketches.common","c":"Family","l":"UNION"},{"p":"org.apache.datasketches.hll","c":"Union","l":"Union()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.theta","c":"Union","l":"Union()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"union(ArrayOfDoublesSketch)","u":"union(org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch)"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummarySetOperations","l":"union(ArrayOfStringsSummary, ArrayOfStringsSummary)","u":"union(org.apache.datasketches.tuple.strings.ArrayOfStringsSummary,org.apache.datasketches.tuple.strings.ArrayOfStringsSummary)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"union(BloomFilter)","u":"union(org.apache.datasketches.filters.bloomfilter.BloomFilter)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"union(DoublesSketch)","u":"union(org.apache.datasketches.quantiles.DoublesSketch)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummarySetOperations","l":"union(DoubleSummary, DoubleSummary)","u":"union(org.apache.datasketches.tuple.adouble.DoubleSummary,org.apache.datasketches.tuple.adouble.DoubleSummary)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"Union(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"Union(int, SummarySetOperations)","u":"%3Cinit%3E(int,org.apache.datasketches.tuple.SummarySetOperations)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"Union(int, WritableMemory)","u":"%3Cinit%3E(int,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummarySetOperations","l":"union(IntegerSummary, IntegerSummary)","u":"union(org.apache.datasketches.tuple.aninteger.IntegerSummary,org.apache.datasketches.tuple.aninteger.IntegerSummary)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"union(ItemsSketch)","u":"union(org.apache.datasketches.quantiles.ItemsSketch)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"union(Memory)","u":"union(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"union(Memory)","u":"union(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"union(Memory, ArrayOfItemsSerDe)","u":"union(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.tuple","c":"SummarySetOperations","l":"union(S, S)","u":"union(S,S)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"union(Sketch)","u":"union(org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"union(Sketch, S)","u":"union(org.apache.datasketches.theta.Sketch,S)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"union(Sketch, Sketch)","u":"union(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"union(Sketch, Sketch, boolean, WritableMemory)","u":"union(org.apache.datasketches.theta.Sketch,org.apache.datasketches.theta.Sketch,boolean,org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"union(Sketch)","u":"union(org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"union(Sketch, Sketch, S)","u":"union(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.theta.Sketch,S)"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"union(Sketch, Sketch)","u":"union(org.apache.datasketches.tuple.Sketch,org.apache.datasketches.tuple.Sketch)"},{"p":"org.apache.datasketches.tuple","c":"Union","l":"Union(SummarySetOperations)","u":"%3Cinit%3E(org.apache.datasketches.tuple.SummarySetOperations)"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"UniqueCountMap(int)","u":"%3Cinit%3E(int)"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"UniqueCountMap(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"org.apache.datasketches.theta","c":"BitPacking","l":"unpackBits(long[], int, int, byte[], int, int)","u":"unpackBits(long[],int,int,byte[],int,int)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesAPI","l":"UNSUPPORTED_MSG"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"UPDATABLE"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"UpdatableSketch(int, int, float, SummaryFactory)","u":"%3Cinit%3E(int,int,float,org.apache.datasketches.tuple.SummaryFactory)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"UpdatableSketch(Memory, SummaryDeserializer, SummaryFactory)","u":"%3Cinit%3E(org.apache.datasketches.memory.Memory,org.apache.datasketches.tuple.SummaryDeserializer,org.apache.datasketches.tuple.SummaryFactory)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"UpdatableSketch(UpdatableSketch)","u":"%3Cinit%3E(org.apache.datasketches.tuple.UpdatableSketch)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketchBuilder","l":"UpdatableSketchBuilder(SummaryFactory)","u":"%3Cinit%3E(org.apache.datasketches.tuple.SummaryFactory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesAnotB","l":"update(ArrayOfDoublesSketch, ArrayOfDoublesSketch)","u":"update(org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch,org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesAnotBImpl","l":"update(ArrayOfDoublesSketch, ArrayOfDoublesSketch)","u":"update(org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch,org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(byte[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(byte[])"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(byte[])"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(byte[])"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(byte[])"},{"p":"org.apache.datasketches.hllmap","c":"UniqueCountMap","l":"update(byte[], byte[])","u":"update(byte[],byte[])"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"update(byte[], double[])","u":"update(byte[],double[])"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"update(byte[], U)","u":"update(byte[],U)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(ByteBuffer)","u":"update(java.nio.ByteBuffer)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(ByteBuffer)","u":"update(java.nio.ByteBuffer)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(ByteBuffer)","u":"update(java.nio.ByteBuffer)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(ByteBuffer)","u":"update(java.nio.ByteBuffer)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"update(ByteBuffer, double[])","u":"update(java.nio.ByteBuffer,double[])"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"update(ByteBuffer, U)","u":"update(java.nio.ByteBuffer,U)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(char[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(char[])"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(char[])"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(char[])"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(char[])"},{"p":"org.apache.datasketches.cpc","c":"CpcUnion","l":"update(CpcSketch)","u":"update(org.apache.datasketches.cpc.CpcSketch)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(double)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(double)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(double)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"update(double)"},{"p":"org.apache.datasketches.quantiles","c":"CompactDoublesSketch","l":"update(double)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"update(double)"},{"p":"org.apache.datasketches.quantiles","c":"UpdateDoublesSketch","l":"update(double)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesDoublesAPI","l":"update(double)"},{"p":"org.apache.datasketches.tdigest","c":"TDigestDouble","l":"update(double)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(double)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(double)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary","l":"update(Double)","u":"update(java.lang.Double)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"update(double, double[])","u":"update(double,double[])"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"update(double, long)","u":"update(double,long)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"update(double, U)","u":"update(double,U)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"update(double[], int, int)","u":"update(double[],int,int)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"update(float)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesFloatsAPI","l":"update(float)"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"update(float)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"update(float, long)","u":"update(float,long)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"update(float[], int, int)","u":"update(float[],int,int)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"update(HllSketch)","u":"update(org.apache.datasketches.hll.HllSketch)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(int[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(int[])"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(int[])"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(int[])"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(int[])"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"update(int[], double[])","u":"update(int[],double[])"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"update(int[], U)","u":"update(int[],U)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary","l":"update(Integer)","u":"update(java.lang.Integer)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(long)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"update(long)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(long)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"update(long)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesLongsAPI","l":"update(long)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsSketch","l":"update(long)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"update(long)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(long)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(long)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSketch","l":"update(long, Double)","u":"update(long,java.lang.Double)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"update(long, double[])","u":"update(long,double[])"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"update(long, int, ArrayList)","u":"update(long,int,java.util.ArrayList)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSketch","l":"update(long, Integer)","u":"update(long,java.lang.Integer)"},{"p":"org.apache.datasketches.frequencies","c":"LongsSketch","l":"update(long, long)","u":"update(long,long)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"update(long, long)","u":"update(long,long)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"update(long, U)","u":"update(long,U)"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(long[])"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(long[])"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(long[])"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(long[])"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(long[])"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"update(long[], double[])","u":"update(long[],double[])"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"update(long[], int, int)","u":"update(long[],int,int)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"update(long[], U)","u":"update(long[],U)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(Memory)","u":"update(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"update(Memory)","u":"update(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"update(Memory, ArrayOfItemsSerDe)","u":"update(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"update(Memory, ArrayOfItemsSerDe)","u":"update(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"update(ReservoirItemsSketch)","u":"update(org.apache.datasketches.sampling.ReservoirItemsSketch)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"update(ReservoirItemsSketch)","u":"update(org.apache.datasketches.sampling.ReservoirItemsSketch)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirLongsUnion","l":"update(ReservoirLongsSketch)","u":"update(org.apache.datasketches.sampling.ReservoirLongsSketch)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(short[])"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"update(String)","u":"update(java.lang.String)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"update(String)","u":"update(java.lang.String)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"update(String)","u":"update(java.lang.String)"},{"p":"org.apache.datasketches.theta","c":"Union","l":"update(String)","u":"update(java.lang.String)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"update(String)","u":"update(java.lang.String)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSketch","l":"update(String, Double)","u":"update(java.lang.String,java.lang.Double)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"update(String, double[])","u":"update(java.lang.String,double[])"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSketch","l":"update(String, Integer)","u":"update(java.lang.String,java.lang.Integer)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSketch","l":"update(String, U)","u":"update(java.lang.String,U)"},{"p":"org.apache.datasketches.fdt","c":"FdtSketch","l":"update(String[])","u":"update(java.lang.String[])"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSummary","l":"update(String[])","u":"update(java.lang.String[])"},{"p":"org.apache.datasketches.tuple.strings","c":"ArrayOfStringsSketch","l":"update(String[], String[])","u":"update(java.lang.String[],java.lang.String[])"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"update(T)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"update(T)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsSketch","l":"update(T)"},{"p":"org.apache.datasketches.quantiles","c":"ItemsUnion","l":"update(T)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantilesGenericAPI","l":"update(T)"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"update(T)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsSketch","l":"update(T)"},{"p":"org.apache.datasketches.sampling","c":"ReservoirItemsUnion","l":"update(T)"},{"p":"org.apache.datasketches.sampling","c":"EbppsItemsSketch","l":"update(T, double)","u":"update(T,double)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSketch","l":"update(T, double)","u":"update(T,double)"},{"p":"org.apache.datasketches.frequencies","c":"ItemsSketch","l":"update(T, long)","u":"update(T,long)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"update(T, long)","u":"update(T,long)"},{"p":"org.apache.datasketches.tuple","c":"UpdatableSummary","l":"update(U)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsUnion","l":"update(VarOptItemsSketch)","u":"update(org.apache.datasketches.sampling.VarOptItemsSketch)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"updateSketchBuilder()"},{"p":"org.apache.datasketches.theta","c":"UpdateSketchBuilder","l":"UpdateSketchBuilder()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.partitions","c":"Partitioner.PartitionBoundsRow","l":"upperBound"},{"p":"org.apache.datasketches.tuple","c":"Util","l":"Util()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.cpc","c":"CpcSketch","l":"validate()"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer","l":"validateFamily(byte, byte)","u":"validateFamily(byte,byte)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericSortedView","l":"validateItems(T[], Comparator)","u":"validateItems(T[],java.util.Comparator)"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer","l":"validateType(byte, SerializerDeserializer.SketchType)","u":"validateType(byte,org.apache.datasketches.tuple.SerializerDeserializer.SketchType)"},{"p":"org.apache.datasketches.common","c":"SuppressFBWarnings","l":"value()"},{"p":"org.apache.datasketches.common","c":"Family","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.frequencies","c":"ErrorType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.hll","c":"TgtHllType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.partitions","c":"BoundsRule","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch.Inequality","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantileSearchCriteria","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.IntersectAction","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary.Mode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary.Mode","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer.SketchType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"org.apache.datasketches.common","c":"Family","l":"values()"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"values()"},{"p":"org.apache.datasketches.frequencies","c":"ErrorType","l":"values()"},{"p":"org.apache.datasketches.hll","c":"TgtHllType","l":"values()"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchStructure","l":"values()"},{"p":"org.apache.datasketches.kll","c":"KllSketch.SketchType","l":"values()"},{"p":"org.apache.datasketches.partitions","c":"BoundsRule","l":"values()"},{"p":"org.apache.datasketches.quantilescommon","c":"GenericInequalitySearch.Inequality","l":"values()"},{"p":"org.apache.datasketches.quantilescommon","c":"InequalitySearch","l":"values()"},{"p":"org.apache.datasketches.quantilescommon","c":"QuantileSearchCriteria","l":"values()"},{"p":"org.apache.datasketches.theta","c":"UpdateReturnState","l":"values()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.AnotbAction","l":"values()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.CornerCase","l":"values()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.IntersectAction","l":"values()"},{"p":"org.apache.datasketches.thetacommon","c":"SetOperationCornerCases.UnionAction","l":"values()"},{"p":"org.apache.datasketches.tuple.adouble","c":"DoubleSummary.Mode","l":"values()"},{"p":"org.apache.datasketches.tuple.aninteger","c":"IntegerSummary.Mode","l":"values()"},{"p":"org.apache.datasketches.tuple","c":"SerializerDeserializer.SketchType","l":"values()"},{"p":"org.apache.datasketches.common","c":"Family","l":"VAROPT"},{"p":"org.apache.datasketches.common","c":"Family","l":"VAROPT_UNION"},{"p":"org.apache.datasketches.req","c":"ReqSketch","l":"viewCompactorDetail(String, boolean)","u":"viewCompactorDetail(java.lang.String,boolean)"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples","l":"weights()"},{"p":"org.apache.datasketches.sampling","c":"VarOptItemsSamples","l":"weights(int)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesSketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"wrap(Memory)","u":"wrap(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.kll","c":"KllItemsSketch","l":"wrap(Memory, Comparator, ArrayOfItemsSerDe)","u":"wrap(org.apache.datasketches.memory.Memory,java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)"},{"p":"org.apache.datasketches.theta","c":"CompactSketch","l":"wrap(Memory, long)","u":"wrap(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"wrap(Memory, long)","u":"wrap(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketch","l":"wrap(Memory, long)","u":"wrap(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketch","l":"wrap(Memory, long)","u":"wrap(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"wrap(Memory, long)","u":"wrap(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.quantiles","c":"DoublesUnion","l":"wrap(WritableMemory)","u":"wrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.quantiles","c":"UpdateDoublesSketch","l":"wrap(WritableMemory)","u":"wrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"wrap(WritableMemory)","u":"wrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"wrap(WritableMemory)","u":"wrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"wrap(WritableMemory)","u":"wrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"wrap(WritableMemory)","u":"wrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"SetOperation","l":"wrap(WritableMemory, long)","u":"wrap(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.theta","c":"UpdateSketch","l":"wrap(WritableMemory, long)","u":"wrap(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUnion","l":"wrap(WritableMemory, long)","u":"wrap(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesUpdatableSketch","l":"wrap(WritableMemory, long)","u":"wrap(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapCompactSketch(Memory)","u":"wrapCompactSketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapCompactSketch(Memory, long)","u":"wrapCompactSketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapIntersection(Memory)","u":"wrapIntersection(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapIntersection(WritableMemory)","u":"wrapIntersection(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapSetOperation(Memory)","u":"wrapSetOperation(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapSetOperation(Memory, long)","u":"wrapSetOperation(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapSetOperation(WritableMemory)","u":"wrapSetOperation(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapSetOperation(WritableMemory, long)","u":"wrapSetOperation(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapSketch(Memory)","u":"wrapSketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapSketch(Memory)","u":"wrapSketch(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapSketch(Memory, long)","u":"wrapSketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapSketch(Memory, long)","u":"wrapSketch(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapUnion(Memory)","u":"wrapUnion(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapUnion(Memory)","u":"wrapUnion(org.apache.datasketches.memory.Memory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapUnion(Memory, long)","u":"wrapUnion(org.apache.datasketches.memory.Memory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapUnion(WritableMemory)","u":"wrapUnion(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapUnion(WritableMemory)","u":"wrapUnion(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapUnion(WritableMemory, long)","u":"wrapUnion(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapUpdatableSketch(WritableMemory)","u":"wrapUpdatableSketch(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","c":"ArrayOfDoublesSketches","l":"wrapUpdatableSketch(WritableMemory, long)","u":"wrapUpdatableSketch(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapUpdateSketch(WritableMemory)","u":"wrapUpdateSketch(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.theta","c":"Sketches","l":"wrapUpdateSketch(WritableMemory, long)","u":"wrapUpdateSketch(org.apache.datasketches.memory.WritableMemory,long)"},{"p":"org.apache.datasketches.filters.bloomfilter","c":"BloomFilter","l":"writableWrap(WritableMemory)","u":"writableWrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.hll","c":"HllSketch","l":"writableWrap(WritableMemory)","u":"writableWrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.hll","c":"Union","l":"writableWrap(WritableMemory)","u":"writableWrap(org.apache.datasketches.memory.WritableMemory)"},{"p":"org.apache.datasketches.kll","c":"KllDoublesSketch","l":"writableWrap(WritableMemory, MemoryRequestServer)","u":"writableWrap(org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllFloatsSketch","l":"writableWrap(WritableMemory, MemoryRequestServer)","u":"writableWrap(org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.kll","c":"KllLongsSketch","l":"writableWrap(WritableMemory, MemoryRequestServer)","u":"writableWrap(org.apache.datasketches.memory.WritableMemory,org.apache.datasketches.memory.MemoryRequestServer)"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"X1"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"X2"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"X4"},{"p":"org.apache.datasketches.common","c":"ResizeFactor","l":"X8"},{"p":"org.apache.datasketches.hash","c":"XxHash","l":"XxHash()","u":"%3Cinit%3E()"},{"p":"org.apache.datasketches.common","c":"Util","l":"zeroPad(String, int)","u":"zeroPad(java.lang.String,int)"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/621/merge/module-search-index.js b/docs/621/merge/module-search-index.js new file mode 100644 index 000000000..0d59754fc --- /dev/null +++ b/docs/621/merge/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/docs/621/merge/org/apache/datasketches/common/ArrayOfBooleansSerDe.html b/docs/621/merge/org/apache/datasketches/common/ArrayOfBooleansSerDe.html new file mode 100644 index 000000000..608d564d3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ArrayOfBooleansSerDe.html @@ -0,0 +1,393 @@ + + + + +ArrayOfBooleansSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfBooleansSerDe

+
+
java.lang.Object +
org.apache.datasketches.common.ArrayOfItemsSerDe<Boolean> +
org.apache.datasketches.common.ArrayOfBooleansSerDe
+
+
+
+
+
public class ArrayOfBooleansSerDe +extends ArrayOfItemsSerDe<Boolean>
+
Methods of serializing and deserializing arrays of Boolean as a bit array.
+
+
Author:
+
Jon Malkin
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static int
    +
    computeBytesNeeded(int arrayLength)
    +
    +
    Computes number of bytes needed for packed bit encoding of the array of booleans.
    +
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
    +
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
    +
    + + +
    +
    Returns the concrete class of type T
    +
    +
    byte[]
    + +
    +
    Serialize a single unserialized item to a byte array.
    +
    +
    byte[]
    + +
    +
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    +
    +
    int
    + +
    +
    Returns the serialized size in bytes of a single unserialized item.
    +
    +
    int
    +
    sizeOf(Boolean[] items)
    +
    +
    Returns the serialized size in bytes of the array of items.
    +
    +
    int
    +
    sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
    +
    + + +
    +
    Returns a human readable string of an item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfBooleansSerDe

      +
      public ArrayOfBooleansSerDe()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      computeBytesNeeded

      +
      public static int computeBytesNeeded(int arrayLength)
      +
      Computes number of bytes needed for packed bit encoding of the array of booleans. Rounds + partial bytes up to return a whole number of bytes.
      +
      +
      Parameters:
      +
      arrayLength - Number of items in the array to serialize
      +
      Returns:
      +
      Number of bytes needed to encode the array
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Boolean item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize a single unserialized item to a byte array.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      item - the item to be serialized
      +
      Returns:
      +
      serialized representation of the given item
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Boolean[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      items - array of items to be serialized
      +
      Returns:
      +
      contiguous, serialized representation of the given array of unserialized items
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Boolean[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
      +
      +
      Overrides:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Boolean[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
      +
      +
      Specified by:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Boolean item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of a single unserialized item.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      the serialized size in bytes of a single unserialized item.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Boolean[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the array of items.
      +
      +
      Overrides:
      +
      sizeOf in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      items - an array of items.
      +
      Returns:
      +
      the serialized size in bytes of the array of items.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory. + The capacity of the given Memory can be much larger that the required size of the items.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      mem - the given Memory.
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - the number of serialized items contained in the Memory
      +
      Returns:
      +
      the serialized size in bytes of the given number of items.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(Boolean item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns a human readable string of an item.
      +
      +
      Specified by:
      +
      toString in class ArrayOfItemsSerDe<Boolean>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      a human readable string of an item.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<Boolean> getClassOfT()
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the concrete class of type T
      +
      +
      Specified by:
      +
      getClassOfT in class ArrayOfItemsSerDe<Boolean>
      +
      Returns:
      +
      the concrete class of type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ArrayOfDoublesSerDe.html b/docs/621/merge/org/apache/datasketches/common/ArrayOfDoublesSerDe.html new file mode 100644 index 000000000..0b480f66d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ArrayOfDoublesSerDe.html @@ -0,0 +1,374 @@ + + + + +ArrayOfDoublesSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesSerDe

+
+
java.lang.Object +
org.apache.datasketches.common.ArrayOfItemsSerDe<Double> +
org.apache.datasketches.common.ArrayOfDoublesSerDe
+
+
+
+
+
public class ArrayOfDoublesSerDe +extends ArrayOfItemsSerDe<Double>
+
Methods of serializing and deserializing arrays of Double.
+
+
Author:
+
Alexander Saydakov
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
    +
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
    +
    + + +
    +
    Returns the concrete class of type T
    +
    +
    byte[]
    + +
    +
    Serialize a single unserialized item to a byte array.
    +
    +
    byte[]
    + +
    +
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    +
    +
    int
    +
    sizeOf(Double item)
    +
    +
    Returns the serialized size in bytes of a single unserialized item.
    +
    +
    int
    +
    sizeOf(Double[] items)
    +
    +
    Returns the serialized size in bytes of the array of items.
    +
    +
    int
    +
    sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
    +
    + + +
    +
    Returns a human readable string of an item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfDoublesSerDe

      +
      public ArrayOfDoublesSerDe()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Double item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize a single unserialized item to a byte array.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      item - the item to be serialized
      +
      Returns:
      +
      serialized representation of the given item
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Double[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      items - array of items to be serialized
      +
      Returns:
      +
      contiguous, serialized representation of the given array of unserialized items
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Double[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
      +
      +
      Overrides:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Double[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
      +
      +
      Specified by:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Double item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of a single unserialized item.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      the serialized size in bytes of a single unserialized item.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Double[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the array of items.
      +
      +
      Overrides:
      +
      sizeOf in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      items - an array of items.
      +
      Returns:
      +
      the serialized size in bytes of the array of items.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory. + The capacity of the given Memory can be much larger that the required size of the items.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      mem - the given Memory.
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - the number of serialized items contained in the Memory
      +
      Returns:
      +
      the serialized size in bytes of the given number of items.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(Double item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns a human readable string of an item.
      +
      +
      Specified by:
      +
      toString in class ArrayOfItemsSerDe<Double>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      a human readable string of an item.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<Double> getClassOfT()
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the concrete class of type T
      +
      +
      Specified by:
      +
      getClassOfT in class ArrayOfItemsSerDe<Double>
      +
      Returns:
      +
      the concrete class of type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ArrayOfItemsSerDe.html b/docs/621/merge/org/apache/datasketches/common/ArrayOfItemsSerDe.html new file mode 100644 index 000000000..27a7d2a8f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ArrayOfItemsSerDe.html @@ -0,0 +1,353 @@ + + + + +ArrayOfItemsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfItemsSerDe<T>

+
+
java.lang.Object +
org.apache.datasketches.common.ArrayOfItemsSerDe<T>
+
+
+
+
Type Parameters:
+
T - Type of item
+
+
+
Direct Known Subclasses:
+
ArrayOfBooleansSerDe, ArrayOfDoublesSerDe, ArrayOfLongsSerDe, ArrayOfNumbersSerDe, ArrayOfStringsSerDe, ArrayOfUtf16StringsSerDe
+
+
+
public abstract class ArrayOfItemsSerDe<T> +extends Object
+
Base class for serializing and deserializing custom types.
+
+
Author:
+
Alexander Saydakov
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    T[]
    +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
    +
    +
    abstract T[]
    +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
    +
    +
    abstract Class<T>
    + +
    +
    Returns the concrete class of type T
    +
    +
    abstract byte[]
    + +
    +
    Serialize a single unserialized item to a byte array.
    +
    +
    abstract byte[]
    + +
    +
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    +
    +
    abstract int
    +
    sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
    +
    +
    abstract int
    +
    sizeOf(T item)
    +
    +
    Returns the serialized size in bytes of a single unserialized item.
    +
    +
    int
    +
    sizeOf(T[] items)
    +
    +
    Returns the serialized size in bytes of the array of items.
    +
    +
    abstract String
    +
    toString(T item)
    +
    +
    Returns a human readable string of an item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfItemsSerDe

      +
      public ArrayOfItemsSerDe()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      serializeToByteArray

      +
      public abstract byte[] serializeToByteArray(T item)
      +
      Serialize a single unserialized item to a byte array.
      +
      +
      Parameters:
      +
      item - the item to be serialized
      +
      Returns:
      +
      serialized representation of the given item
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public abstract byte[] serializeToByteArray(T[] items)
      +
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      +
      +
      Parameters:
      +
      items - array of items to be serialized
      +
      Returns:
      +
      contiguous, serialized representation of the given array of unserialized items
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public T[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
      +
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public abstract T[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
      +
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public abstract int sizeOf(T item)
      +
      Returns the serialized size in bytes of a single unserialized item.
      +
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      the serialized size in bytes of a single unserialized item.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(T[] items)
      +
      Returns the serialized size in bytes of the array of items.
      +
      +
      Parameters:
      +
      items - an array of items.
      +
      Returns:
      +
      the serialized size in bytes of the array of items.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public abstract int sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory. + The capacity of the given Memory can be much larger that the required size of the items.
      +
      +
      Parameters:
      +
      mem - the given Memory.
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - the number of serialized items contained in the Memory
      +
      Returns:
      +
      the serialized size in bytes of the given number of items.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public abstract String toString(T item)
      +
      Returns a human readable string of an item.
      +
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      a human readable string of an item.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public abstract Class<T> getClassOfT()
      +
      Returns the concrete class of type T
      +
      +
      Returns:
      +
      the concrete class of type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ArrayOfLongsSerDe.html b/docs/621/merge/org/apache/datasketches/common/ArrayOfLongsSerDe.html new file mode 100644 index 000000000..5fdd81a2e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ArrayOfLongsSerDe.html @@ -0,0 +1,374 @@ + + + + +ArrayOfLongsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfLongsSerDe

+
+
java.lang.Object +
org.apache.datasketches.common.ArrayOfItemsSerDe<Long> +
org.apache.datasketches.common.ArrayOfLongsSerDe
+
+
+
+
+
public class ArrayOfLongsSerDe +extends ArrayOfItemsSerDe<Long>
+
Methods of serializing and deserializing arrays of Long.
+
+
Author:
+
Alexander Saydakov
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
    +
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
    +
    + + +
    +
    Returns the concrete class of type T
    +
    +
    byte[]
    + +
    +
    Serialize a single unserialized item to a byte array.
    +
    +
    byte[]
    + +
    +
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    +
    +
    int
    +
    sizeOf(Long item)
    +
    +
    Returns the serialized size in bytes of a single unserialized item.
    +
    +
    int
    +
    sizeOf(Long[] items)
    +
    +
    Returns the serialized size in bytes of the array of items.
    +
    +
    int
    +
    sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
    +
    + +
    toString(Long item)
    +
    +
    Returns a human readable string of an item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfLongsSerDe

      +
      public ArrayOfLongsSerDe()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Long item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize a single unserialized item to a byte array.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      item - the item to be serialized
      +
      Returns:
      +
      serialized representation of the given item
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Long[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      items - array of items to be serialized
      +
      Returns:
      +
      contiguous, serialized representation of the given array of unserialized items
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Long[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
      +
      +
      Overrides:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Long[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
      +
      +
      Specified by:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Long item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of a single unserialized item.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      the serialized size in bytes of a single unserialized item.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Long[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the array of items.
      +
      +
      Overrides:
      +
      sizeOf in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      items - an array of items.
      +
      Returns:
      +
      the serialized size in bytes of the array of items.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory. + The capacity of the given Memory can be much larger that the required size of the items.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      mem - the given Memory.
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - the number of serialized items contained in the Memory
      +
      Returns:
      +
      the serialized size in bytes of the given number of items.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(Long item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns a human readable string of an item.
      +
      +
      Specified by:
      +
      toString in class ArrayOfItemsSerDe<Long>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      a human readable string of an item.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<Long> getClassOfT()
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the concrete class of type T
      +
      +
      Specified by:
      +
      getClassOfT in class ArrayOfItemsSerDe<Long>
      +
      Returns:
      +
      the concrete class of type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ArrayOfNumbersSerDe.html b/docs/621/merge/org/apache/datasketches/common/ArrayOfNumbersSerDe.html new file mode 100644 index 000000000..37e4f2b49 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ArrayOfNumbersSerDe.html @@ -0,0 +1,382 @@ + + + + +ArrayOfNumbersSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfNumbersSerDe

+
+
java.lang.Object +
org.apache.datasketches.common.ArrayOfItemsSerDe<Number> +
org.apache.datasketches.common.ArrayOfNumbersSerDe
+
+
+
+
+
public class ArrayOfNumbersSerDe +extends ArrayOfItemsSerDe<Number>
+
Methods of serializing and deserializing arrays of the object version of primitive types of + Number. The array can be a mix of primitive object types. + +

This class serializes numbers with a leading byte (ASCII character) indicating the type. + The class keeps the values byte aligned, even though only 3 bits are strictly necessary to + encode one of the 6 different primitives with object types that extend Number.

+ +

Classes handled are: Long, Integer, Short, + Byte, Double, and Float.

+
+
Author:
+
Jon Malkin
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
    +
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
    +
    + + +
    +
    Returns the concrete class of type T
    +
    +
    byte[]
    + +
    +
    Serialize a single unserialized item to a byte array.
    +
    +
    byte[]
    + +
    +
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    +
    +
    int
    +
    sizeOf(Number item)
    +
    +
    Returns the serialized size in bytes of a single unserialized item.
    +
    +
    int
    +
    sizeOf(Number[] items)
    +
    +
    Returns the serialized size in bytes of the array of items.
    +
    +
    int
    +
    sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
    +
    + + +
    +
    Returns a human readable string of an item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfNumbersSerDe

      +
      public ArrayOfNumbersSerDe()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Number item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize a single unserialized item to a byte array.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      item - the item to be serialized
      +
      Returns:
      +
      serialized representation of the given item
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(Number[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      items - array of items to be serialized
      +
      Returns:
      +
      contiguous, serialized representation of the given array of unserialized items
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Number[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
      +
      +
      Overrides:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public Number[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
      +
      +
      Specified by:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Number item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of a single unserialized item.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      the serialized size in bytes of a single unserialized item.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(Number[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the array of items.
      +
      +
      Overrides:
      +
      sizeOf in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      items - an array of items.
      +
      Returns:
      +
      the serialized size in bytes of the array of items.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory. + The capacity of the given Memory can be much larger that the required size of the items.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      mem - the given Memory.
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - the number of serialized items contained in the Memory
      +
      Returns:
      +
      the serialized size in bytes of the given number of items.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(Number item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns a human readable string of an item.
      +
      +
      Specified by:
      +
      toString in class ArrayOfItemsSerDe<Number>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      a human readable string of an item.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<Number> getClassOfT()
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the concrete class of type T
      +
      +
      Specified by:
      +
      getClassOfT in class ArrayOfItemsSerDe<Number>
      +
      Returns:
      +
      the concrete class of type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ArrayOfStringsSerDe.html b/docs/621/merge/org/apache/datasketches/common/ArrayOfStringsSerDe.html new file mode 100644 index 000000000..e14563634 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ArrayOfStringsSerDe.html @@ -0,0 +1,362 @@ + + + + +ArrayOfStringsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfStringsSerDe

+
+
java.lang.Object +
org.apache.datasketches.common.ArrayOfItemsSerDe<String> +
org.apache.datasketches.common.ArrayOfStringsSerDe
+
+
+
+
+
public class ArrayOfStringsSerDe +extends ArrayOfItemsSerDe<String>
+
Methods of serializing and deserializing arrays of String. + This class serializes strings in UTF-8 format, which is more compact compared to + ArrayOfUtf16StringsSerDe. In an extreme case when all strings are in ASCII, + this method is 2 times more compact, but it takes more time to encode and decode + by a factor of 1.5 to 2. + +

The serialization

+
+
Author:
+
Alexander Saydakov
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
    +
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
    +
    + + +
    +
    Returns the concrete class of type T
    +
    +
    byte[]
    + +
    +
    Serialize a single unserialized item to a byte array.
    +
    +
    byte[]
    + +
    +
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    +
    +
    int
    +
    sizeOf(String item)
    +
    +
    Returns the serialized size in bytes of a single unserialized item.
    +
    +
    int
    +
    sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
    +
    + + +
    +
    Returns a human readable string of an item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class org.apache.datasketches.common.ArrayOfItemsSerDe

    +sizeOf
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfStringsSerDe

      +
      public ArrayOfStringsSerDe()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(String item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize a single unserialized item to a byte array.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      item - the item to be serialized
      +
      Returns:
      +
      serialized representation of the given item
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(String[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      items - array of items to be serialized
      +
      Returns:
      +
      contiguous, serialized representation of the given array of unserialized items
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public String[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
      +
      +
      Overrides:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public String[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
      +
      +
      Specified by:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(String item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of a single unserialized item.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      the serialized size in bytes of a single unserialized item.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory. + The capacity of the given Memory can be much larger that the required size of the items.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      mem - the given Memory.
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - the number of serialized items contained in the Memory
      +
      Returns:
      +
      the serialized size in bytes of the given number of items.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(String item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns a human readable string of an item.
      +
      +
      Specified by:
      +
      toString in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      a human readable string of an item.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<String> getClassOfT()
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the concrete class of type T
      +
      +
      Specified by:
      +
      getClassOfT in class ArrayOfItemsSerDe<String>
      +
      Returns:
      +
      the concrete class of type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ArrayOfUtf16StringsSerDe.html b/docs/621/merge/org/apache/datasketches/common/ArrayOfUtf16StringsSerDe.html new file mode 100644 index 000000000..138b5ceec --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ArrayOfUtf16StringsSerDe.html @@ -0,0 +1,360 @@ + + + + +ArrayOfUtf16StringsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfUtf16StringsSerDe

+
+
java.lang.Object +
org.apache.datasketches.common.ArrayOfItemsSerDe<String> +
org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+
+
+
+
+
public class ArrayOfUtf16StringsSerDe +extends ArrayOfItemsSerDe<String>
+
Methods of serializing and deserializing arrays of String. + This class serializes strings using internal Java representation as char[], where each char + is a 16-bit code. The result is larger than one from ArrayOfStringsSerDe. + In an extreme case when all strings are in ASCII, the size is doubled. However it takes + less time to serialize and deserialize by a factor of 1.5 to 2.
+
+
Author:
+
Alexander Saydakov
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
    +
    + +
    deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
    +
    + + +
    +
    Returns the concrete class of type T
    +
    +
    byte[]
    + +
    +
    Serialize a single unserialized item to a byte array.
    +
    +
    byte[]
    + +
    +
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    +
    +
    int
    +
    sizeOf(String item)
    +
    +
    Returns the serialized size in bytes of a single unserialized item.
    +
    +
    int
    +
    sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
    +
    +
    Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
    +
    + + +
    +
    Returns a human readable string of an item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class org.apache.datasketches.common.ArrayOfItemsSerDe

    +sizeOf
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfUtf16StringsSerDe

      +
      public ArrayOfUtf16StringsSerDe()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(String item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize a single unserialized item to a byte array.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      item - the item to be serialized
      +
      Returns:
      +
      serialized representation of the given item
      +
      +
      +
    • +
    • +
      +

      serializeToByteArray

      +
      public byte[] serializeToByteArray(String[] items)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      +
      +
      Specified by:
      +
      serializeToByteArray in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      items - array of items to be serialized
      +
      Returns:
      +
      contiguous, serialized representation of the given array of unserialized items
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public String[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at a Memory offset of zero and extending numItems.
      +
      +
      Overrides:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      deserializeFromMemory

      +
      public String[] deserializeFromMemory(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Deserialize a contiguous sequence of serialized items from the given Memory + starting at the given Memory offsetBytes and extending numItems.
      +
      +
      Specified by:
      +
      deserializeFromMemory in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      mem - Memory containing a contiguous sequence of serialized items
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - number of items in the contiguous serialized sequence.
      +
      Returns:
      +
      array of deserialized items
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(String item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of a single unserialized item.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      the serialized size in bytes of a single unserialized item.
      +
      +
      +
    • +
    • +
      +

      sizeOf

      +
      public int sizeOf(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + int numItems)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory. + The capacity of the given Memory can be much larger that the required size of the items.
      +
      +
      Specified by:
      +
      sizeOf in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      mem - the given Memory.
      +
      offsetBytes - the starting offset in the given Memory.
      +
      numItems - the number of serialized items contained in the Memory
      +
      Returns:
      +
      the serialized size in bytes of the given number of items.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(String item)
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns a human readable string of an item.
      +
      +
      Specified by:
      +
      toString in class ArrayOfItemsSerDe<String>
      +
      Parameters:
      +
      item - a specific item
      +
      Returns:
      +
      a human readable string of an item.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<String> getClassOfT()
      +
      Description copied from class: ArrayOfItemsSerDe
      +
      Returns the concrete class of type T
      +
      +
      Specified by:
      +
      getClassOfT in class ArrayOfItemsSerDe<String>
      +
      Returns:
      +
      the concrete class of type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/BoundsOnBinomialProportions.html b/docs/621/merge/org/apache/datasketches/common/BoundsOnBinomialProportions.html new file mode 100644 index 000000000..e04ae0b4c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/BoundsOnBinomialProportions.html @@ -0,0 +1,322 @@ + + + + +BoundsOnBinomialProportions (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BoundsOnBinomialProportions

+
+
java.lang.Object +
org.apache.datasketches.common.BoundsOnBinomialProportions
+
+
+
+
public final class BoundsOnBinomialProportions +extends Object
+
Confidence intervals for binomial proportions. + +

This class computes an approximation to the Clopper-Pearson confidence interval + for a binomial proportion. Exact Clopper-Pearson intervals are strictly + conservative, but these approximations are not.

+ +

The main inputs are numbers n and k, which are not the same as other things + that are called n and k in our sketching library. There is also a third + parameter, numStdDev, that specifies the desired confidence level.

+
    +
  • n is the number of independent randomized trials. It is given and therefore known.
  • +
  • p is the probability of a trial being a success. It is unknown.
  • +
  • k is the number of trials (out of n) that turn out to be successes. It is + a random variable governed by a binomial distribution. After any given + batch of n independent trials, the random variable k has a specific + value which is observed and is therefore known.
  • +
  • pHat = k / n is an unbiased estimate of the unknown success + probability p.
  • +
+ +

Alternatively, consider a coin with unknown heads probability p. Where + n is the number of independent flips of that coin, and k is the number + of times that the coin comes up heads during a given batch of n flips. + This class computes a frequentist confidence interval [lowerBoundOnP, upperBoundOnP] for the + unknown p.

+ +

Conceptually, the desired confidence level is specified by a tail probability delta.

+ +

Ideally, over a large ensemble of independent batches of trials, + the fraction of batches in which the true p lies below lowerBoundOnP would be at most + delta, and the fraction of batches in which the true p lies above upperBoundOnP + would also be at most delta. + +

Setting aside the philosophical difficulties attaching to that statement, it isn't quite + true because we are approximating the Clopper-Pearson interval.

+ +

Finally, we point out that in this class's interface, the confidence parameter delta is + not specified directly, but rather through a "number of standard deviations" numStdDev. + The library effectively converts that to a delta via delta = normalCDF (-1.0 * numStdDev).

+ +

It is perhaps worth emphasizing that the library is NOT merely adding and subtracting + numStdDev standard deviations to the estimate. It is doing something better, that to some + extent accounts for the fact that the binomial distribution has a non-gaussian shape.

+ +

In particular, it is using an approximation to the inverse of the incomplete beta function + that appears as formula 26.5.22 on page 945 of the "Handbook of Mathematical Functions" + by Abramowitz and Stegun.

+
+
Author:
+
Kevin Lang
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    approximateLowerBoundOnP(long n, + long k, + double numStdDevs)
    +
    +
    Computes lower bound of approximate Clopper-Pearson confidence interval for a binomial + proportion.
    +
    +
    static double
    +
    approximateUpperBoundOnP(long n, + long k, + double numStdDevs)
    +
    +
    Computes upper bound of approximate Clopper-Pearson confidence interval for a binomial + proportion.
    +
    +
    static double
    +
    erf(double x)
    +
    +
    Computes an approximation to the erf() function.
    +
    +
    static double
    +
    estimateUnknownP(long n, + long k)
    +
    +
    Computes an estimate of an unknown binomial proportion.
    +
    +
    static double
    +
    normalCDF(double x)
    +
    +
    Computes an approximation to normalCDF(x).
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      approximateLowerBoundOnP

      +
      public static double approximateLowerBoundOnP(long n, + long k, + double numStdDevs)
      +
      Computes lower bound of approximate Clopper-Pearson confidence interval for a binomial + proportion. + +

      Implementation Notes:
      + The approximateLowerBoundOnP is defined with respect to the right tail of the binomial + distribution.

      +
        +
      • We want to solve for the p for which sumj,k,nbino(j;n,p) + = delta.
      • +
      • We now restate that in terms of the left tail.
      • +
      • We want to solve for the p for which sumj,0,(k-1)bino(j;n,p) + = 1 - delta.
      • +
      • Define x = 1-p.
      • +
      • We want to solve for the x for which Ix(n-k+1,k) = 1 - delta.
      • +
      • We specify 1-delta via numStdDevs through the right tail of the standard normal + distribution.
      • +
      • Smaller values of numStdDevs correspond to bigger values of 1-delta and hence to smaller + values of delta. In fact, usefully small values of delta correspond to negative values of + numStdDevs.
      • +
      • return p = 1-x.
      • +
      +
      +
      Parameters:
      +
      n - is the number of trials. Must be non-negative.
      +
      k - is the number of successes. Must be non-negative, and cannot exceed n.
      +
      numStdDevs - the number of standard deviations defining the confidence interval
      +
      Returns:
      +
      the lower bound of the approximate Clopper-Pearson confidence interval for the + unknown success probability.
      +
      +
      +
    • +
    • +
      +

      approximateUpperBoundOnP

      +
      public static double approximateUpperBoundOnP(long n, + long k, + double numStdDevs)
      +
      Computes upper bound of approximate Clopper-Pearson confidence interval for a binomial + proportion. + +

      Implementation Notes:
      + The approximateUpperBoundOnP is defined with respect to the left tail of the binomial + distribution.

      +
        +
      • We want to solve for the p for which sumj,0,kbino(j;n,p) + = delta.
      • +
      • Define x = 1-p.
      • +
      • We want to solve for the x for which Ix(n-k,k+1) = delta.
      • +
      • We specify delta via numStdDevs through the right tail of the standard normal + distribution.
      • +
      • Bigger values of numStdDevs correspond to smaller values of delta.
      • +
      • return p = 1-x.
      • +
      +
      +
      Parameters:
      +
      n - is the number of trials. Must be non-negative.
      +
      k - is the number of successes. Must be non-negative, and cannot exceed n.
      +
      numStdDevs - the number of standard deviations defining the confidence interval
      +
      Returns:
      +
      the upper bound of the approximate Clopper-Pearson confidence interval for the + unknown success probability.
      +
      +
      +
    • +
    • +
      +

      estimateUnknownP

      +
      public static double estimateUnknownP(long n, + long k)
      +
      Computes an estimate of an unknown binomial proportion.
      +
      +
      Parameters:
      +
      n - is the number of trials. Must be non-negative.
      +
      k - is the number of successes. Must be non-negative, and cannot exceed n.
      +
      Returns:
      +
      the estimate of the unknown binomial proportion.
      +
      +
      +
    • +
    • +
      +

      erf

      +
      public static double erf(double x)
      +
      Computes an approximation to the erf() function.
      +
      +
      Parameters:
      +
      x - is the input to the erf function
      +
      Returns:
      +
      returns erf(x), accurate to roughly 7 decimal digits.
      +
      +
      +
    • +
    • +
      +

      normalCDF

      +
      public static double normalCDF(double x)
      +
      Computes an approximation to normalCDF(x).
      +
      +
      Parameters:
      +
      x - is the input to the normalCDF function
      +
      Returns:
      +
      returns the approximation to normalCDF(x).
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/BoundsOnRatiosInSampledSets.html b/docs/621/merge/org/apache/datasketches/common/BoundsOnRatiosInSampledSets.html new file mode 100644 index 000000000..f6887d13c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/BoundsOnRatiosInSampledSets.html @@ -0,0 +1,253 @@ + + + + +BoundsOnRatiosInSampledSets (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BoundsOnRatiosInSampledSets

+
+
java.lang.Object +
org.apache.datasketches.common.BoundsOnRatiosInSampledSets
+
+
+
+
public final class BoundsOnRatiosInSampledSets +extends Object
+
This class is used to compute the bounds on the estimate of the ratio |B| / |A|, where: +
    +
  • |A| is the unknown size of a set A of unique identifiers.
  • +
  • |B| is the unknown size of a subset B of A.
  • +
  • a = |SA| is the observed size of a sample of A + that was obtained by Bernoulli sampling with a known inclusion probability f.
  • +
  • b = |SA ∩ B| is the observed size of a subset + of SA.
  • +
+
+
Author:
+
Kevin Lang
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    getEstimateOfA(long a, + double f)
    +
    +
    Return the estimate of A.
    +
    +
    static double
    +
    getEstimateOfB(long b, + double f)
    +
    +
    Return the estimate of B.
    +
    +
    static double
    +
    getEstimateOfBoverA(long a, + long b)
    +
    +
    Return the estimate of b over a
    +
    +
    static double
    +
    getLowerBoundForBoverA(long a, + long b, + double f)
    +
    +
    Return the approximate lower bound based on a 95% confidence interval
    +
    +
    static double
    +
    getUpperBoundForBoverA(long a, + long b, + double f)
    +
    +
    Return the approximate upper bound based on a 95% confidence interval
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getLowerBoundForBoverA

      +
      public static double getLowerBoundForBoverA(long a, + long b, + double f)
      +
      Return the approximate lower bound based on a 95% confidence interval
      +
      +
      Parameters:
      +
      a - See class javadoc
      +
      b - See class javadoc
      +
      f - the inclusion probability used to produce the set with size a and should + generally be less than 0.5. Above this value, the results not be reliable. + When f = 1.0 this returns the estimate.
      +
      Returns:
      +
      the approximate upper bound
      +
      +
      +
    • +
    • +
      +

      getUpperBoundForBoverA

      +
      public static double getUpperBoundForBoverA(long a, + long b, + double f)
      +
      Return the approximate upper bound based on a 95% confidence interval
      +
      +
      Parameters:
      +
      a - See class javadoc
      +
      b - See class javadoc
      +
      f - the inclusion probability used to produce the set with size a.
      +
      Returns:
      +
      the approximate lower bound
      +
      +
      +
    • +
    • +
      +

      getEstimateOfBoverA

      +
      public static double getEstimateOfBoverA(long a, + long b)
      +
      Return the estimate of b over a
      +
      +
      Parameters:
      +
      a - See class javadoc
      +
      b - See class javadoc
      +
      Returns:
      +
      the estimate of b over a
      +
      +
      +
    • +
    • +
      +

      getEstimateOfA

      +
      public static double getEstimateOfA(long a, + double f)
      +
      Return the estimate of A. See class javadoc.
      +
      +
      Parameters:
      +
      a - See class javadoc
      +
      f - the inclusion probability used to produce the set with size a.
      +
      Returns:
      +
      the approximate lower bound
      +
      +
      +
    • +
    • +
      +

      getEstimateOfB

      +
      public static double getEstimateOfB(long b, + double f)
      +
      Return the estimate of B. See class javadoc.
      +
      +
      Parameters:
      +
      b - See class javadoc
      +
      f - the inclusion probability used to produce the set with size b.
      +
      Returns:
      +
      the approximate lower bound
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ByteArrayUtil.html b/docs/621/merge/org/apache/datasketches/common/ByteArrayUtil.html new file mode 100644 index 000000000..4c4b64fd7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ByteArrayUtil.html @@ -0,0 +1,677 @@ + + + + +ByteArrayUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ByteArrayUtil

+
+
java.lang.Object +
org.apache.datasketches.common.ByteArrayUtil
+
+
+
+
public final class ByteArrayUtil +extends Object
+
Useful methods for byte arrays.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    +
    copyBytes(byte[] source, + int srcStart, + byte[] target, + int tgtStart, + int numBytes)
    +
    +
    Copies bytes from source to target with offsets on both the source and target.
    +
    +
    static double
    +
    getDoubleBE(byte[] array, + int offset)
    +
    +
    Get a double from the given byte array starting at the given offset + in big endian order.
    +
    +
    static double
    +
    getDoubleLE(byte[] array, + int offset)
    +
    +
    Get a double from the given byte array starting at the given offset + in little endian order.
    +
    +
    static float
    +
    getFloatBE(byte[] array, + int offset)
    +
    +
    Get a float from the given byte array starting at the given offset + in big endian order.
    +
    +
    static float
    +
    getFloatLE(byte[] array, + int offset)
    +
    +
    Get a float from the given byte array starting at the given offset + in little endian order.
    +
    +
    static int
    +
    getIntBE(byte[] array, + int offset)
    +
    +
    Get a int from the given byte array starting at the given offset + in big endian order.
    +
    +
    static int
    +
    getIntLE(byte[] array, + int offset)
    +
    +
    Get a int from the given byte array starting at the given offset + in little endian order.
    +
    +
    static long
    +
    getLongBE(byte[] array, + int offset)
    +
    +
    Get a long from the source byte array starting at the given offset + in big endian order.
    +
    +
    static long
    +
    getLongLE(byte[] array, + int offset)
    +
    +
    Get a long from the given byte array starting at the given offset + in little endian order.
    +
    +
    static short
    +
    getShortBE(byte[] array, + int offset)
    +
    +
    Get a short from the given byte array starting at the given offset + in big endian order.
    +
    +
    static short
    +
    getShortLE(byte[] array, + int offset)
    +
    +
    Get a short from the given byte array starting at the given offset + in little endian order.
    +
    +
    static void
    +
    putDoubleBE(byte[] array, + int offset, + double value)
    +
    +
    Put the source double into the destination byte array starting at the given offset + in big endian order.
    +
    +
    static void
    +
    putDoubleLE(byte[] array, + int offset, + double value)
    +
    +
    Put the source double into the destination byte array starting at the given offset + in little endian order.
    +
    +
    static void
    +
    putFloatBE(byte[] array, + int offset, + float value)
    +
    +
    Put the source float into the destination byte array starting at the given offset + in big endian order.
    +
    +
    static void
    +
    putFloatLE(byte[] array, + int offset, + float value)
    +
    +
    Put the source float into the destination byte array starting at the given offset + in little endian order.
    +
    +
    static void
    +
    putIntBE(byte[] array, + int offset, + int value)
    +
    +
    Put the source int into the destination byte array starting at the given offset + in big endian order.
    +
    +
    static void
    +
    putIntLE(byte[] array, + int offset, + int value)
    +
    +
    Put the source int into the destination byte array starting at the given offset + in little endian order.
    +
    +
    static void
    +
    putLongBE(byte[] array, + int offset, + long value)
    +
    +
    Put the source long into the destination byte array starting at the given offset + in big endian order.
    +
    +
    static void
    +
    putLongLE(byte[] array, + int offset, + long value)
    +
    +
    Put the source long into the destination byte array starting at the given offset + in little endian order.
    +
    +
    static void
    +
    putShortBE(byte[] array, + int offset, + short value)
    +
    +
    Put the source short into the destination byte array starting at the given offset + in big endian order.
    +
    +
    static void
    +
    putShortLE(byte[] array, + int offset, + short value)
    +
    +
    Put the source short into the destination byte array starting at the given offset + in little endian order.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ByteArrayUtil

      +
      public ByteArrayUtil()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      copyBytes

      +
      public static void copyBytes(byte[] source, + int srcStart, + byte[] target, + int tgtStart, + int numBytes)
      +
      Copies bytes from source to target with offsets on both the source and target.
      +
      +
      Parameters:
      +
      source - the given source
      +
      srcStart - the source starting index
      +
      target - the give target
      +
      tgtStart - the target starting index
      +
      numBytes - the number of bytes to be transferred.
      +
      +
      +
    • +
    • +
      +

      getShortLE

      +
      public static short getShortLE(byte[] array, + int offset)
      +
      Get a short from the given byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the short
      +
      +
      +
    • +
    • +
      +

      putShortLE

      +
      public static void putShortLE(byte[] array, + int offset, + short value)
      +
      Put the source short into the destination byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source short
      +
      +
      +
    • +
    • +
      +

      getShortBE

      +
      public static short getShortBE(byte[] array, + int offset)
      +
      Get a short from the given byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the short
      +
      +
      +
    • +
    • +
      +

      putShortBE

      +
      public static void putShortBE(byte[] array, + int offset, + short value)
      +
      Put the source short into the destination byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source short
      +
      +
      +
    • +
    • +
      +

      getIntLE

      +
      public static int getIntLE(byte[] array, + int offset)
      +
      Get a int from the given byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the int
      +
      +
      +
    • +
    • +
      +

      putIntLE

      +
      public static void putIntLE(byte[] array, + int offset, + int value)
      +
      Put the source int into the destination byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source int
      +
      +
      +
    • +
    • +
      +

      getIntBE

      +
      public static int getIntBE(byte[] array, + int offset)
      +
      Get a int from the given byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the int
      +
      +
      +
    • +
    • +
      +

      putIntBE

      +
      public static void putIntBE(byte[] array, + int offset, + int value)
      +
      Put the source int into the destination byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source int
      +
      +
      +
    • +
    • +
      +

      getLongLE

      +
      public static long getLongLE(byte[] array, + int offset)
      +
      Get a long from the given byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the long
      +
      +
      +
    • +
    • +
      +

      putLongLE

      +
      public static void putLongLE(byte[] array, + int offset, + long value)
      +
      Put the source long into the destination byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source long
      +
      +
      +
    • +
    • +
      +

      getLongBE

      +
      public static long getLongBE(byte[] array, + int offset)
      +
      Get a long from the source byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source starting point
      +
      Returns:
      +
      the long
      +
      +
      +
    • +
    • +
      +

      putLongBE

      +
      public static void putLongBE(byte[] array, + int offset, + long value)
      +
      Put the source long into the destination byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination starting point
      +
      value - source long
      +
      +
      +
    • +
    • +
      +

      getFloatLE

      +
      public static float getFloatLE(byte[] array, + int offset)
      +
      Get a float from the given byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the float
      +
      +
      +
    • +
    • +
      +

      putFloatLE

      +
      public static void putFloatLE(byte[] array, + int offset, + float value)
      +
      Put the source float into the destination byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source float
      +
      +
      +
    • +
    • +
      +

      getFloatBE

      +
      public static float getFloatBE(byte[] array, + int offset)
      +
      Get a float from the given byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the float
      +
      +
      +
    • +
    • +
      +

      putFloatBE

      +
      public static void putFloatBE(byte[] array, + int offset, + float value)
      +
      Put the source float into the destination byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source float
      +
      +
      +
    • +
    • +
      +

      getDoubleLE

      +
      public static double getDoubleLE(byte[] array, + int offset)
      +
      Get a double from the given byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the double
      +
      +
      +
    • +
    • +
      +

      putDoubleLE

      +
      public static void putDoubleLE(byte[] array, + int offset, + double value)
      +
      Put the source double into the destination byte array starting at the given offset + in little endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source double
      +
      +
      +
    • +
    • +
      +

      getDoubleBE

      +
      public static double getDoubleBE(byte[] array, + int offset)
      +
      Get a double from the given byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - source byte array
      +
      offset - source offset
      +
      Returns:
      +
      the double
      +
      +
      +
    • +
    • +
      +

      putDoubleBE

      +
      public static void putDoubleBE(byte[] array, + int offset, + double value)
      +
      Put the source double into the destination byte array starting at the given offset + in big endian order. + There is no bounds checking.
      +
      +
      Parameters:
      +
      array - destination byte array
      +
      offset - destination offset
      +
      value - source double
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/Family.html b/docs/621/merge/org/apache/datasketches/common/Family.html new file mode 100644 index 000000000..6e0627fba --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/Family.html @@ -0,0 +1,602 @@ + + + + +Family (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class Family

+
+
java.lang.Object +
java.lang.Enum<Family> +
org.apache.datasketches.common.Family
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Family>, Constable
+
+
+
public enum Family +extends Enum<Family>
+
Defines the various families of sketch and set operation classes. A family defines a set of + classes that share fundamental algorithms and behaviors. The classes within a family may + still differ by how they are stored and accessed. For example, internally there are separate + classes for the QuickSelect sketch algorithm that operate on the Java heap and off-heap. + Not all of these families have parallel forms on and off-heap but are included for completeness.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    The A and not B family is an operation for the Theta Sketch Framework of sketches.
    +
    + +
    +
    The Alpha Sketch family is a member of the Theta Sketch Framework of sketches and is best + suited for real-time processes where both the updating of the sketch and getting the estimate + is performed directly on the sketch.
    +
    + +
    +
    Bloom Filter
    +
    + +
    +
    The Compact Sketch family is a member of the Theta Sketch Framework of sketches.
    +
    + +
    +
    CountMin Sketch
    +
    + +
    +
    Compressed Probabilistic Counting (CPC) Sketch
    +
    + +
    +
    Exact and Bounded, Probability Proportional to Size (EBPPS)
    +
    + +
    +
    The Frequency family of sketches.
    +
    + +
    +
    The HLL family of sketches.
    +
    + +
    +
    The Intersection family is an operation for the Theta Sketch Framework of sketches.
    +
    + +
    +
    KLL quantiles sketch
    +
    + +
    +
    The Quantiles family of sketches.
    +
    + +
    +
    The QuickSelect Sketch family is a member of the Theta Sketch Framework of sketches and + is the workhorse of the Theta Sketch Families and can be constructed for either on-heap or + off-heap operation.
    +
    + +
    +
    Relative Error Quantiles Sketch
    +
    + +
    +
    The Reservoir family of sketches.
    +
    + +
    +
    The reservoir sampling family of Union operations.
    +
    + +
    +
    t-Digest for estimating quantiles and ranks
    +
    + +
    +
    The Tuple family of sketches is a large family of sketches that are extensions of the + Theta Sketch Framework.
    +
    + +
    +
    The Union family is an operation for the Theta Sketch Framework of sketches.
    +
    + +
    +
    The VarOpt family of sketches.
    +
    + +
    +
    The VarOpt family of sketches.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    checkFamilyID(int id)
    +
     
    + + +
    +
    Returns the name for this family
    +
    +
    int
    + +
    +
    Returns the byte ID for this family
    +
    +
    int
    + +
    +
    Returns the maximum preamble size for this family in longs
    +
    +
    int
    + +
    +
    Returns the minimum preamble size for this family in longs
    +
    +
    static Family
    +
    idToFamily(int id)
    +
    +
    Returns the Family given the ID
    +
    +
    static Family
    + +
    +
    Returns the Family given the family name
    +
    + + +
     
    +
    static Family
    + +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static Family[]
    + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Enum

    +compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      ALPHA

      +
      public static final Family ALPHA
      +
      The Alpha Sketch family is a member of the Theta Sketch Framework of sketches and is best + suited for real-time processes where both the updating of the sketch and getting the estimate + is performed directly on the sketch. In this situation the AlphaSketch has roughly a + 30% improvement (~1/sqrt(2*k)) in its error distribution as compared to the QuickSelect + (or similar KMV-derived) sketches. + +

      If the AlphaSketch is fed into any SetOperation, the error distribution reverts back to the + normal QuickSelect/KMV error distribution (~1/sqrt(k)). For this reason, the AlphaSketch + does not have a sister class for off-heap operation. The Alpha Sketch has a roughly 30% faster + overall update time as compared to the QuickSelect sketch family.

      + +

      The Alpha Sketch is created using the UpdateSketch.builder(). + See Alpha TCF and + Theta Sketch Framework

      +
      +
    • +
    • +
      +

      QUICKSELECT

      +
      public static final Family QUICKSELECT
      +
      The QuickSelect Sketch family is a member of the Theta Sketch Framework of sketches and + is the workhorse of the Theta Sketch Families and can be constructed for either on-heap or + off-heap operation. + The QuickSelect Sketch is created using the UpdateSketch.builder(). + See Quick Select TCF
      +
      +
    • +
    • +
      +

      COMPACT

      +
      public static final Family COMPACT
      +
      The Compact Sketch family is a member of the Theta Sketch Framework of sketches. + The are read-only and cannot be updated, but can participate in any of the Set Operations. + The compact sketches are never created directly with a constructor or Builder. + Instead they are created as a result of the compact() + method of an UpdateSketch or as a result of a getSketchSamples() of a SetOperation.
      +
      +
    • +
    • +
      +

      UNION

      +
      public static final Family UNION
      +
      The Union family is an operation for the Theta Sketch Framework of sketches. + The Union is constructed using the SetOperation.builder().
      +
      +
    • +
    • +
      +

      INTERSECTION

      +
      public static final Family INTERSECTION
      +
      The Intersection family is an operation for the Theta Sketch Framework of sketches. + The Intersection is constructed using the SetOperation.builder().
      +
      +
    • +
    • +
      +

      A_NOT_B

      +
      public static final Family A_NOT_B
      +
      The A and not B family is an operation for the Theta Sketch Framework of sketches. + The AnotB operation is constructed using the SetOperation.builder().
      +
      +
    • +
    • +
      +

      HLL

      +
      public static final Family HLL
      +
      The HLL family of sketches. (Not part of TSF.)
      +
      +
    • +
    • +
      +

      QUANTILES

      +
      public static final Family QUANTILES
      +
      The Quantiles family of sketches. (Not part of TSF.)
      +
      +
    • +
    • +
      +

      TUPLE

      +
      public static final Family TUPLE
      +
      The Tuple family of sketches is a large family of sketches that are extensions of the + Theta Sketch Framework.
      +
      +
    • +
    • +
      +

      FREQUENCY

      +
      public static final Family FREQUENCY
      +
      The Frequency family of sketches. (Not part of TSF.)
      +
      +
    • +
    • +
      +

      RESERVOIR

      +
      public static final Family RESERVOIR
      +
      The Reservoir family of sketches. (Not part of TSF.)
      +
      +
    • +
    • +
      +

      RESERVOIR_UNION

      +
      public static final Family RESERVOIR_UNION
      +
      The reservoir sampling family of Union operations. (Not part of TSF.)
      +
      +
    • +
    • +
      +

      VAROPT

      +
      public static final Family VAROPT
      +
      The VarOpt family of sketches. (Not part of TSF.)
      +
      +
    • +
    • +
      +

      VAROPT_UNION

      +
      public static final Family VAROPT_UNION
      +
      The VarOpt family of sketches. (Not part of TSF.)
      +
      +
    • +
    • +
      +

      KLL

      +
      public static final Family KLL
      +
      KLL quantiles sketch
      +
      +
    • +
    • +
      +

      CPC

      +
      public static final Family CPC
      +
      Compressed Probabilistic Counting (CPC) Sketch
      +
      +
    • +
    • +
      +

      REQ

      +
      public static final Family REQ
      +
      Relative Error Quantiles Sketch
      +
      +
    • +
    • +
      +

      COUNTMIN

      +
      public static final Family COUNTMIN
      +
      CountMin Sketch
      +
      +
    • +
    • +
      +

      EBPPS

      +
      public static final Family EBPPS
      +
      Exact and Bounded, Probability Proportional to Size (EBPPS)
      +
      +
    • +
    • +
      +

      TDIGEST

      +
      public static final Family TDIGEST
      +
      t-Digest for estimating quantiles and ranks
      +
      +
    • +
    • +
      +

      BLOOMFILTER

      +
      public static final Family BLOOMFILTER
      +
      Bloom Filter
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static Family[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Family valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getID

      +
      public int getID()
      +
      Returns the byte ID for this family
      +
      +
      Returns:
      +
      the byte ID for this family
      +
      +
      +
    • +
    • +
      +

      checkFamilyID

      +
      public void checkFamilyID(int id)
      +
      +
      Parameters:
      +
      id - the given id, a value < 128.
      +
      +
      +
    • +
    • +
      +

      getFamilyName

      +
      public String getFamilyName()
      +
      Returns the name for this family
      +
      +
      Returns:
      +
      the name for this family
      +
      +
      +
    • +
    • +
      +

      getMinPreLongs

      +
      public int getMinPreLongs()
      +
      Returns the minimum preamble size for this family in longs
      +
      +
      Returns:
      +
      the minimum preamble size for this family in longs
      +
      +
      +
    • +
    • +
      +

      getMaxPreLongs

      +
      public int getMaxPreLongs()
      +
      Returns the maximum preamble size for this family in longs
      +
      +
      Returns:
      +
      the maximum preamble size for this family in longs
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Enum<Family>
      +
      +
      +
    • +
    • +
      +

      idToFamily

      +
      public static Family idToFamily(int id)
      +
      Returns the Family given the ID
      +
      +
      Parameters:
      +
      id - the given ID
      +
      Returns:
      +
      the Family given the ID
      +
      +
      +
    • +
    • +
      +

      stringToFamily

      +
      public static Family stringToFamily(String famName)
      +
      Returns the Family given the family name
      +
      +
      Parameters:
      +
      famName - the family name
      +
      Returns:
      +
      the Family given the family name
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/MemoryStatus.html b/docs/621/merge/org/apache/datasketches/common/MemoryStatus.html new file mode 100644 index 000000000..698aa72f7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/MemoryStatus.html @@ -0,0 +1,183 @@ + + + + +MemoryStatus (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface MemoryStatus

+
+
+
+
All Known Implementing Classes:
+
AnotB, CompactSketch, Intersection, SetOperation, Sketch, Union, UpdateSketch
+
+
+
public interface MemoryStatus
+
Methods for inquiring the status of a backing Memory object.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default boolean
    + +
    +
    Returns true if this object's internal data is backed by a Memory object, + which may be on-heap or off-heap.
    +
    +
    default boolean
    + +
    +
    Returns true if this object's internal data is backed by direct (off-heap) Memory.
    +
    +
    default boolean
    +
    isSameResource(org.apache.datasketches.memory.Memory that)
    +
    +
    Returns true if the backing resource of this is identical with the backing resource + of that.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      hasMemory

      +
      default boolean hasMemory()
      +
      Returns true if this object's internal data is backed by a Memory object, + which may be on-heap or off-heap.
      +
      +
      Returns:
      +
      true if this object's internal data is backed by a Memory object.
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      default boolean isDirect()
      +
      Returns true if this object's internal data is backed by direct (off-heap) Memory.
      +
      +
      Returns:
      +
      true if this object's internal data is backed by direct (off-heap) Memory.
      +
      +
      +
    • +
    • +
      +

      isSameResource

      +
      default boolean isSameResource(org.apache.datasketches.memory.Memory that)
      +
      Returns true if the backing resource of this is identical with the backing resource + of that. The capacities must be the same. If this is a region, + the region offset must also be the same.
      +
      +
      Parameters:
      +
      that - A different non-null and alive Memory object.
      +
      Returns:
      +
      true if the backing resource of this is identical with the backing resource + of that.
      +
      Throws:
      +
      SketchesArgumentException - if that is not alive (already closed).
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/ResizeFactor.html b/docs/621/merge/org/apache/datasketches/common/ResizeFactor.html new file mode 100644 index 000000000..3a3ab5f79 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/ResizeFactor.html @@ -0,0 +1,307 @@ + + + + +ResizeFactor (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class ResizeFactor

+
+
java.lang.Object +
java.lang.Enum<ResizeFactor> +
org.apache.datasketches.common.ResizeFactor
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ResizeFactor>, Constable
+
+
+
public enum ResizeFactor +extends Enum<ResizeFactor>
+
For the Families that accept this configuration parameter, it controls the size multiple that + affects how fast the internal cache grows, when more space is required. + See Resize Factor
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Do not resize.
    +
    + +
    +
    Resize factor is 2.
    +
    + +
    +
    Resize factor is 4.
    +
    + +
    +
    Resize factor is 8.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    getRF(int lg)
    +
    +
    Returns the Resize Factor given the Log-base 2 of the Resize Factor
    +
    +
    int
    + +
    +
    Returns the Resize Factor
    +
    +
    int
    +
    lg()
    +
    +
    Returns the Log-base 2 of the Resize Factor
    +
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static ResizeFactor[]
    + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Enum

    +compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      X1

      +
      public static final ResizeFactor X1
      +
      Do not resize. Sketch will be configured to full size.
      +
      +
    • +
    • +
      +

      X2

      +
      public static final ResizeFactor X2
      +
      Resize factor is 2.
      +
      +
    • +
    • +
      +

      X4

      +
      public static final ResizeFactor X4
      +
      Resize factor is 4.
      +
      +
    • +
    • +
      +

      X8

      +
      public static final ResizeFactor X8
      +
      Resize factor is 8.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static ResizeFactor[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static ResizeFactor valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      lg

      +
      public int lg()
      +
      Returns the Log-base 2 of the Resize Factor
      +
      +
      Returns:
      +
      the Log-base 2 of the Resize Factor
      +
      +
      +
    • +
    • +
      +

      getRF

      +
      public static ResizeFactor getRF(int lg)
      +
      Returns the Resize Factor given the Log-base 2 of the Resize Factor
      +
      +
      Parameters:
      +
      lg - a value between zero and 3, inclusive.
      +
      Returns:
      +
      the Resize Factor given the Log-base 2 of the Resize Factor
      +
      +
      +
    • +
    • +
      +

      getValue

      +
      public int getValue()
      +
      Returns the Resize Factor
      +
      +
      Returns:
      +
      the Resize Factor
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/SketchesArgumentException.html b/docs/621/merge/org/apache/datasketches/common/SketchesArgumentException.html new file mode 100644 index 000000000..c37fca67f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/SketchesArgumentException.html @@ -0,0 +1,168 @@ + + + + +SketchesArgumentException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SketchesArgumentException

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class SketchesArgumentException +extends SketchesException
+
Illegal Arguments Exception class for the library
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SketchesArgumentException

      +
      public SketchesArgumentException(String message)
      +
      Constructs a new runtime exception with the specified detail message. The cause is not + initialized, and may subsequently be initialized by a call to + Throwable.initCause(java.lang.Throwable).
      +
      +
      Parameters:
      +
      message - the detail message. The detail message is saved for later retrieval by the + Throwable.getMessage() method.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/SketchesException.html b/docs/621/merge/org/apache/datasketches/common/SketchesException.html new file mode 100644 index 000000000..79cc09c07 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/SketchesException.html @@ -0,0 +1,193 @@ + + + + +SketchesException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SketchesException

+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
java.lang.RuntimeException +
org.apache.datasketches.common.SketchesException
+
+
+
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
Direct Known Subclasses:
+
SketchesArgumentException, SketchesReadOnlyException, SketchesStateException
+
+
+
public class SketchesException +extends RuntimeException
+
Exception class for the library
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SketchesException

      +
      public SketchesException(String message)
      +
      Constructs a new runtime exception with the specified detail message. The cause is not + initialized, and may subsequently be initialized by a call to + Throwable.initCause(java.lang.Throwable).
      +
      +
      Parameters:
      +
      message - the detail message. The detail message is saved for later retrieval by the + Throwable.getMessage() method.
      +
      +
      +
    • +
    • +
      +

      SketchesException

      +
      public SketchesException(String message, + Throwable cause)
      +
      Constructs a new runtime exception with the specified detail message and cause. + +

      Note that the detail message associated with cause is not automatically incorporated + in this runtime exception's detail message.

      +
      +
      Parameters:
      +
      message - the detail message (which is saved for later retrieval by the + Throwable.getMessage() method).
      +
      cause - the cause (which is saved for later retrieval by the Throwable.getCause() + method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/SketchesReadOnlyException.html b/docs/621/merge/org/apache/datasketches/common/SketchesReadOnlyException.html new file mode 100644 index 000000000..4ed479c5e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/SketchesReadOnlyException.html @@ -0,0 +1,184 @@ + + + + +SketchesReadOnlyException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SketchesReadOnlyException

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class SketchesReadOnlyException +extends SketchesException
+
Write operation attempted on a read-only class.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SketchesReadOnlyException

      +
      public SketchesReadOnlyException()
      +
      Constructs a new runtime exception with the message: + "Write operation attempted on a read-only class." + +

      The cause is not initialized, and may subsequently be initialized by a call to + Throwable.initCause(java.lang.Throwable).

      +
      +
    • +
    • +
      +

      SketchesReadOnlyException

      +
      public SketchesReadOnlyException(String message)
      +
      Constructs a new runtime exception with the specified detail message. The cause is not + initialized, and may subsequently be initialized by a call to + Throwable.initCause(java.lang.Throwable).
      +
      +
      Parameters:
      +
      message - the detail message. The detail message is saved for later retrieval by the + Throwable.getMessage() method.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/SketchesStateException.html b/docs/621/merge/org/apache/datasketches/common/SketchesStateException.html new file mode 100644 index 000000000..fb71aa5e3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/SketchesStateException.html @@ -0,0 +1,168 @@ + + + + +SketchesStateException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SketchesStateException

+
+ +
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public class SketchesStateException +extends SketchesException
+
Illegal State Exception class for the library
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SketchesStateException

      +
      public SketchesStateException(String message)
      +
      Constructs a new runtime exception with the specified detail message. The cause is not + initialized, and may subsequently be initialized by a call to + Throwable.initCause(java.lang.Throwable).
      +
      +
      Parameters:
      +
      message - the detail message. The detail message is saved for later retrieval by the + Throwable.getMessage() method.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/SuppressFBWarnings.html b/docs/621/merge/org/apache/datasketches/common/SuppressFBWarnings.html new file mode 100644 index 000000000..eb7782cee --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/SuppressFBWarnings.html @@ -0,0 +1,158 @@ + + + + +SuppressFBWarnings (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Annotation Interface SuppressFBWarnings

+
+
+
+
@Retention(CLASS) +public @interface SuppressFBWarnings
+
Used to suppress SpotBug warnings.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Optional Element Summary

    +
    Optional Elements
    +
    +
    Modifier and Type
    +
    Optional Element
    +
    Description
    + + +
    +
    Optional explanation for the suppression.
    +
    + + +
    +
    A list of comma-separated, quoted SpotBugs warnings that are to be suppressed in the associated + annotated element.
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Element Details

    +
      +
    • +
      +

      value

      +
      String[] value
      +
      A list of comma-separated, quoted SpotBugs warnings that are to be suppressed in the associated + annotated element. The value can be a bug category, kind or pattern.
      +
      +
      Returns:
      +
      list of relevant bug descriptors
      +
      +
      +
      Default:
      +
      {}
      +
      +
      +
    • +
    • +
      +

      justification

      +
      String justification
      +
      Optional explanation for the suppression.
      +
      +
      Returns:
      +
      explanation
      +
      +
      +
      Default:
      +
      ""
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/Util.html b/docs/621/merge/org/apache/datasketches/common/Util.html new file mode 100644 index 000000000..0d1fffaa0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/Util.html @@ -0,0 +1,1290 @@ + + + + +Util (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Util

+
+
java.lang.Object +
org.apache.datasketches.common.Util
+
+
+
+
public final class Util +extends Object
+
Common utility functions.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final double
    + +
    +
    The inverse golden ratio as a fraction.
    +
    +
    static final long
    + +
    +
    The inverse golden ratio as an unsigned long.
    +
    +
    static final double
    + +
    +
    The natural logarithm of 2.0.
    +
    +
    static final double
    + +
    +
    Long.MAX_VALUE as a double.
    +
    +
    static final String
    + +
    +
    The java line separator character as a String.
    +
    +
    static final char
    + +
    +
    The tab character
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static final int
    +
    bitAt(long number, + int bitPos)
    +
    +
    Returns a one if the bit at bitPos is a one, otherwise zero.
    +
    +
    static int
    +
    bytesToInt(byte[] arr)
    +
    +
    Returns an int extracted from a Little-Endian byte array.
    +
    +
    static long
    +
    bytesToLong(byte[] arr)
    +
    +
    Returns a long extracted from a Little-Endian byte array.
    +
    +
    static String
    +
    bytesToString(byte[] arr, + boolean signed, + boolean littleEndian, + String sep)
    +
    +
    Returns a string view of a byte array
    +
    +
    static double
    +
    ceilingPowerBaseOfDouble(double base, + double n)
    +
    +
    Returns the ceiling of a given n given a base, where the ceiling is an integral power of the base.
    +
    +
    static int
    + +
    +
    Computes the int ceiling power of 2 within the range [1, 2^30].
    +
    +
    static long
    + +
    +
    Computes the long ceiling power of 2 within the range [1, 2^62].
    +
    +
    static String
    +
    characterPad(String s, + int fieldLength, + char padChar, + boolean postpend)
    +
    +
    Prepend or postpend the given string with the given character to fill the given field length.
    +
    +
    static void
    +
    checkBounds(long reqOff, + long reqLen, + long allocSize)
    +
    +
    Check the requested offset and length against the allocated size.
    +
    +
    static void
    +
    checkIfMultipleOf8AndGT0(long v, + String argName)
    +
    +
    Checks if parameter v is a multiple of 8 and greater than zero.
    +
    +
    static void
    +
    checkIfPowerOf2(long n, + String argName)
    +
    +
    Checks the given long argument if it is a positive integer power of 2.
    +
    +
    static void
    +
    checkProbability(double p, + String argName)
    +
    +
    Checks the given parameter to make sure it is positive and between 0.0 inclusive and 1.0 + inclusive.
    +
    +
    static int
    +
    exactLog2OfInt(int powerOf2)
    +
    +
    Returns the log2 of the given int value if it is an exact power of 2 and greater than zero.
    +
    +
    static int
    +
    exactLog2OfInt(int powerOf2, + String argName)
    +
    +
    Returns the log2 of the given int value if it is an exact power of 2 and greater than zero.
    +
    +
    static int
    +
    exactLog2OfLong(long powerOf2)
    +
    +
    Returns the log2 of the given long value if it is an exact power of 2 and greater than zero.
    +
    +
    static int
    +
    exactLog2OfLong(long powerOf2, + String argName)
    +
    +
    Returns the log2 of the given long value if it is an exact power of 2 and greater than zero.
    +
    +
    static double
    +
    floorPowerBaseOfDouble(double base, + double n)
    +
    +
    Computes the floor of a given n given base, where the floor is an integral power of the base.
    +
    +
    static int
    + +
    +
    Computes the floor power of 2 given n is in the range [1, 2^31-1].
    +
    +
    static long
    +
    floorPowerOf2(long n)
    +
    +
    Computes the floor power of 2 given n is in the range [1, 2^63-1].
    +
    +
    static byte[]
    +
    intToBytes(int v, + byte[] arr)
    +
    +
    Returns a Little-Endian byte array extracted from the given int.
    +
    +
    static double
    +
    invPow2(int e)
    +
    +
    Computes the inverse integer power of 2: 1/(2^e) = 2^(-e).
    +
    +
    static boolean
    +
    isEven(long n)
    +
    +
    Returns true if given n is even.
    +
    +
    static boolean
    +
    isLessThanUnsigned(long n1, + long n2)
    +
    +
    Unsigned compare with longs.
    +
    +
    static boolean
    + +
    +
    Returns true if v is a multiple of 8 and greater than zero
    +
    +
    static boolean
    +
    isOdd(long n)
    +
    +
    Returns true if given n is odd.
    +
    +
    static boolean
    +
    isPowerOf2(long n)
    +
    +
    Returns true if given long argument is exactly a positive power of 2.
    +
    +
    static <T> boolean
    +
    le(Object item1, + Object item2, + Comparator<? super T> c)
    +
    +
    Is item1 Less-Than-Or-Equal-To item2
    +
    +
    static double
    +
    log2(double value)
    +
    +
    The log2(value)
    +
    +
    static double
    +
    logBaseOfX(double base, + double x)
    +
    +
    Returns the logbase(x).
    +
    +
    static byte[]
    +
    longToBytes(long v, + byte[] arr)
    +
    +
    Returns a Little-Endian byte array extracted from the given long.
    +
    +
    static String
    +
    longToFixedLengthString(long number, + int length)
    +
    +
    Converts the given number to a string prepended with spaces, if necessary, to + match the given length.
    +
    +
    static String
    + +
    +
    Returns a string of spaced hex bytes in Big-Endian order.
    +
    +
    static <T> boolean
    +
    lt(Object item1, + Object item2, + Comparator<? super T> c)
    +
    +
    Is item1 Less-Than item2
    +
    +
    static <T> Object
    +
    maxT(Object item1, + Object item2, + Comparator<? super T> c)
    +
    +
    Finds the maximum of two generic items
    +
    +
    static String
    + +
    +
    Returns the given time in milliseconds formatted as Hours:Min:Sec.mSec
    +
    +
    static <T> Object
    +
    minT(Object item1, + Object item2, + Comparator<? super T> c)
    +
    +
    Finds the minimum of two generic items
    +
    +
    static String
    +
    nanoSecToString(long nS)
    +
    +
    Returns the given time in nanoseconds formatted as Sec.mSec_uSec_nSec
    +
    +
    static int
    + +
    +
    Returns the number of one bits preceding the highest-order ("leftmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
    +
    +
    static int
    + +
    +
    Returns the number of one bits following the lowest-order ("rightmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
    +
    +
    static int
    +
    numDigits(long n)
    +
    +
    Computes the number of decimal digits of the number n
    +
    +
    static double
    +
    powerSeriesNextDouble(int ppb, + double curPoint, + boolean roundToLong, + double logBase)
    +
    +
    Computes the next larger double in the power series + point = logBase( i / ppb ) given the current point in the series.
    +
    +
    static long
    +
    pwr2SeriesNext(int ppo, + long curPoint)
    +
    +
    Computes the next larger integer point in the power series + point = 2( i / ppo ) given the current point in the series.
    +
    +
    static int
    +
    pwr2SeriesPrev(int ppo, + int curPoint)
    +
    +
    Computes the previous, smaller integer point in the power series + point = 2( i / ppo ) given the current point in the series.
    +
    +
    static String
    +
    zeroPad(String s, + int fieldLength)
    +
    +
    Prepend the given string with zeros.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      LS

      +
      public static final String LS
      +
      The java line separator character as a String.
      +
      +
    • +
    • +
      +

      TAB

      +
      public static final char TAB
      +
      The tab character
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      LOG2

      +
      public static final double LOG2
      +
      The natural logarithm of 2.0.
      +
      +
    • +
    • +
      +

      INVERSE_GOLDEN_U64

      +
      public static final long INVERSE_GOLDEN_U64
      +
      The inverse golden ratio as an unsigned long.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      INVERSE_GOLDEN

      +
      public static final double INVERSE_GOLDEN
      +
      The inverse golden ratio as a fraction. + This has more precision than using the formula: (Math.sqrt(5.0) - 1.0) / 2.0.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      LONG_MAX_VALUE_AS_DOUBLE

      +
      public static final double LONG_MAX_VALUE_AS_DOUBLE
      +
      Long.MAX_VALUE as a double.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      bytesToInt

      +
      public static int bytesToInt(byte[] arr)
      +
      Returns an int extracted from a Little-Endian byte array.
      +
      +
      Parameters:
      +
      arr - the given byte array
      +
      Returns:
      +
      an int extracted from a Little-Endian byte array.
      +
      +
      +
    • +
    • +
      +

      bytesToLong

      +
      public static long bytesToLong(byte[] arr)
      +
      Returns a long extracted from a Little-Endian byte array.
      +
      +
      Parameters:
      +
      arr - the given byte array
      +
      Returns:
      +
      a long extracted from a Little-Endian byte array.
      +
      +
      +
    • +
    • +
      +

      intToBytes

      +
      public static byte[] intToBytes(int v, + byte[] arr)
      +
      Returns a Little-Endian byte array extracted from the given int.
      +
      +
      Parameters:
      +
      v - the given int
      +
      arr - a given array of 4 bytes that will be returned with the data
      +
      Returns:
      +
      a Little-Endian byte array extracted from the given int.
      +
      +
      +
    • +
    • +
      +

      longToBytes

      +
      public static byte[] longToBytes(long v, + byte[] arr)
      +
      Returns a Little-Endian byte array extracted from the given long.
      +
      +
      Parameters:
      +
      v - the given long
      +
      arr - a given array of 8 bytes that will be returned with the data
      +
      Returns:
      +
      a Little-Endian byte array extracted from the given long.
      +
      +
      +
    • +
    • +
      +

      longToHexBytes

      +
      public static String longToHexBytes(long v)
      +
      Returns a string of spaced hex bytes in Big-Endian order.
      +
      +
      Parameters:
      +
      v - the given long
      +
      Returns:
      +
      string of spaced hex bytes in Big-Endian order.
      +
      +
      +
    • +
    • +
      +

      bytesToString

      +
      public static String bytesToString(byte[] arr, + boolean signed, + boolean littleEndian, + String sep)
      +
      Returns a string view of a byte array
      +
      +
      Parameters:
      +
      arr - the given byte array
      +
      signed - set true if you want the byte values signed.
      +
      littleEndian - set true if you want Little-Endian order
      +
      sep - the separator string between bytes
      +
      Returns:
      +
      a string view of a byte array
      +
      +
      +
    • +
    • +
      +

      nanoSecToString

      +
      public static String nanoSecToString(long nS)
      +
      Returns the given time in nanoseconds formatted as Sec.mSec_uSec_nSec
      +
      +
      Parameters:
      +
      nS - the given nanoseconds
      +
      Returns:
      +
      the given time in nanoseconds formatted as Sec.mSec_uSec_nSec
      +
      +
      +
    • +
    • +
      +

      milliSecToString

      +
      public static String milliSecToString(long mS)
      +
      Returns the given time in milliseconds formatted as Hours:Min:Sec.mSec
      +
      +
      Parameters:
      +
      mS - the given milliseconds
      +
      Returns:
      +
      the given time in milliseconds formatted as Hours:Min:Sec.mSec
      +
      +
      +
    • +
    • +
      +

      zeroPad

      +
      public static String zeroPad(String s, + int fieldLength)
      +
      Prepend the given string with zeros. If the given string is equal or greater than the given + field length, it will be returned without modification.
      +
      +
      Parameters:
      +
      s - the given string
      +
      fieldLength - desired total field length including the given string
      +
      Returns:
      +
      the given string prepended with zeros.
      +
      +
      +
    • +
    • +
      +

      characterPad

      +
      public static String characterPad(String s, + int fieldLength, + char padChar, + boolean postpend)
      +
      Prepend or postpend the given string with the given character to fill the given field length. + If the given string is equal to or greater than the given field length, it will be returned + without modification.
      +
      +
      Parameters:
      +
      s - the given string
      +
      fieldLength - the desired field length
      +
      padChar - the desired pad character
      +
      postpend - if true append the pacCharacters to the end of the string.
      +
      Returns:
      +
      prepended or postpended given string with the given character to fill the given field length.
      +
      +
      +
    • +
    • +
      +

      checkIfMultipleOf8AndGT0

      +
      public static void checkIfMultipleOf8AndGT0(long v, + String argName)
      +
      Checks if parameter v is a multiple of 8 and greater than zero.
      +
      +
      Parameters:
      +
      v - The parameter to check
      +
      argName - This name will be part of the error message if the check fails.
      +
      +
      +
    • +
    • +
      +

      isMultipleOf8AndGT0

      +
      public static boolean isMultipleOf8AndGT0(long v)
      +
      Returns true if v is a multiple of 8 and greater than zero
      +
      +
      Parameters:
      +
      v - The parameter to check
      +
      Returns:
      +
      true if v is a multiple of 8 and greater than zero
      +
      +
      +
    • +
    • +
      +

      isPowerOf2

      +
      public static boolean isPowerOf2(long n)
      +
      Returns true if given long argument is exactly a positive power of 2.
      +
      +
      Parameters:
      +
      n - The input argument.
      +
      Returns:
      +
      true if argument is exactly a positive power of 2.
      +
      +
      +
    • +
    • +
      +

      checkIfPowerOf2

      +
      public static void checkIfPowerOf2(long n, + String argName)
      +
      Checks the given long argument if it is a positive integer power of 2. + If not, it throws an exception with the user supplied local argument name, if not null.
      +
      +
      Parameters:
      +
      n - The input long argument must be a positive integer power of 2.
      +
      argName - Used in the thrown exception. It may be null.
      +
      Throws:
      +
      SketchesArgumentException - if not a positive integer power of 2.
      +
      +
      +
    • +
    • +
      +

      ceilingPowerOf2

      +
      public static int ceilingPowerOf2(int n)
      +
      Computes the int ceiling power of 2 within the range [1, 2^30]. This is the smallest positive power + of 2 that is equal to or greater than the given n and a positive integer. + +

      For: +

        +
      • n ≤ 1: returns 1
      • +
      • 2^30 ≤ n ≤ 2^31 -1 : returns 2^30
      • +
      • n == an exact power of 2 : returns n
      • +
      • otherwise returns the smallest power of 2 ≥ n and equal to a positive integer
      • +
      +
      +
      Parameters:
      +
      n - The input int argument.
      +
      Returns:
      +
      the ceiling power of 2.
      +
      +
      +
    • +
    • +
      +

      ceilingPowerOf2

      +
      public static long ceilingPowerOf2(long n)
      +
      Computes the long ceiling power of 2 within the range [1, 2^62]. This is the smallest positive power + of 2 that is equal to or greater than the given n and a positive long. + +

      For: +

        +
      • n ≤ 1: returns 1
      • +
      • 2^62 ≤ n ≤ 2^63 -1 : returns 2^62
      • +
      • n == an exact power of 2 : returns n
      • +
      • otherwise returns the smallest power of 2 ≥ n and equal to a positive long
      • +
      +
      +
      Parameters:
      +
      n - The input long argument.
      +
      Returns:
      +
      the ceiling power of 2.
      +
      +
      +
    • +
    • +
      +

      floorPowerOf2

      +
      public static int floorPowerOf2(int n)
      +
      Computes the floor power of 2 given n is in the range [1, 2^31-1]. + This is the largest positive power of 2 that equal to or less than the given n and equal + to a positive integer. + +

      For: +

        +
      • n ≤ 1: returns 1
      • +
      • 2^30 ≤ n ≤ 2^31 -1 : returns 2^30
      • +
      • n == a power of 2 : returns n
      • +
      • otherwise returns the largest power of 2 less than n and equal to a mathematical + integer.
      • +
      +
      +
      Parameters:
      +
      n - The given int argument.
      +
      Returns:
      +
      the floor power of 2 as an int.
      +
      +
      +
    • +
    • +
      +

      floorPowerOf2

      +
      public static long floorPowerOf2(long n)
      +
      Computes the floor power of 2 given n is in the range [1, 2^63-1]. + This is the largest positive power of 2 that is equal to or less than the given n and + equal to a positive integer. + +

      For: +

        +
      • n ≤ 1: returns 1
      • +
      • 2^62 ≤ n ≤ 2^63 -1 : returns 2^62
      • +
      • n == a power of 2 : returns n
      • +
      • otherwise returns the largest power of 2 less than n and equal to a mathematical + integer.
      • +
      +
      +
      Parameters:
      +
      n - The given long argument.
      +
      Returns:
      +
      the floor power of 2 as a long
      +
      +
      +
    • +
    • +
      +

      invPow2

      +
      public static double invPow2(int e)
      +
      Computes the inverse integer power of 2: 1/(2^e) = 2^(-e).
      +
      +
      Parameters:
      +
      e - a positive value between 0 and 1023 inclusive
      +
      Returns:
      +
      the inverse integer power of 2: 1/(2^e) = 2^(-e)
      +
      +
      +
    • +
    • +
      +

      pwr2SeriesNext

      +
      public static long pwr2SeriesNext(int ppo, + long curPoint)
      +
      Computes the next larger integer point in the power series + point = 2( i / ppo ) given the current point in the series. + For illustration, this can be used in a loop as follows: + +
      
      +     int maxP = 1024;
      +     int minP = 1;
      +     int ppo = 2;
      +
      +     for (int p = minP; p <= maxP; p = pwr2LawNext(ppo, p)) {
      +       System.out.print(p + " ");
      +     }
      +     //generates the following series:
      +     //1 2 3 4 6 8 11 16 23 32 45 64 91 128 181 256 362 512 724 1024
      + 
      +
      +
      Parameters:
      +
      ppo - Points-Per-Octave, or the number of points per integer powers of 2 in the series.
      +
      curPoint - the current point of the series. Must be ≥ 1.
      +
      Returns:
      +
      the next point in the power series.
      +
      +
      +
    • +
    • +
      +

      pwr2SeriesPrev

      +
      public static int pwr2SeriesPrev(int ppo, + int curPoint)
      +
      Computes the previous, smaller integer point in the power series + point = 2( i / ppo ) given the current point in the series. + For illustration, this can be used in a loop as follows: + +
      
      +     int maxP = 1024;
      +     int minP = 1;
      +     int ppo = 2;
      +
      +     for (int p = maxP; p >= minP; p = pwr2LawPrev(ppo, p)) {
      +       System.out.print(p + " ");
      +     }
      +     //generates the following series:
      +     //1024 724 512 362 256 181 128 91 64 45 32 23 16 11 8 6 4 3 2 1
      + 
      +
      +
      Parameters:
      +
      ppo - Points-Per-Octave, or the number of points per integer powers of 2 in the series.
      +
      curPoint - the current point of the series. Must be ≥ 1.
      +
      Returns:
      +
      the previous, smaller point in the power series. + A returned value of zero terminates the series.
      +
      +
      +
    • +
    • +
      +

      powerSeriesNextDouble

      +
      public static double powerSeriesNextDouble(int ppb, + double curPoint, + boolean roundToLong, + double logBase)
      +
      Computes the next larger double in the power series + point = logBase( i / ppb ) given the current point in the series. + For illustration, this can be used in a loop as follows: + +
      
      +     double maxP = 1024.0;
      +     double minP = 1.0;
      +     int ppb = 2;
      +     double logBase = 2.0;
      +
      +     for (double p = minP; p <= maxP; p = powerSeriesNextDouble(ppb, p, true, logBase)) {
      +       System.out.print(p + " ");
      +     }
      +     //generates the following series:
      +     //1 2 3 4 6 8 11 16 23 32 45 64 91 128 181 256 362 512 724 1024
      + 
      +
      +
      Parameters:
      +
      ppb - Points-Per-Base, or the number of points per integer powers of base in the series.
      +
      curPoint - the current point of the series. Must be ≥ 1.0.
      +
      roundToLong - if true the output will be rounded to the nearest long.
      +
      logBase - the desired base of the logarithms
      +
      Returns:
      +
      the next point in the power series.
      +
      +
      +
    • +
    • +
      +

      ceilingPowerBaseOfDouble

      +
      public static double ceilingPowerBaseOfDouble(double base, + double n)
      +
      Returns the ceiling of a given n given a base, where the ceiling is an integral power of the base. + This is the smallest positive power of base that is equal to or greater than the given n + and equal to a mathematical integer. + The result of this function is consistent with ceilingPowerOf2(int) for values + less than one. I.e., if n < 1, the result is 1. + +

      The formula is: baseceiling(logbase(x))

      +
      +
      Parameters:
      +
      base - The number in the expression ⌈basen⌉.
      +
      n - The input argument.
      +
      Returns:
      +
      the ceiling power of base as a double and equal to a mathematical integer.
      +
      +
      +
    • +
    • +
      +

      floorPowerBaseOfDouble

      +
      public static double floorPowerBaseOfDouble(double base, + double n)
      +
      Computes the floor of a given n given base, where the floor is an integral power of the base. + This is the largest positive power of base that is equal to or less than the given n + and equal to a mathematical integer. + The result of this function is consistent with floorPowerOf2(int) for values + less than one. I.e., if n < 1, the result is 1. + +

      The formula is: basefloor(logbase(x))

      +
      +
      Parameters:
      +
      base - The number in the expression ⌊basen⌋.
      +
      n - The input argument.
      +
      Returns:
      +
      the floor power of 2 and equal to a mathematical integer.
      +
      +
      +
    • +
    • +
      +

      log2

      +
      public static double log2(double value)
      +
      The log2(value)
      +
      +
      Parameters:
      +
      value - the given value
      +
      Returns:
      +
      log2(value)
      +
      +
      +
    • +
    • +
      +

      logBaseOfX

      +
      public static double logBaseOfX(double base, + double x)
      +
      Returns the logbase(x). Example, if base = 2.0: logB(2.0, x) = log(x) / log(2.0).
      +
      +
      Parameters:
      +
      base - The number in the expression log(x) / log(base).
      +
      x - the given value
      +
      Returns:
      +
      the logbase(x)
      +
      +
      +
    • +
    • +
      +

      numberOfTrailingOnes

      +
      public static int numberOfTrailingOnes(long v)
      +
      Returns the number of one bits following the lowest-order ("rightmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
      +
      +
      Parameters:
      +
      v - the value whose number of trailing ones is to be computed.
      +
      Returns:
      +
      the number of one bits following the lowest-order ("rightmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
      +
      +
      +
    • +
    • +
      +

      numberOfLeadingOnes

      +
      public static int numberOfLeadingOnes(long v)
      +
      Returns the number of one bits preceding the highest-order ("leftmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
      +
      +
      Parameters:
      +
      v - the value whose number of leading ones is to be computed.
      +
      Returns:
      +
      the number of one bits preceding the lowest-order ("rightmost") zero-bit in the + two's complement binary representation of the specified long value, or 64 if the value is equal + to minus one.
      +
      +
      +
    • +
    • +
      +

      exactLog2OfInt

      +
      public static int exactLog2OfInt(int powerOf2, + String argName)
      +
      Returns the log2 of the given int value if it is an exact power of 2 and greater than zero. + If not, it throws an exception with the user supplied local argument name.
      +
      +
      Parameters:
      +
      powerOf2 - must be a power of 2 and greater than zero.
      +
      argName - the argument name used in the exception if thrown.
      +
      Returns:
      +
      the log2 of the given value if it is an exact power of 2 and greater than zero.
      +
      Throws:
      +
      SketchesArgumentException - if not a power of 2 nor greater than zero.
      +
      +
      +
    • +
    • +
      +

      exactLog2OfLong

      +
      public static int exactLog2OfLong(long powerOf2, + String argName)
      +
      Returns the log2 of the given long value if it is an exact power of 2 and greater than zero. + If not, it throws an exception with the user supplied local argument name.
      +
      +
      Parameters:
      +
      powerOf2 - must be a power of 2 and greater than zero.
      +
      argName - the argument name used in the exception if thrown.
      +
      Returns:
      +
      the log2 of the given value if it is an exact power of 2 and greater than zero.
      +
      Throws:
      +
      SketchesArgumentException - if not a power of 2 nor greater than zero.
      +
      +
      +
    • +
    • +
      +

      exactLog2OfInt

      +
      public static int exactLog2OfInt(int powerOf2)
      +
      Returns the log2 of the given int value if it is an exact power of 2 and greater than zero. + If not, it throws an exception.
      +
      +
      Parameters:
      +
      powerOf2 - must be a power of 2 and greater than zero.
      +
      Returns:
      +
      the log2 of the given int value if it is an exact power of 2 and greater than zero.
      +
      +
      +
    • +
    • +
      +

      exactLog2OfLong

      +
      public static int exactLog2OfLong(long powerOf2)
      +
      Returns the log2 of the given long value if it is an exact power of 2 and greater than zero. + If not, it throws an exception.
      +
      +
      Parameters:
      +
      powerOf2 - must be a power of 2 and greater than zero.
      +
      Returns:
      +
      the log2 of the given long value if it is an exact power of 2 and greater than zero.
      +
      +
      +
    • +
    • +
      +

      checkBounds

      +
      public static void checkBounds(long reqOff, + long reqLen, + long allocSize)
      +
      Check the requested offset and length against the allocated size. + The invariants equation is: 0 <= reqOff <= reqLen <= reqOff + reqLen <= allocSize. + If this equation is violated an SketchesArgumentException will be thrown.
      +
      +
      Parameters:
      +
      reqOff - the requested offset
      +
      reqLen - the requested length
      +
      allocSize - the allocated size.
      +
      +
      +
    • +
    • +
      +

      checkProbability

      +
      public static void checkProbability(double p, + String argName)
      +
      Checks the given parameter to make sure it is positive and between 0.0 inclusive and 1.0 + inclusive.
      +
      +
      Parameters:
      +
      p - See Sampling Probability, p
      +
      argName - Used in the thrown exception.
      +
      +
      +
    • +
    • +
      +

      isLessThanUnsigned

      +
      public static boolean isLessThanUnsigned(long n1, + long n2)
      +
      Unsigned compare with longs.
      +
      +
      Parameters:
      +
      n1 - A long to be treated as if unsigned.
      +
      n2 - A long to be treated as if unsigned.
      +
      Returns:
      +
      true if n1 > n2.
      +
      +
      +
    • +
    • +
      +

      isEven

      +
      public static boolean isEven(long n)
      +
      Returns true if given n is even.
      +
      +
      Parameters:
      +
      n - the given n
      +
      Returns:
      +
      true if given n is even.
      +
      +
      +
    • +
    • +
      +

      isOdd

      +
      public static boolean isOdd(long n)
      +
      Returns true if given n is odd.
      +
      +
      Parameters:
      +
      n - the given n
      +
      Returns:
      +
      true if given n is odd.
      +
      +
      +
    • +
    • +
      +

      bitAt

      +
      public static final int bitAt(long number, + int bitPos)
      +
      Returns a one if the bit at bitPos is a one, otherwise zero.
      +
      +
      Parameters:
      +
      number - the number to examine
      +
      bitPos - the given zero-based bit position, where the least significant + bit is at position zero.
      +
      Returns:
      +
      a one if the bit at bitPos is a one, otherwise zero.
      +
      +
      +
    • +
    • +
      +

      numDigits

      +
      public static int numDigits(long n)
      +
      Computes the number of decimal digits of the number n
      +
      +
      Parameters:
      +
      n - the given number
      +
      Returns:
      +
      the number of decimal digits of the number n
      +
      +
      +
    • +
    • +
      +

      longToFixedLengthString

      +
      public static String longToFixedLengthString(long number, + int length)
      +
      Converts the given number to a string prepended with spaces, if necessary, to + match the given length. + +

      For example, assume a sequence of integers from 1 to 1000. The largest value has + four decimal digits. Convert the entire sequence of strings to the form " 1" to "1000". + When these strings are sorted they will be in numerical sequence: " 1", " 2", ... "1000".

      +
      +
      Parameters:
      +
      number - the given number
      +
      length - the desired string length.
      +
      Returns:
      +
      the given number to a string prepended with spaces
      +
      +
      +
    • +
    • +
      +

      minT

      +
      public static <T> Object minT(Object item1, + Object item2, + Comparator<? super T> c)
      +
      Finds the minimum of two generic items
      +
      +
      Type Parameters:
      +
      T - the type
      +
      Parameters:
      +
      item1 - item one
      +
      item2 - item two
      +
      c - the given comparator
      +
      Returns:
      +
      the minimum value
      +
      +
      +
    • +
    • +
      +

      maxT

      +
      public static <T> Object maxT(Object item1, + Object item2, + Comparator<? super T> c)
      +
      Finds the maximum of two generic items
      +
      +
      Type Parameters:
      +
      T - the type
      +
      Parameters:
      +
      item1 - item one
      +
      item2 - item two
      +
      c - the given comparator
      +
      Returns:
      +
      the maximum value
      +
      +
      +
    • +
    • +
      +

      lt

      +
      public static <T> boolean lt(Object item1, + Object item2, + Comparator<? super T> c)
      +
      Is item1 Less-Than item2
      +
      +
      Type Parameters:
      +
      T - the type
      +
      Parameters:
      +
      item1 - item one
      +
      item2 - item two
      +
      c - the given comparator
      +
      Returns:
      +
      true if item1 Less-Than item2
      +
      +
      +
    • +
    • +
      +

      le

      +
      public static <T> boolean le(Object item1, + Object item2, + Comparator<? super T> c)
      +
      Is item1 Less-Than-Or-Equal-To item2
      +
      +
      Type Parameters:
      +
      T - the type
      +
      Parameters:
      +
      item1 - item one
      +
      item2 - item two
      +
      c - the given comparator
      +
      Returns:
      +
      true if item1 Less-Than-Or-Equal-To item2
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfBooleansSerDe.html b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfBooleansSerDe.html new file mode 100644 index 000000000..bcc4132d9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfBooleansSerDe.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.ArrayOfBooleansSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ArrayOfBooleansSerDe

+
+No usage of org.apache.datasketches.common.ArrayOfBooleansSerDe
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfDoublesSerDe.html b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfDoublesSerDe.html new file mode 100644 index 000000000..7eb6c761b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfDoublesSerDe.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.ArrayOfDoublesSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ArrayOfDoublesSerDe

+
+No usage of org.apache.datasketches.common.ArrayOfDoublesSerDe
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfItemsSerDe.html b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfItemsSerDe.html new file mode 100644 index 000000000..57e4d59ea --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfItemsSerDe.html @@ -0,0 +1,376 @@ + + + + +Uses of Class org.apache.datasketches.common.ArrayOfItemsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ArrayOfItemsSerDe

+
+
Packages that use ArrayOfItemsSerDe
+
+
Package
+
Description
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfLongsSerDe.html b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfLongsSerDe.html new file mode 100644 index 000000000..059d4a160 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfLongsSerDe.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.ArrayOfLongsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ArrayOfLongsSerDe

+
+No usage of org.apache.datasketches.common.ArrayOfLongsSerDe
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfNumbersSerDe.html b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfNumbersSerDe.html new file mode 100644 index 000000000..0ca9c0c0a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfNumbersSerDe.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.ArrayOfNumbersSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ArrayOfNumbersSerDe

+
+No usage of org.apache.datasketches.common.ArrayOfNumbersSerDe
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfStringsSerDe.html b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfStringsSerDe.html new file mode 100644 index 000000000..2f38b20e6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfStringsSerDe.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.ArrayOfStringsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ArrayOfStringsSerDe

+
+No usage of org.apache.datasketches.common.ArrayOfStringsSerDe
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfUtf16StringsSerDe.html b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfUtf16StringsSerDe.html new file mode 100644 index 000000000..0aef036a7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ArrayOfUtf16StringsSerDe.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.ArrayOfUtf16StringsSerDe (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ArrayOfUtf16StringsSerDe

+
+No usage of org.apache.datasketches.common.ArrayOfUtf16StringsSerDe
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnBinomialProportions.html b/docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnBinomialProportions.html new file mode 100644 index 000000000..ab4881c1d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnBinomialProportions.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.BoundsOnBinomialProportions (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.BoundsOnBinomialProportions

+
+No usage of org.apache.datasketches.common.BoundsOnBinomialProportions
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnRatiosInSampledSets.html b/docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnRatiosInSampledSets.html new file mode 100644 index 000000000..c8a78f01c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/BoundsOnRatiosInSampledSets.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.BoundsOnRatiosInSampledSets (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.BoundsOnRatiosInSampledSets

+
+No usage of org.apache.datasketches.common.BoundsOnRatiosInSampledSets
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ByteArrayUtil.html b/docs/621/merge/org/apache/datasketches/common/class-use/ByteArrayUtil.html new file mode 100644 index 000000000..ae64f1626 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ByteArrayUtil.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.ByteArrayUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.ByteArrayUtil

+
+No usage of org.apache.datasketches.common.ByteArrayUtil
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/Family.html b/docs/621/merge/org/apache/datasketches/common/class-use/Family.html new file mode 100644 index 000000000..4614f02ea --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/Family.html @@ -0,0 +1,203 @@ + + + + +Uses of Enum Class org.apache.datasketches.common.Family (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.common.Family

+
+
Packages that use Family
+
+
Package
+
Description
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+ +
+
Compressed Probabilistic Counting sketch family
+
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/MemoryStatus.html b/docs/621/merge/org/apache/datasketches/common/class-use/MemoryStatus.html new file mode 100644 index 000000000..2d53aa338 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/MemoryStatus.html @@ -0,0 +1,122 @@ + + + + +Uses of Interface org.apache.datasketches.common.MemoryStatus (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.common.MemoryStatus

+
+
Packages that use MemoryStatus
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/ResizeFactor.html b/docs/621/merge/org/apache/datasketches/common/class-use/ResizeFactor.html new file mode 100644 index 000000000..b64ccbc9a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/ResizeFactor.html @@ -0,0 +1,259 @@ + + + + +Uses of Enum Class org.apache.datasketches.common.ResizeFactor (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.common.ResizeFactor

+
+
Packages that use ResizeFactor
+
+
Package
+
Description
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/SketchesArgumentException.html b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesArgumentException.html new file mode 100644 index 000000000..f703a6182 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesArgumentException.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.SketchesArgumentException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.SketchesArgumentException

+
+No usage of org.apache.datasketches.common.SketchesArgumentException
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/SketchesException.html b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesException.html new file mode 100644 index 000000000..90b586a5b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesException.html @@ -0,0 +1,101 @@ + + + + +Uses of Class org.apache.datasketches.common.SketchesException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.SketchesException

+
+
Packages that use SketchesException
+
+
Package
+
Description
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/SketchesReadOnlyException.html b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesReadOnlyException.html new file mode 100644 index 000000000..8e2d0a556 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesReadOnlyException.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.SketchesReadOnlyException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.SketchesReadOnlyException

+
+No usage of org.apache.datasketches.common.SketchesReadOnlyException
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/SketchesStateException.html b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesStateException.html new file mode 100644 index 000000000..acdc07da4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/SketchesStateException.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.SketchesStateException (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.SketchesStateException

+
+No usage of org.apache.datasketches.common.SketchesStateException
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/SuppressFBWarnings.html b/docs/621/merge/org/apache/datasketches/common/class-use/SuppressFBWarnings.html new file mode 100644 index 000000000..bb9e20eaa --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/SuppressFBWarnings.html @@ -0,0 +1,285 @@ + + + + +Uses of Annotation Interface org.apache.datasketches.common.SuppressFBWarnings (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Annotation Interface
org.apache.datasketches.common.SuppressFBWarnings

+
+
Packages that use SuppressFBWarnings
+
+
Package
+
Description
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+ +
+
Compressed Probabilistic Counting sketch family
+
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/class-use/Util.html b/docs/621/merge/org/apache/datasketches/common/class-use/Util.html new file mode 100644 index 000000000..fd69c2c56 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/class-use/Util.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.common.Util (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.common.Util

+
+No usage of org.apache.datasketches.common.Util
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/package-summary.html b/docs/621/merge/org/apache/datasketches/common/package-summary.html new file mode 100644 index 000000000..829a2f37f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/package-summary.html @@ -0,0 +1,193 @@ + + + + +org.apache.datasketches.common (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.common

+
+
+
package org.apache.datasketches.common
+
+
This package is for common classes that may be used across all the sketch families.
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Methods of serializing and deserializing arrays of Boolean as a bit array.
    +
    + +
    +
    Methods of serializing and deserializing arrays of Double.
    +
    + +
    +
    Base class for serializing and deserializing custom types.
    +
    + +
    +
    Methods of serializing and deserializing arrays of Long.
    +
    + +
    +
    Methods of serializing and deserializing arrays of the object version of primitive types of + Number.
    +
    + +
    +
    Methods of serializing and deserializing arrays of String.
    +
    + +
    +
    Methods of serializing and deserializing arrays of String.
    +
    + +
    +
    Confidence intervals for binomial proportions.
    +
    + +
    +
    This class is used to compute the bounds on the estimate of the ratio |B| / |A|, where: + + |A| is the unknown size of a set A of unique identifiers. + |B| is the unknown size of a subset B of A. + a = |SA| is the observed size of a sample of A + that was obtained by Bernoulli sampling with a known inclusion probability f. + b = |SA ∩ B| is the observed size of a subset + of SA. +
    +
    + +
    +
    Useful methods for byte arrays.
    +
    + +
    +
    Defines the various families of sketch and set operation classes.
    +
    + +
    +
    Methods for inquiring the status of a backing Memory object.
    +
    + +
    +
    For the Families that accept this configuration parameter, it controls the size multiple that + affects how fast the internal cache grows, when more space is required.
    +
    + +
    +
    Illegal Arguments Exception class for the library
    +
    + +
    +
    Exception class for the library
    +
    + +
    +
    Write operation attempted on a read-only class.
    +
    + +
    +
    Illegal State Exception class for the library
    +
    + +
    +
    Used to suppress SpotBug warnings.
    +
    + +
    +
    Common utility functions.
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/package-tree.html b/docs/621/merge/org/apache/datasketches/common/package-tree.html new file mode 100644 index 000000000..44678166a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/package-tree.html @@ -0,0 +1,135 @@ + + + + +org.apache.datasketches.common Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.common

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/common/package-use.html b/docs/621/merge/org/apache/datasketches/common/package-use.html new file mode 100644 index 000000000..7c08171ea --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/common/package-use.html @@ -0,0 +1,306 @@ + + + + +Uses of Package org.apache.datasketches.common (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.common

+
+ +
+
Package
+
Description
+ +
+
This package is for common classes that may be used across all the sketch families.
+
+ +
+
Compressed Probabilistic Counting sketch family
+
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/CompressionCharacterization.html b/docs/621/merge/org/apache/datasketches/cpc/CompressionCharacterization.html new file mode 100644 index 000000000..0e529a4a4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/CompressionCharacterization.html @@ -0,0 +1,205 @@ + + + + +CompressionCharacterization (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CompressionCharacterization

+
+
java.lang.Object +
org.apache.datasketches.cpc.CompressionCharacterization
+
+
+
+
public class CompressionCharacterization +extends Object
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing. To be + accessible for both, this code is part of the main hierarchy. It is not used during normal + production runtime.
+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CompressionCharacterization

      +
      public CompressionCharacterization(int lgMinK, + int lgMaxK, + int lgMinT, + int lgMaxT, + int lgMulK, + int uPPO, + int incLgK, + PrintStream pS, + PrintWriter pW)
      +
      Only used in test.
      +
      +
      Parameters:
      +
      lgMinK - min lgK
      +
      lgMaxK - max lgK
      +
      lgMinT - min lgTrials
      +
      lgMaxT - max lgTrials
      +
      lgMulK - lg multiple
      +
      uPPO - unique axis Points Per Octave
      +
      incLgK - increment lgK
      +
      pS - PrintStream
      +
      pW - PrintWriter
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      public void start()
      +
      Only used in test
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/CpcSketch.html b/docs/621/merge/org/apache/datasketches/cpc/CpcSketch.html new file mode 100644 index 000000000..ccb73631d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/CpcSketch.html @@ -0,0 +1,735 @@ + + + + +CpcSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CpcSketch

+
+
java.lang.Object +
org.apache.datasketches.cpc.CpcSketch
+
+
+
+
public final class CpcSketch +extends Object
+
This is a unique-counting sketch that implements the + Compressed Probabilistic Counting (CPC, a.k.a FM85) algorithms developed by Kevin Lang in + his paper + Back to the Future: an Even More Nearly + Optimal Cardinality Estimation Algorithm. + +

This sketch is extremely space-efficient when serialized. In an apples-to-apples empirical + comparison against compressed HyperLogLog sketches, this new algorithm simultaneously wins on + the two dimensions of the space/accuracy tradeoff and produces sketches that are + smaller than the entropy of HLL, so no possible implementation of compressed HLL can match its + space efficiency for a given accuracy. As described in the paper this sketch implements a newly + developed ICON estimator algorithm that survives unioning operations, another + well-known estimator, the + Historical Inverse Probability (HIP) estimator + does not. + The update speed performance of this sketch is quite fast and is comparable to the speed of HLL. + The unioning (merging) capability of this sketch also allows for merging of sketches with + different configurations of K. + +

For additional security this sketch can be configured with a user-specified hash seed.

+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final int
    + +
    +
    The default Log_base2 of K
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructor with default log_base2 of k
    +
    +
    CpcSketch(int lgK)
    +
    +
    Constructor with log_base2 of k.
    +
    +
    CpcSketch(int lgK, + long seed)
    +
    +
    Constructor with log_base2 of k and seed.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double
    + +
    +
    Returns the best estimate of the cardinality of the sketch.
    +
    +
    static Family
    + +
    +
    Return the DataSketches identifier for this CPC family of sketches.
    +
    +
    int
    + +
    +
    Return the parameter LgK.
    +
    +
    double
    +
    getLowerBound(int kappa)
    +
    +
    Returns the best estimate of the lower bound of the confidence interval given kappa, + the number of standard deviations from the mean.
    +
    +
    static int
    + +
    +
    The actual size of a compressed CPC sketch has a small random variance, but the following + empirically measured size should be large enough for at least 99.9 percent of sketches.
    +
    +
    double
    +
    getUpperBound(int kappa)
    +
    +
    Returns the best estimate of the upper bound of the confidence interval given kappa, + the number of standard deviations from the mean.
    +
    +
    static CpcSketch
    +
    heapify(byte[] byteArray)
    +
    +
    Return the given byte array as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
    +
    +
    static CpcSketch
    +
    heapify(byte[] byteArray, + long seed)
    +
    +
    Return the given byte array as a CpcSketch on the Java heap.
    +
    +
    static CpcSketch
    +
    heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Return the given Memory as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
    +
    +
    static CpcSketch
    +
    heapify(org.apache.datasketches.memory.Memory mem, + long seed)
    +
    +
    Return the given Memory as a CpcSketch on the Java heap.
    +
    +
    boolean
    + +
    +
    Return true if this sketch is empty
    +
    +
    final void
    + +
    +
    Resets this sketch to empty but retains the original LgK and Seed.
    +
    +
    byte[]
    + +
    +
    Return this sketch as a compressed byte array.
    +
    + + +
    +
    Return a human-readable string summary of this sketch
    +
    + +
    toString(boolean detail)
    +
    +
    Return a human-readable string summary of this sketch
    +
    +
    static String
    +
    toString(byte[] byteArr, + boolean detail)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a CpcSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem, + boolean detail)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a CpcSketch.
    +
    +
    void
    +
    update(byte[] data)
    +
    +
    Present the given byte array as a potential unique item.
    +
    +
    void
    +
    update(char[] data)
    +
    +
    Present the given char array as a potential unique item.
    +
    +
    void
    +
    update(double datum)
    +
    +
    Present the given double (or float) datum as a potential unique item.
    +
    +
    void
    +
    update(int[] data)
    +
    +
    Present the given integer array as a potential unique item.
    +
    +
    void
    +
    update(long datum)
    +
    +
    Present the given long as a potential unique item.
    +
    +
    void
    +
    update(long[] data)
    +
    +
    Present the given long array as a potential unique item.
    +
    +
    void
    +
    update(String datum)
    +
    +
    Present the given String as a potential unique item.
    +
    +
    void
    + +
    +
    Present the given ByteBuffer as a potential unique item + If the ByteBuffer is null or empty no update attempt is made and the method returns
    +
    +
    boolean
    + +
    +
    Convience function that this Sketch is valid.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_LG_K

      +
      public static final int DEFAULT_LG_K
      +
      The default Log_base2 of K
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CpcSketch

      +
      public CpcSketch()
      +
      Constructor with default log_base2 of k
      +
      +
    • +
    • +
      +

      CpcSketch

      +
      public CpcSketch(int lgK)
      +
      Constructor with log_base2 of k.
      +
      +
      Parameters:
      +
      lgK - the given log_base2 of k
      +
      +
      +
    • +
    • +
      +

      CpcSketch

      +
      public CpcSketch(int lgK, + long seed)
      +
      Constructor with log_base2 of k and seed.
      +
      +
      Parameters:
      +
      lgK - the given log_base2 of k
      +
      seed - the given seed
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      Returns the best estimate of the cardinality of the sketch.
      +
      +
      Returns:
      +
      the best estimate of the cardinality of the sketch.
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public static Family getFamily()
      +
      Return the DataSketches identifier for this CPC family of sketches.
      +
      +
      Returns:
      +
      the DataSketches identifier for this CPC family of sketches.
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Return the parameter LgK.
      +
      +
      Returns:
      +
      the parameter LgK.
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int kappa)
      +
      Returns the best estimate of the lower bound of the confidence interval given kappa, + the number of standard deviations from the mean.
      +
      +
      Parameters:
      +
      kappa - the given number of standard deviations from the mean: 1, 2 or 3.
      +
      Returns:
      +
      the best estimate of the lower bound of the confidence interval given kappa.
      +
      +
      +
    • +
    • +
      +

      getMaxSerializedBytes

      +
      public static int getMaxSerializedBytes(int lgK)
      +
      The actual size of a compressed CPC sketch has a small random variance, but the following + empirically measured size should be large enough for at least 99.9 percent of sketches. + +

      For small values of n the size can be much smaller.

      +
      +
      Parameters:
      +
      lgK - the given value of lgK.
      +
      Returns:
      +
      the estimated maximum compressed serialized size of a sketch.
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int kappa)
      +
      Returns the best estimate of the upper bound of the confidence interval given kappa, + the number of standard deviations from the mean.
      +
      +
      Parameters:
      +
      kappa - the given number of standard deviations from the mean: 1, 2 or 3.
      +
      Returns:
      +
      the best estimate of the upper bound of the confidence interval given kappa.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static CpcSketch heapify(org.apache.datasketches.memory.Memory mem)
      +
      Return the given Memory as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      the given Memory as a CpcSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static CpcSketch heapify(byte[] byteArray)
      +
      Return the given byte array as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
      +
      +
      Parameters:
      +
      byteArray - the given byte array
      +
      Returns:
      +
      the given byte array as a CpcSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static CpcSketch heapify(org.apache.datasketches.memory.Memory mem, + long seed)
      +
      Return the given Memory as a CpcSketch on the Java heap.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      seed - the seed used to create the original sketch from which the Memory was derived.
      +
      Returns:
      +
      the given Memory as a CpcSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static CpcSketch heapify(byte[] byteArray, + long seed)
      +
      Return the given byte array as a CpcSketch on the Java heap.
      +
      +
      Parameters:
      +
      byteArray - the given byte array
      +
      seed - the seed used to create the original sketch from which the byte array was derived.
      +
      Returns:
      +
      the given byte array as a CpcSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Return true if this sketch is empty
      +
      +
      Returns:
      +
      true if this sketch is empty
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public final void reset()
      +
      Resets this sketch to empty but retains the original LgK and Seed.
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Return this sketch as a compressed byte array.
      +
      +
      Returns:
      +
      this sketch as a compressed byte array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long datum)
      +
      Present the given long as a potential unique item.
      +
      +
      Parameters:
      +
      datum - The given long datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double datum)
      +
      Present the given double (or float) datum as a potential unique item. + The double will be converted to a long using Double.doubleToLongBits(datum), + which normalizes all NaN values to a single NaN representation. + Plus and minus zero will be normalized to plus zero. + The special floating-point values NaN and +/- Infinity are treated as distinct.
      +
      +
      Parameters:
      +
      datum - The given double datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String datum)
      +
      Present the given String as a potential unique item. + The string is converted to a byte array using UTF8 encoding. + If the string is null or empty no update attempt is made and the method returns. + +

      Note: About 2X faster performance can be obtained by first converting the String to a + char[] and updating the sketch with that. This bypasses the complexity of the Java UTF_8 + encoding. This, of course, will not produce the same internal hash values as updating directly + with a String. So be consistent! Unioning two sketches, one fed with strings and the other + fed with char[] will be meaningless. +

      +
      +
      Parameters:
      +
      datum - The given String.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(byte[] data)
      +
      Present the given byte array as a potential unique item. + If the byte array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given byte array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ByteBuffer data)
      +
      Present the given ByteBuffer as a potential unique item + If the ByteBuffer is null or empty no update attempt is made and the method returns
      +
      +
      Parameters:
      +
      data - The given ByteBuffer
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(char[] data)
      +
      Present the given char array as a potential unique item. + If the char array is null or empty no update attempt is made and the method returns. + +

      Note: this will not produce the same output hash values as the update(String) + method but will be a little faster as it avoids the complexity of the UTF8 encoding.

      +
      +
      Parameters:
      +
      data - The given char array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(int[] data)
      +
      Present the given integer array as a potential unique item. + If the integer array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given int array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long[] data)
      +
      Present the given long array as a potential unique item. + If the long array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given long array.
      +
      +
      +
    • +
    • +
      +

      validate

      +
      public boolean validate()
      +
      Convience function that this Sketch is valid. This is a troubleshooting tool + for sketches that have been heapified from serialized images. + +

      If you are starting with a serialized image as a byte array, first heapify + the byte array to a sketch, which performs a number of checks. Then use this + function as one additional check on the sketch.

      +
      +
      Returns:
      +
      true if this sketch is validated.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Return a human-readable string summary of this sketch
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean detail)
      +
      Return a human-readable string summary of this sketch
      +
      +
      Parameters:
      +
      detail - include data detail
      +
      Returns:
      +
      a human-readable string summary of this sketch
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr, + boolean detail)
      +
      Returns a human readable string of the preamble of a byte array image of a CpcSketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      detail - if true, a dump of the compressed window and surprising value streams will be + included.
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a CpcSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem, + boolean detail)
      +
      Returns a human readable string of the preamble of a Memory image of a CpcSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      detail - if true, a dump of the compressed window and surprising value streams will be + included.
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a CpcSketch.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/CpcUnion.html b/docs/621/merge/org/apache/datasketches/cpc/CpcUnion.html new file mode 100644 index 000000000..f0c226a87 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/CpcUnion.html @@ -0,0 +1,261 @@ + + + + +CpcUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CpcUnion

+
+
java.lang.Object +
org.apache.datasketches.cpc.CpcUnion
+
+
+
+
public class CpcUnion +extends Object
+
The union (merge) operation for the CPC sketches.
+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Construct this unioning object with the default LgK and the default update seed.
    +
    +
    CpcUnion(int lgK)
    +
    +
    Construct this unioning object with LgK and the default update seed.
    +
    +
    CpcUnion(int lgK, + long seed)
    +
    +
    Construct this unioning object with LgK and a given seed.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static Family
    + +
    +
    Return the DataSketches identifier for this CPC family of sketches.
    +
    +
    int
    + +
    +
    Returns the current value of Log_base2 of K.
    +
    + + +
    +
    Returns the result of union operations as a CPC sketch.
    +
    +
    void
    +
    update(CpcSketch sketch)
    +
    +
    Update this union with a CpcSketch.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CpcUnion

      +
      public CpcUnion()
      +
      Construct this unioning object with the default LgK and the default update seed.
      +
      +
    • +
    • +
      +

      CpcUnion

      +
      public CpcUnion(int lgK)
      +
      Construct this unioning object with LgK and the default update seed.
      +
      +
      Parameters:
      +
      lgK - The given log2 of K.
      +
      +
      +
    • +
    • +
      +

      CpcUnion

      +
      public CpcUnion(int lgK, + long seed)
      +
      Construct this unioning object with LgK and a given seed.
      +
      +
      Parameters:
      +
      lgK - The given log2 of K.
      +
      seed - The given seed.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public void update(CpcSketch sketch)
      +
      Update this union with a CpcSketch.
      +
      +
      Parameters:
      +
      sketch - the given CpcSketch.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public CpcSketch getResult()
      +
      Returns the result of union operations as a CPC sketch.
      +
      +
      Returns:
      +
      the result of union operations as a CPC sketch.
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Returns the current value of Log_base2 of K. Note that due to merging with source sketches that + may have a lower value of LgK, this value can be less than what the union object was configured + with.
      +
      +
      Returns:
      +
      the current value of Log_base2 of K.
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public static Family getFamily()
      +
      Return the DataSketches identifier for this CPC family of sketches.
      +
      +
      Returns:
      +
      the DataSketches identifier for this CPC family of sketches.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/CpcWrapper.html b/docs/621/merge/org/apache/datasketches/cpc/CpcWrapper.html new file mode 100644 index 000000000..933a81d32 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/CpcWrapper.html @@ -0,0 +1,270 @@ + + + + +CpcWrapper (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CpcWrapper

+
+
java.lang.Object +
org.apache.datasketches.cpc.CpcWrapper
+
+
+
+
public final class CpcWrapper +extends Object
+
This provides a read-only view of a serialized image of a CpcSketch, which can be + on-heap or off-heap represented as a Memory object, or on-heap represented as a byte array.
+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    CpcWrapper(byte[] byteArray)
    +
    +
    Construct a read-only view of the given byte array that contains a CpcSketch.
    +
    +
    CpcWrapper(org.apache.datasketches.memory.Memory mem)
    +
    +
    Construct a read-only view of the given Memory that contains a CpcSketch
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double
    + +
    +
    Returns the best estimate of the cardinality of the sketch.
    +
    +
    static Family
    + +
    +
    Return the DataSketches identifier for this CPC family of sketches.
    +
    +
    int
    + +
    +
    Returns the configured Log_base2 of K of this sketch.
    +
    +
    double
    +
    getLowerBound(int kappa)
    +
    +
    Returns the best estimate of the lower bound of the confidence interval given kappa, + the number of standard deviations from the mean.
    +
    +
    double
    +
    getUpperBound(int kappa)
    +
    +
    Returns the best estimate of the upper bound of the confidence interval given kappa, + the number of standard deviations from the mean.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CpcWrapper

      +
      public CpcWrapper(org.apache.datasketches.memory.Memory mem)
      +
      Construct a read-only view of the given Memory that contains a CpcSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      +
      +
    • +
    • +
      +

      CpcWrapper

      +
      public CpcWrapper(byte[] byteArray)
      +
      Construct a read-only view of the given byte array that contains a CpcSketch.
      +
      +
      Parameters:
      +
      byteArray - the given byte array
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      Returns the best estimate of the cardinality of the sketch.
      +
      +
      Returns:
      +
      the best estimate of the cardinality of the sketch.
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public static Family getFamily()
      +
      Return the DataSketches identifier for this CPC family of sketches.
      +
      +
      Returns:
      +
      the DataSketches identifier for this CPC family of sketches.
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Returns the configured Log_base2 of K of this sketch.
      +
      +
      Returns:
      +
      the configured Log_base2 of K of this sketch.
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int kappa)
      +
      Returns the best estimate of the lower bound of the confidence interval given kappa, + the number of standard deviations from the mean.
      +
      +
      Parameters:
      +
      kappa - the given number of standard deviations from the mean: 1, 2 or 3.
      +
      Returns:
      +
      the best estimate of the lower bound of the confidence interval given kappa.
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int kappa)
      +
      Returns the best estimate of the upper bound of the confidence interval given kappa, + the number of standard deviations from the mean.
      +
      +
      Parameters:
      +
      kappa - the given number of standard deviations from the mean: 1, 2 or 3.
      +
      Returns:
      +
      the best estimate of the upper bound of the confidence interval given kappa.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/MergingValidation.html b/docs/621/merge/org/apache/datasketches/cpc/MergingValidation.html new file mode 100644 index 000000000..316438ef9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/MergingValidation.html @@ -0,0 +1,193 @@ + + + + +MergingValidation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MergingValidation

+
+
java.lang.Object +
org.apache.datasketches.cpc.MergingValidation
+
+
+
+
public class MergingValidation +extends Object
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing. To be + accessible for both, this code is part of the main hierarchy. It is not used during normal + production runtime.
+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MergingValidation

      +
      public MergingValidation(int lgMinK, + int lgMaxK, + int lgMulK, + int uPPO, + int incLgK, + PrintStream pS, + PrintWriter pW)
      +
      +
      Parameters:
      +
      lgMinK - lgMinK
      +
      lgMaxK - lgMaxK
      +
      lgMulK - lgMulK
      +
      uPPO - uPPO
      +
      incLgK - incLgK
      +
      pS - pS
      +
      pW - pW
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      public void start()
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/QuickMergingValidation.html b/docs/621/merge/org/apache/datasketches/cpc/QuickMergingValidation.html new file mode 100644 index 000000000..703509705 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/QuickMergingValidation.html @@ -0,0 +1,190 @@ + + + + +QuickMergingValidation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class QuickMergingValidation

+
+
java.lang.Object +
org.apache.datasketches.cpc.QuickMergingValidation
+
+
+
+
public class QuickMergingValidation +extends Object
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing. To be + accessible for both, this code is part of the main hierarchy. It is not used during normal + production runtime. + +

This test of merging is the equal K case and is less exhaustive than TestAlltest + but is more practical for large values of K.

+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      QuickMergingValidation

      +
      public QuickMergingValidation(int lgMinK, + int lgMaxK, + int incLgK, + PrintStream ps, + PrintWriter pw)
      +
      +
      Parameters:
      +
      lgMinK - lgMinK
      +
      lgMaxK - lgMaxK
      +
      incLgK - incLgK
      +
      ps - ps
      +
      pw - pw
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      public void start()
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/StreamingValidation.html b/docs/621/merge/org/apache/datasketches/cpc/StreamingValidation.html new file mode 100644 index 000000000..dbda6e8b2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/StreamingValidation.html @@ -0,0 +1,190 @@ + + + + +StreamingValidation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class StreamingValidation

+
+
java.lang.Object +
org.apache.datasketches.cpc.StreamingValidation
+
+
+
+
public class StreamingValidation +extends Object
+
This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing. To be + accessible for both, this code is part of the main hierarchy. It is not used during normal + production runtime.
+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StreamingValidation

      +
      public StreamingValidation(int lgMinK, + int lgMaxK, + int trials, + int ppoN, + PrintStream pS, + PrintWriter pW)
      +
      +
      Parameters:
      +
      lgMinK - lgMinK
      +
      lgMaxK - lgMaxK
      +
      trials - trials
      +
      ppoN - ppoN
      +
      pS - pS
      +
      pW - pW
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      start

      +
      public void start()
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/TestUtil.html b/docs/621/merge/org/apache/datasketches/cpc/TestUtil.html new file mode 100644 index 000000000..1abf8a049 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/TestUtil.html @@ -0,0 +1,136 @@ + + + + +TestUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TestUtil

+
+
java.lang.Object +
org.apache.datasketches.cpc.TestUtil
+
+
+
+
public class TestUtil +extends Object
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TestUtil

      +
      public TestUtil()
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/CompressionCharacterization.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/CompressionCharacterization.html new file mode 100644 index 000000000..e4d0797e0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/CompressionCharacterization.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.cpc.CompressionCharacterization (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.CompressionCharacterization

+
+No usage of org.apache.datasketches.cpc.CompressionCharacterization
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcSketch.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcSketch.html new file mode 100644 index 000000000..708d45513 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcSketch.html @@ -0,0 +1,124 @@ + + + + +Uses of Class org.apache.datasketches.cpc.CpcSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.CpcSketch

+
+
Packages that use CpcSketch
+
+
Package
+
Description
+ +
+
Compressed Probabilistic Counting sketch family
+
+
+
+
    +
  • +
    +

    Uses of CpcSketch in org.apache.datasketches.cpc

    +
    Methods in org.apache.datasketches.cpc that return CpcSketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    CpcUnion.getResult()
    +
    +
    Returns the result of union operations as a CPC sketch.
    +
    +
    static CpcSketch
    +
    CpcSketch.heapify(byte[] byteArray)
    +
    +
    Return the given byte array as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
    +
    +
    static CpcSketch
    +
    CpcSketch.heapify(byte[] byteArray, + long seed)
    +
    +
    Return the given byte array as a CpcSketch on the Java heap.
    +
    +
    static CpcSketch
    +
    CpcSketch.heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Return the given Memory as a CpcSketch on the Java heap using the DEFAULT_UPDATE_SEED.
    +
    +
    static CpcSketch
    +
    CpcSketch.heapify(org.apache.datasketches.memory.Memory mem, + long seed)
    +
    +
    Return the given Memory as a CpcSketch on the Java heap.
    +
    +
    +
    Methods in org.apache.datasketches.cpc with parameters of type CpcSketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    CpcUnion.update(CpcSketch sketch)
    +
    +
    Update this union with a CpcSketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcUnion.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcUnion.html new file mode 100644 index 000000000..2100b54cf --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcUnion.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.cpc.CpcUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.CpcUnion

+
+No usage of org.apache.datasketches.cpc.CpcUnion
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcWrapper.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcWrapper.html new file mode 100644 index 000000000..13c3b6bfa --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/CpcWrapper.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.cpc.CpcWrapper (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.CpcWrapper

+
+No usage of org.apache.datasketches.cpc.CpcWrapper
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/MergingValidation.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/MergingValidation.html new file mode 100644 index 000000000..df6f3aebc --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/MergingValidation.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.cpc.MergingValidation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.MergingValidation

+
+No usage of org.apache.datasketches.cpc.MergingValidation
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/QuickMergingValidation.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/QuickMergingValidation.html new file mode 100644 index 000000000..d78657ee5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/QuickMergingValidation.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.cpc.QuickMergingValidation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.QuickMergingValidation

+
+No usage of org.apache.datasketches.cpc.QuickMergingValidation
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/StreamingValidation.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/StreamingValidation.html new file mode 100644 index 000000000..2bf073fa2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/StreamingValidation.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.cpc.StreamingValidation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.StreamingValidation

+
+No usage of org.apache.datasketches.cpc.StreamingValidation
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/class-use/TestUtil.html b/docs/621/merge/org/apache/datasketches/cpc/class-use/TestUtil.html new file mode 100644 index 000000000..428b9f6ec --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/class-use/TestUtil.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.cpc.TestUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.cpc.TestUtil

+
+No usage of org.apache.datasketches.cpc.TestUtil
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/package-summary.html b/docs/621/merge/org/apache/datasketches/cpc/package-summary.html new file mode 100644 index 000000000..0b1f14fb3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/package-summary.html @@ -0,0 +1,140 @@ + + + + +org.apache.datasketches.cpc (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.cpc

+
+
+
package org.apache.datasketches.cpc
+
+
Compressed Probabilistic Counting sketch family
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
    +
    + +
    +
    This is a unique-counting sketch that implements the + Compressed Probabilistic Counting (CPC, a.k.a FM85) algorithms developed by Kevin Lang in + his paper + Back to the Future: an Even More Nearly + Optimal Cardinality Estimation Algorithm.
    +
    + +
    +
    The union (merge) operation for the CPC sketches.
    +
    + +
    +
    This provides a read-only view of a serialized image of a CpcSketch, which can be + on-heap or off-heap represented as a Memory object, or on-heap represented as a byte array.
    +
    + +
    +
    This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
    +
    + +
    +
    This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
    +
    + +
    +
    This code is used both by unit tests, for short running tests, + and by the characterization repository for longer running, more exhaustive testing.
    +
    + +
     
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/package-tree.html b/docs/621/merge/org/apache/datasketches/cpc/package-tree.html new file mode 100644 index 000000000..6d5368d1c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/package-tree.html @@ -0,0 +1,83 @@ + + + + +org.apache.datasketches.cpc Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.cpc

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/cpc/package-use.html b/docs/621/merge/org/apache/datasketches/cpc/package-use.html new file mode 100644 index 000000000..d6a72d5e7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/cpc/package-use.html @@ -0,0 +1,92 @@ + + + + +Uses of Package org.apache.datasketches.cpc (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.cpc

+
+
Packages that use org.apache.datasketches.cpc
+
+
Package
+
Description
+ +
+
Compressed Probabilistic Counting sketch family
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/FdtSketch.html b/docs/621/merge/org/apache/datasketches/fdt/FdtSketch.html new file mode 100644 index 000000000..42cf0f55a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/FdtSketch.html @@ -0,0 +1,540 @@ + + + + +FdtSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FdtSketch

+
+ +
+
+
public final class FdtSketch +extends ArrayOfStringsSketch
+
A Frequent Distinct Tuples sketch. + +

Suppose our data is a stream of pairs {IP address, User ID} and we want to identify the + IP addresses that have the most distinct User IDs. Or conversely, we would like to identify + the User IDs that have the most distinct IP addresses. This is a common challenge in the + analysis of big data and the FDT sketch helps solve this problem using probabilistic techniques. + +

More generally, given a multiset of tuples with dimensions {d1,d2, d3, ..., dN}, + and a primary subset of dimensions M < N, our task is to identify the combinations of + M subset dimensions that have the most frequent number of distinct combinations of + the N-M non-primary dimensions. + +

Please refer to the web page + + https://datasketches.apache.org/docs/Frequency/FrequentDistinctTuplesSketch.html for a more + complete discussion about this sketch.

+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FdtSketch

      +
      public FdtSketch(int lgK)
      +
      Create new instance of Frequent Distinct Tuples sketch with the given + Log-base2 of required nominal entries.
      +
      +
      Parameters:
      +
      lgK - Log-base2 of required nominal entries.
      +
      +
      +
    • +
    • +
      +

      FdtSketch

      +
      public FdtSketch(double threshold, + double rse)
      +
      Create a new instance of Frequent Distinct Tuples sketch with a size determined by the given + threshold and rse.
      +
      +
      Parameters:
      +
      threshold - : the fraction, between zero and 1.0, of the total distinct stream length + that defines a "Frequent" (or heavy) item.
      +
      rse - the maximum Relative Standard Error for the estimate of the distinct population of a + reported tuple (selected with a primary key) at the threshold.
      +
      +
      +
    • +
    • +
      +

      FdtSketch

      +
      public FdtSketch(FdtSketch sketch)
      +
      Copy Constructor
      +
      +
      Parameters:
      +
      sketch - the sketch to copy
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      copy

      +
      public FdtSketch copy()
      +
      +
      Overrides:
      +
      copy in class ArrayOfStringsSketch
      +
      Returns:
      +
      a deep copy of this sketch
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String[] tuple)
      +
      Update the sketch with the given string array tuple.
      +
      +
      Parameters:
      +
      tuple - the given string array tuple.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public List<Group> getResult(int[] priKeyIndices, + int limit, + int numStdDev, + char sep)
      +
      Returns an ordered List of Groups of the most frequent distinct population of subset tuples + represented by the count of entries of each group.
      +
      +
      Parameters:
      +
      priKeyIndices - these indices define the dimensions used for the Primary Keys.
      +
      limit - the maximum number of groups to return. If this value is ≤ 0, all + groups will be returned.
      +
      numStdDev - the number of standard deviations for the upper and lower error bounds, + this value is an integer and must be one of 1, 2, or 3. + See Number of Standard Deviations
      +
      sep - the separator character
      +
      Returns:
      +
      an ordered List of Groups of the most frequent distinct population of subset tuples + represented by the count of entries of each group.
      +
      +
      +
    • +
    • +
      +

      getPostProcessor

      +
      public PostProcessor getPostProcessor()
      +
      Returns the PostProcessor that enables multiple queries against the sketch results. + This assumes the default Group and the default separator character '|'.
      +
      +
      Returns:
      +
      the PostProcessor
      +
      +
      +
    • +
    • +
      +

      getPostProcessor

      +
      public PostProcessor getPostProcessor(Group group, + char sep)
      +
      Returns the PostProcessor that enables multiple queries against the sketch results.
      +
      +
      Parameters:
      +
      group - the Group class to use during post processing.
      +
      sep - the separator character.
      +
      Returns:
      +
      the PostProcessor
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public int getRetainedEntries()
      +
      +
      Specified by:
      +
      getRetainedEntries in class Sketch<S extends Summary>
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public int getCountLessThanThetaLong(long thetaLong)
      +
      Description copied from class: Sketch
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Specified by:
      +
      getCountLessThanThetaLong in class Sketch<S extends Summary>
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      getNominalEntries

      +
      public int getNominalEntries()
      +
      Get configured nominal number of entries
      +
      +
      Returns:
      +
      nominal number of entries
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Get log_base2 of Nominal Entries
      +
      +
      Returns:
      +
      log_base2 of Nominal Entries
      +
      +
      +
    • +
    • +
      +

      getSamplingProbability

      +
      public float getSamplingProbability()
      +
      Get configured sampling probability
      +
      +
      Returns:
      +
      sampling probability
      +
      +
      +
    • +
    • +
      +

      getCurrentCapacity

      +
      public int getCurrentCapacity()
      +
      Get current capacity
      +
      +
      Returns:
      +
      current capacity
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public ResizeFactor getResizeFactor()
      +
      Get configured resize factor
      +
      +
      Returns:
      +
      resize factor
      +
      +
      +
    • +
    • +
      +

      trim

      +
      public void trim()
      +
      Rebuilds reducing the actual number of entries to the nominal number of entries if needed
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch an empty state.
      +
      +
    • +
    • +
      +

      compact

      + +
      Converts the current state of the sketch into a compact sketch
      +
      +
      Specified by:
      +
      compact in class Sketch<S extends Summary>
      +
      Returns:
      +
      compact sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      @Deprecated +public byte[] toByteArray()
      +
      Deprecated. +
      As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.
      +
      +
      This serializes an UpdatableSketch (QuickSelectSketch).
      +
      +
      Specified by:
      +
      toByteArray in class Sketch<S extends Summary>
      +
      Returns:
      +
      serialized representation of an UpdatableSketch (QuickSelectSketch).
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Description copied from class: Sketch
      +
      Returns a SketchIterator
      +
      +
      Specified by:
      +
      iterator in class Sketch<S extends Summary>
      +
      Returns:
      +
      a SketchIterator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/Group.html b/docs/621/merge/org/apache/datasketches/fdt/Group.html new file mode 100644 index 000000000..086dd889a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/Group.html @@ -0,0 +1,362 @@ + + + + +Group (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Group

+
+
java.lang.Object +
org.apache.datasketches.fdt.Group
+
+
+
+
All Implemented Interfaces:
+
Comparable<Group>
+
+
+
public class Group +extends Object +implements Comparable<Group>
+
Defines a Group from a Frequent Distinct Tuple query. This class is called internally during + post processing and is not intended to be called by the user.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Group

      +
      public Group()
      +
      Construct an empty Group
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      init

      +
      public Group init(String priKey, + int count, + double estimate, + double ub, + double lb, + double fraction, + double rse)
      +
      Specifies the parameters to be listed as columns
      +
      +
      Parameters:
      +
      priKey - the primary key of the FDT sketch
      +
      count - the number of retained rows associated with this group
      +
      estimate - the estimate of the original population associated with this group
      +
      ub - the upper bound of the estimate
      +
      lb - the lower bound of the estimate
      +
      fraction - the fraction of all retained rows of the sketch associated with this group
      +
      rse - the estimated Relative Standard Error for this group.
      +
      Returns:
      +
      return this
      +
      +
      +
    • +
    • +
      +

      getPrimaryKey

      +
      public String getPrimaryKey()
      +
      +
      Returns:
      +
      priKey of type T
      +
      +
      +
    • +
    • +
      +

      getCount

      +
      public int getCount()
      +
      +
      Returns:
      +
      the count
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      +
      Returns:
      +
      the estimate
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound()
      +
      +
      Returns:
      +
      the upper bound
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound()
      +
      +
      Returns:
      +
      the lower bound
      +
      +
      +
    • +
    • +
      +

      getFraction

      +
      public double getFraction()
      +
      +
      Returns:
      +
      the fraction for this group
      +
      +
      +
    • +
    • +
      +

      getRse

      +
      public double getRse()
      +
      +
      Returns:
      +
      the RSE
      +
      +
      +
    • +
    • +
      +

      getHeader

      +
      public String getHeader()
      +
      +
      Returns:
      +
      the descriptive header
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      compareTo

      +
      public int compareTo(Group that)
      +
      +
      Specified by:
      +
      compareTo in interface Comparable<Group>
      +
      Parameters:
      +
      that - The Group to compare to
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object that)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/PostProcessor.html b/docs/621/merge/org/apache/datasketches/fdt/PostProcessor.html new file mode 100644 index 000000000..91e50f5fd --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/PostProcessor.html @@ -0,0 +1,216 @@ + + + + +PostProcessor (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PostProcessor

+
+
java.lang.Object +
org.apache.datasketches.fdt.PostProcessor
+
+
+
+
public class PostProcessor +extends Object
+
This processes the contents of a FDT sketch to extract the + primary keys with the most frequent unique combinations of the non-primary dimensions. + The source sketch is not modified.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    PostProcessor(FdtSketch sketch, + Group group, + char sep)
    +
    +
    Construct with a populated FdtSketch
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Returns the number of groups in the final sketch.
    +
    + +
    getGroupList(int[] priKeyIndices, + int numStdDev, + int limit)
    +
    +
    Return the most frequent Groups associated with Primary Keys based on the size of the groups.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PostProcessor

      +
      public PostProcessor(FdtSketch sketch, + Group group, + char sep)
      +
      Construct with a populated FdtSketch
      +
      +
      Parameters:
      +
      sketch - the given sketch to query.
      +
      group - the Group
      +
      sep - the separator character
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getGroupCount

      +
      public int getGroupCount()
      +
      Returns the number of groups in the final sketch.
      +
      +
      Returns:
      +
      the number of groups in the final sketch.
      +
      +
      +
    • +
    • +
      +

      getGroupList

      +
      public List<Group> getGroupList(int[] priKeyIndices, + int numStdDev, + int limit)
      +
      Return the most frequent Groups associated with Primary Keys based on the size of the groups.
      +
      +
      Parameters:
      +
      priKeyIndices - the indices of the primary dimensions
      +
      numStdDev - the number of standard deviations for the error bounds, this value is an + integer and must be one of 1, 2, or 3. + See Number of Standard Deviations
      +
      limit - the maximum number of rows to return. If ≤ 0, all rows will be returned.
      +
      Returns:
      +
      the most frequent Groups associated with Primary Keys based on the size of the groups.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/class-use/FdtSketch.html b/docs/621/merge/org/apache/datasketches/fdt/class-use/FdtSketch.html new file mode 100644 index 000000000..2e512643f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/class-use/FdtSketch.html @@ -0,0 +1,107 @@ + + + + +Uses of Class org.apache.datasketches.fdt.FdtSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.fdt.FdtSketch

+
+
Packages that use FdtSketch
+
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/class-use/Group.html b/docs/621/merge/org/apache/datasketches/fdt/class-use/Group.html new file mode 100644 index 000000000..74bd2a46a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/class-use/Group.html @@ -0,0 +1,147 @@ + + + + +Uses of Class org.apache.datasketches.fdt.Group (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.fdt.Group

+
+
Packages that use Group
+
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+
+
+
    +
  • +
    +

    Uses of Group in org.apache.datasketches.fdt

    +
    Methods in org.apache.datasketches.fdt that return Group
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    Group.init(String priKey, + int count, + double estimate, + double ub, + double lb, + double fraction, + double rse)
    +
    +
    Specifies the parameters to be listed as columns
    +
    +
    +
    Methods in org.apache.datasketches.fdt that return types with arguments of type Group
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    PostProcessor.getGroupList(int[] priKeyIndices, + int numStdDev, + int limit)
    +
    +
    Return the most frequent Groups associated with Primary Keys based on the size of the groups.
    +
    + +
    FdtSketch.getResult(int[] priKeyIndices, + int limit, + int numStdDev, + char sep)
    +
    +
    Returns an ordered List of Groups of the most frequent distinct population of subset tuples + represented by the count of entries of each group.
    +
    +
    +
    Methods in org.apache.datasketches.fdt with parameters of type Group
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    +
    Group.compareTo(Group that)
    +
     
    + +
    FdtSketch.getPostProcessor(Group group, + char sep)
    +
    +
    Returns the PostProcessor that enables multiple queries against the sketch results.
    +
    +
    +
    Constructors in org.apache.datasketches.fdt with parameters of type Group
    +
    +
    Modifier
    +
    Constructor
    +
    Description
    +
     
    +
    PostProcessor(FdtSketch sketch, + Group group, + char sep)
    +
    +
    Construct with a populated FdtSketch
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/class-use/PostProcessor.html b/docs/621/merge/org/apache/datasketches/fdt/class-use/PostProcessor.html new file mode 100644 index 000000000..7ec1dcb8f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/class-use/PostProcessor.html @@ -0,0 +1,97 @@ + + + + +Uses of Class org.apache.datasketches.fdt.PostProcessor (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.fdt.PostProcessor

+
+
Packages that use PostProcessor
+
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/package-summary.html b/docs/621/merge/org/apache/datasketches/fdt/package-summary.html new file mode 100644 index 000000000..bd4c67f27 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/package-summary.html @@ -0,0 +1,114 @@ + + + + +org.apache.datasketches.fdt (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.fdt

+
+
+
package org.apache.datasketches.fdt
+
+
Frequent Distinct Tuples Sketch
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    A Frequent Distinct Tuples sketch.
    +
    + +
    +
    Defines a Group from a Frequent Distinct Tuple query.
    +
    + +
    +
    This processes the contents of a FDT sketch to extract the + primary keys with the most frequent unique combinations of the non-primary dimensions.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/package-tree.html b/docs/621/merge/org/apache/datasketches/fdt/package-tree.html new file mode 100644 index 000000000..e60c45bc9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/package-tree.html @@ -0,0 +1,90 @@ + + + + +org.apache.datasketches.fdt Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.fdt

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/fdt/package-use.html b/docs/621/merge/org/apache/datasketches/fdt/package-use.html new file mode 100644 index 000000000..3476240c9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/fdt/package-use.html @@ -0,0 +1,97 @@ + + + + +Uses of Package org.apache.datasketches.fdt (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.fdt

+
+
Packages that use org.apache.datasketches.fdt
+
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilter.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilter.html new file mode 100644 index 000000000..9974c3d17 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilter.html @@ -0,0 +1,1081 @@ + + + + +BloomFilter (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BloomFilter

+
+
java.lang.Object +
org.apache.datasketches.filters.bloomfilter.BloomFilter
+
+
+
+
public final class BloomFilter +extends Object
+
A Bloom filter is a data structure that can be used for probabilistic + set membership. + +

When querying a Bloom filter, there are no false positives. Specifically: + When querying an item that has already been inserted to the filter, the filter will + always indicate that the item is present. There is a chance of false positives, where + querying an item that has never been presented to the filter will indicate that the + item has already been seen. Consequently, any query should be interpreted as + "might have seen."

+ +

A standard Bloom filter is unlike typical sketches in that it is not sub-linear + in size and does not resize itself. A Bloom filter will work up to a target number of + distinct items, beyond which it will saturate and the false positive rate will start to + increase. The size of a Bloom filter will be linear in the expected number of + distinct items.

+ +

See the BloomFilterBuilder class for methods to create a filter, especially + one sized correctly for a target number of distinct elements and a target + false positive probability.

+ +

This implementation uses xxHash64 and follows the approach in Kirsch and Mitzenmacher, + "Less Hashing, Same Performance: Building a Better Bloom Filter," Wiley Interscience, 2008, pp. 187-218.

+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final long
    + +
    +
    The maximum size of a bloom filter in bits.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    + +
    +
    Returns the number of bits in the BloomFilter that are set to 1.
    +
    +
    long
    + +
    +
    Returns the total number of bits in the BloomFilter.
    +
    +
    double
    + +
    +
    Returns the percentage of all bits in the BloomFilter set to 1.
    +
    +
    short
    + +
    +
    Returns the configured number of hash functions for this BloomFilter
    +
    +
    long
    + +
    +
    Returns the hash seed for this BloomFilter.
    +
    +
    static long
    +
    getSerializedSize(long numBits)
    +
    +
    Returns the serialized length of a non-empty BloomFilter of the given size, in bytes
    +
    +
    long
    + +
    +
    Returns the length of this BloomFilter when serialized, in bytes
    +
    +
    boolean
    + +
    +
    Returns whether the filter has a backing Memory object
    +
    + +
    heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Reads a serialized image of a BloomFilter from the provided Memory
    +
    +
    void
    + +
    +
    Intersects two BloomFilters by applying a logical AND.
    +
    +
    void
    + +
    +
    Inverts all the bits of the BloomFilter.
    +
    +
    boolean
    + +
    +
    Helps identify if two BloomFilters may be unioned or intersected.
    +
    +
    boolean
    + +
    +
    Returns whether the filter is a direct (off-heap) or on-heap object.
    +
    +
    boolean
    + +
    +
    Checks if the BloomFilter has processed any items
    +
    +
    boolean
    + +
    +
    Returns whether the filter is in read-only mode.
    +
    +
    boolean
    +
    query(byte[] data)
    +
    +
    Queries the filter with the provided byte[] and returns whether the + array might have been seen previously.
    +
    +
    boolean
    +
    query(char[] data)
    +
    +
    Queries the filter with the provided char[] and returns whether the + array might have been seen previously.
    +
    +
    boolean
    +
    query(double item)
    +
    +
    Queries the filter with the provided double and returns whether the + value might have been seen previously.
    +
    +
    boolean
    +
    query(int[] data)
    +
    +
    Queries the filter with the provided int[] and returns whether the + array might have been seen previously.
    +
    +
    boolean
    +
    query(long item)
    +
    +
    Queries the filter with the provided long and returns whether the + value might have been seen previously.
    +
    +
    boolean
    +
    query(long[] data)
    +
    +
    Queries the filter with the provided long[] and returns whether the + array might have been seen previously.
    +
    +
    boolean
    +
    query(short[] data)
    +
    +
    Queries the filter with the provided short[] and returns whether the + array might have been seen previously.
    +
    +
    boolean
    +
    query(String item)
    +
    +
    Queries the filter with the provided double and returns whether the + value might have been seen previously.
    +
    +
    boolean
    +
    query(org.apache.datasketches.memory.Memory mem)
    +
    +
    Queries the filter with the provided Memory and returns whether the + data might have been seen previously.
    +
    +
    boolean
    +
    queryAndUpdate(byte[] data)
    +
    +
    Updates the filter with the provided byte[] and + returns the result from quering that array prior to the update.
    +
    +
    boolean
    +
    queryAndUpdate(char[] data)
    +
    +
    Updates the filter with the provided char[] and + returns the result from quering that array prior to the update.
    +
    +
    boolean
    +
    queryAndUpdate(double item)
    +
    +
    Updates the filter with the provided double and + returns the result from quering that value prior to the update.
    +
    +
    boolean
    +
    queryAndUpdate(int[] data)
    +
    +
    Updates the filter with the provided int[] and + returns the result from quering that array prior to the update.
    +
    +
    boolean
    +
    queryAndUpdate(long item)
    +
    +
    Updates the filter with the provided long and + returns the result from quering that value prior to the update.
    +
    +
    boolean
    +
    queryAndUpdate(long[] data)
    +
    +
    Updates the filter with the provided long[] and + returns the result from quering that array prior to the update.
    +
    +
    boolean
    +
    queryAndUpdate(short[] data)
    +
    +
    Updates the filter with the provided short[] and + returns the result from quering that array prior to the update.
    +
    +
    boolean
    + +
    +
    Updates the filter with the provided String and + returns the result from quering that value prior to the update.
    +
    +
    boolean
    +
    queryAndUpdate(org.apache.datasketches.memory.Memory mem)
    +
    +
    Updates the filter with the provided Memory and + returns the result from quering that Memory prior to the update.
    +
    +
    void
    + +
    +
    Resets the BloomFilter to an empty state
    +
    +
    byte[]
    + +
    +
    Serializes the current BloomFilter to an array of bytes.
    +
    +
    long[]
    + +
    +
    Serializes the current BloomFilter to an array of longs.
    +
    + + +
     
    +
    void
    + +
    +
    Unions two BloomFilters by applying a logical OR.
    +
    +
    void
    +
    update(byte[] data)
    +
    +
    Updates the filter with the provided byte[].
    +
    +
    void
    +
    update(char[] data)
    +
    +
    Updates the filter with the provided char[].
    +
    +
    void
    +
    update(double item)
    +
    +
    Updates the filter with the provided double value.
    +
    +
    void
    +
    update(int[] data)
    +
    +
    Updates the filter with the provided int[].
    +
    +
    void
    +
    update(long item)
    +
    +
    Updates the filter with the provided long value.
    +
    +
    void
    +
    update(long[] data)
    +
    +
    Updates the filter with the provided long[].
    +
    +
    void
    +
    update(short[] data)
    +
    +
    Updates the filter with the provided short[].
    +
    +
    void
    +
    update(String item)
    +
    +
    Updates the filter with the provided String.
    +
    +
    void
    +
    update(org.apache.datasketches.memory.Memory mem)
    +
    +
    Updates the filter with the data in the provided Memory.
    +
    + +
    wrap(org.apache.datasketches.memory.Memory mem)
    +
    +
    Wraps the given Memory into this filter class.
    +
    + +
    writableWrap(org.apache.datasketches.memory.WritableMemory wmem)
    +
    +
    Wraps the given WritableMemory into this filter class.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MAX_SIZE_BITS

      +
      public static final long MAX_SIZE_BITS
      +
      The maximum size of a bloom filter in bits.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static BloomFilter heapify(org.apache.datasketches.memory.Memory mem)
      +
      Reads a serialized image of a BloomFilter from the provided Memory
      +
      +
      Parameters:
      +
      mem - Memory containing a previously serialized BloomFilter
      +
      Returns:
      +
      a BloomFilter object
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static BloomFilter wrap(org.apache.datasketches.memory.Memory mem)
      +
      Wraps the given Memory into this filter class. The class itself only contains a few metadata items and holds + a reference to the Memory object, which contains all the data.
      +
      +
      Parameters:
      +
      mem - the given Memory object
      +
      Returns:
      +
      the wrapping BloomFilter class.
      +
      +
      +
    • +
    • +
      +

      writableWrap

      +
      public static BloomFilter writableWrap(org.apache.datasketches.memory.WritableMemory wmem)
      +
      Wraps the given WritableMemory into this filter class. The class itself only contains a few metadata items and holds + a reference to the Memory object, which contains all the data.
      +
      +
      Parameters:
      +
      wmem - the given WritableMemory object
      +
      Returns:
      +
      the wrapping BloomFilter class.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets the BloomFilter to an empty state
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Checks if the BloomFilter has processed any items
      +
      +
      Returns:
      +
      True if the BloomFilter is empty, otherwise False
      +
      +
      +
    • +
    • +
      +

      getBitsUsed

      +
      public long getBitsUsed()
      +
      Returns the number of bits in the BloomFilter that are set to 1.
      +
      +
      Returns:
      +
      The number of bits in use in this filter
      +
      +
      +
    • +
    • +
      +

      getCapacity

      +
      public long getCapacity()
      +
      Returns the total number of bits in the BloomFilter.
      +
      +
      Returns:
      +
      The total size of the BloomFilter
      +
      +
      +
    • +
    • +
      +

      getNumHashes

      +
      public short getNumHashes()
      +
      Returns the configured number of hash functions for this BloomFilter
      +
      +
      Returns:
      +
      The number of hash functions to apply to inputs
      +
      +
      +
    • +
    • +
      +

      getSeed

      +
      public long getSeed()
      +
      Returns the hash seed for this BloomFilter.
      +
      +
      Returns:
      +
      The hash seed for this filter
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      public boolean hasMemory()
      +
      Returns whether the filter has a backing Memory object
      +
      +
      Returns:
      +
      true if backed by Memory, otherwise false
      +
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      public boolean isReadOnly()
      +
      Returns whether the filter is in read-only mode. That is possible + only if there is a backing Memory in read-only mode.
      +
      +
      Returns:
      +
      true if read-only, otherwise false
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      public boolean isDirect()
      +
      Returns whether the filter is a direct (off-heap) or on-heap object. + That is possible only if there is a backing Memory.
      +
      +
      Returns:
      +
      true if using direct memory access, otherwise false
      +
      +
      +
    • +
    • +
      +

      getFillPercentage

      +
      public double getFillPercentage()
      +
      Returns the percentage of all bits in the BloomFilter set to 1.
      +
      +
      Returns:
      +
      the percentage of bits in the filter set to 1
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long item)
      +
      Updates the filter with the provided long value.
      +
      +
      Parameters:
      +
      item - an item with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double item)
      +
      Updates the filter with the provided double value. The value is + canonicalized (NaN and infinities) prior to updating.
      +
      +
      Parameters:
      +
      item - an item with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String item)
      +
      Updates the filter with the provided String. + The string is converted to a byte array using UTF8 encoding. + +

      Note: this will not produce the same output hash values as the update(char[]) + method and will generally be a little slower depending on the complexity of the UTF8 encoding. +

      +
      +
      Parameters:
      +
      item - an item with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(byte[] data)
      +
      Updates the filter with the provided byte[].
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(char[] data)
      +
      Updates the filter with the provided char[].
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(short[] data)
      +
      Updates the filter with the provided short[].
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(int[] data)
      +
      Updates the filter with the provided int[].
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long[] data)
      +
      Updates the filter with the provided long[].
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(org.apache.datasketches.memory.Memory mem)
      +
      Updates the filter with the data in the provided Memory.
      +
      +
      Parameters:
      +
      mem - a Memory object with which to update the filter
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(long item)
      +
      Updates the filter with the provided long and + returns the result from quering that value prior to the update.
      +
      +
      Parameters:
      +
      item - an item with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(double item)
      +
      Updates the filter with the provided double and + returns the result from quering that value prior to the update. + The double is canonicalized (NaN and +/- infinity) in the call.
      +
      +
      Parameters:
      +
      item - an item with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(String item)
      +
      Updates the filter with the provided String and + returns the result from quering that value prior to the update. + The string is converted to a byte array using UTF8 encoding. + +

      Note: this will not produce the same output hash values as the queryAndUpdate(char[]) + method and will generally be a little slower depending on the complexity of the UTF8 encoding. +

      +
      +
      Parameters:
      +
      item - an item with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update, or false if item is null
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(byte[] data)
      +
      Updates the filter with the provided byte[] and + returns the result from quering that array prior to the update.
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update, or false if data is null
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(char[] data)
      +
      Updates the filter with the provided char[] and + returns the result from quering that array prior to the update.
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update, or false if data is null
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(short[] data)
      +
      Updates the filter with the provided short[] and + returns the result from quering that array prior to the update.
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update, or false if data is null
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(int[] data)
      +
      Updates the filter with the provided int[] and + returns the result from quering that array prior to the update.
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update, or false if data is null
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(long[] data)
      +
      Updates the filter with the provided long[] and + returns the result from quering that array prior to the update.
      +
      +
      Parameters:
      +
      data - an array with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update, or false if data is null
      +
      +
      +
    • +
    • +
      +

      queryAndUpdate

      +
      public boolean queryAndUpdate(org.apache.datasketches.memory.Memory mem)
      +
      Updates the filter with the provided Memory and + returns the result from quering that Memory prior to the update.
      +
      +
      Parameters:
      +
      mem - an array with which to update the filter
      +
      Returns:
      +
      The query result prior to applying the update, or false if mem is null
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(long item)
      +
      Queries the filter with the provided long and returns whether the + value might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible.
      +
      +
      Parameters:
      +
      item - an item with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given item
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(double item)
      +
      Queries the filter with the provided double and returns whether the + value might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible. Double values are + canonicalized (NaN and +/- infinity) before querying.
      +
      +
      Parameters:
      +
      item - an item with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given item
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(String item)
      +
      Queries the filter with the provided double and returns whether the + value might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible. + The string is converted to a byte array using UTF8 encoding. + +

      Note: this will not produce the same output hash values as the update(char[]) + method and will generally be a little slower depending on the complexity of the UTF8 encoding. +

      +
      +
      Parameters:
      +
      item - an item with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given item, or false if item is null
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(byte[] data)
      +
      Queries the filter with the provided byte[] and returns whether the + array might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible.
      +
      +
      Parameters:
      +
      data - an array with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given data, or false if data is null
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(char[] data)
      +
      Queries the filter with the provided char[] and returns whether the + array might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible.
      +
      +
      Parameters:
      +
      data - an array with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given data, or false if data is null
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(short[] data)
      +
      Queries the filter with the provided short[] and returns whether the + array might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible.
      +
      +
      Parameters:
      +
      data - an array with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given data, or false if data is null
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(int[] data)
      +
      Queries the filter with the provided int[] and returns whether the + array might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible.
      +
      +
      Parameters:
      +
      data - an array with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given data, or false if data is null
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(long[] data)
      +
      Queries the filter with the provided long[] and returns whether the + array might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible.
      +
      +
      Parameters:
      +
      data - an array with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given data, or false if data is null
      +
      +
      +
    • +
    • +
      +

      query

      +
      public boolean query(org.apache.datasketches.memory.Memory mem)
      +
      Queries the filter with the provided Memory and returns whether the + data might have been seen previously. The filter's expected + False Positive Probability determines the chances of a true result being + a false positive. False negatives are never possible.
      +
      +
      Parameters:
      +
      mem - a Memory array with which to query the filter
      +
      Returns:
      +
      The result of querying the filter with the given Memory, or false if data is null
      +
      +
      +
    • +
    • +
      +

      union

      +
      public void union(BloomFilter other)
      +
      Unions two BloomFilters by applying a logical OR. The result will recognized + any values seen by either filter (as well as false positives).
      +
      +
      Parameters:
      +
      other - A BloomFilter to union with this one
      +
      +
      +
    • +
    • +
      +

      intersect

      +
      public void intersect(BloomFilter other)
      +
      Intersects two BloomFilters by applying a logical AND. The result will recognize + only values seen by both filters (as well as false positives).
      +
      +
      Parameters:
      +
      other - A BloomFilter to union with this one
      +
      +
      +
    • +
    • +
      +

      invert

      +
      public void invert()
      +
      Inverts all the bits of the BloomFilter. Approximately inverts the notion of set-membership.
      +
      +
    • +
    • +
      +

      isCompatible

      +
      public boolean isCompatible(BloomFilter other)
      +
      Helps identify if two BloomFilters may be unioned or intersected.
      +
      +
      Parameters:
      +
      other - A BloomFilter to check for compatibility with this one
      +
      Returns:
      +
      True if the filters are compatible, otherwise false
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      public long getSerializedSizeBytes()
      +
      Returns the length of this BloomFilter when serialized, in bytes
      +
      +
      Returns:
      +
      The length of this BloomFilter when serialized, in bytes
      +
      +
      +
    • +
    • +
      +

      getSerializedSize

      +
      public static long getSerializedSize(long numBits)
      +
      Returns the serialized length of a non-empty BloomFilter of the given size, in bytes
      +
      +
      Parameters:
      +
      numBits - The number of bits of to use for size computation
      +
      Returns:
      +
      The serialized length of a non-empty BloomFilter of the given size, in bytes
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Serializes the current BloomFilter to an array of bytes. + +

      Note: Method throws if the serialized size exceeds Integer.MAX_VALUE.

      +
      +
      Returns:
      +
      A serialized image of the current BloomFilter as byte[]
      +
      +
      +
    • +
    • +
      +

      toLongArray

      +
      public long[] toLongArray()
      +
      Serializes the current BloomFilter to an array of longs. Unlike toByteArray(), + this method can handle any size filter.
      +
      +
      Returns:
      +
      A serialized image of the current BloomFilter as long[]
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilterBuilder.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilterBuilder.html new file mode 100644 index 000000000..5c9063e37 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/BloomFilterBuilder.html @@ -0,0 +1,476 @@ + + + + +BloomFilterBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BloomFilterBuilder

+
+
java.lang.Object +
org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+
+
+
+
public final class BloomFilterBuilder +extends Object
+
This class provides methods to help estimate the correct parameters when + creating a Bloom filter, and methods to create the filter using those values. + +

The underlying math is described in the + + Wikipedia article on Bloom filters.

+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    createByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function.
    +
    + +
    createByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + long seed)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function.
    +
    + +
    createBySize(long numBits, + int numHashes)
    +
    +
    Creates a BloomFilter with given number of bits and number of hash functions, + using a rnadom base seed for the hash function.
    +
    + +
    createBySize(long numBits, + int numHashes, + long seed)
    +
    +
    Creates a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function.
    +
    +
    static long
    + +
    +
    Returns the minimum memory size, in bytes, needed for a serialized BloomFilter with the given number of bits.
    +
    +
    static long
    +
    getSerializedFilterSizeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb)
    +
    +
    Returns the minimum memory size, in bytes, needed for a serialized BloomFilter with an optimal number of bits + and hash functions for the given inputs.
    +
    + +
    initializeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + long seed, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function and writing into the provided WritableMemory.
    +
    + +
    initializeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function and writing into the provided WritableMemory.
    +
    + +
    initializeBySize(long numBits, + int numHashes, + long seed, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Initializes a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function and writing into the provided WritableMemory.
    +
    + +
    initializeBySize(long numBits, + int numHashes, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Initializes a BloomFilter with given number of bits and number of hash functions, + using a random base seed for the hash function and writing into the provided WritableMemory.
    +
    +
    static long
    +
    suggestNumFilterBits(long maxDistinctItems, + double targetFalsePositiveProb)
    +
    +
    Returns the optimal number of bits to use in a Bloom Filter given a target number of distinct + items and a target false positive probability.
    +
    +
    static short
    +
    suggestNumHashes(double targetFalsePositiveProb)
    +
    +
    Returns the optimal number of hash functions to achieve a target false positive probability.
    +
    +
    static short
    +
    suggestNumHashes(long maxDistinctItems, + long numFilterBits)
    +
    +
    Returns the optimal number of hash functions to given target numbers of distinct items + and the BloomFilter size in bits.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BloomFilterBuilder

      +
      public BloomFilterBuilder()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      suggestNumHashes

      +
      public static short suggestNumHashes(long maxDistinctItems, + long numFilterBits)
      +
      Returns the optimal number of hash functions to given target numbers of distinct items + and the BloomFilter size in bits. This function will provide a result even if the input + values exceed the capacity of a single BloomFilter.
      +
      +
      Parameters:
      +
      maxDistinctItems - The maximum expected number of distinct items to add to the filter
      +
      numFilterBits - The intended size of the Bloom Filter in bits
      +
      Returns:
      +
      The suggested number of hash functions to use with the filter
      +
      +
      +
    • +
    • +
      +

      suggestNumHashes

      +
      public static short suggestNumHashes(double targetFalsePositiveProb)
      +
      Returns the optimal number of hash functions to achieve a target false positive probability.
      +
      +
      Parameters:
      +
      targetFalsePositiveProb - A desired false positive probability per item
      +
      Returns:
      +
      The suggested number of hash functions to use with the filter.
      +
      +
      +
    • +
    • +
      +

      suggestNumFilterBits

      +
      public static long suggestNumFilterBits(long maxDistinctItems, + double targetFalsePositiveProb)
      +
      Returns the optimal number of bits to use in a Bloom Filter given a target number of distinct + items and a target false positive probability.
      +
      +
      Parameters:
      +
      maxDistinctItems - The maximum expected number of distinct items to add to the filter
      +
      targetFalsePositiveProb - A desired false positive probability per item
      +
      Returns:
      +
      The suggested number of bits to use with the filter
      +
      +
      +
    • +
    • +
      +

      getSerializedFilterSizeByAccuracy

      +
      public static long getSerializedFilterSizeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb)
      +
      Returns the minimum memory size, in bytes, needed for a serialized BloomFilter with an optimal number of bits + and hash functions for the given inputs. This is also the minimum size of a WritableMemory for + in-place filter initialization.
      +
      +
      Parameters:
      +
      maxDistinctItems - The maximum expected number of distinct items to add to the filter
      +
      targetFalsePositiveProb - A desired false positive probability per item
      +
      Returns:
      +
      The size, in bytes, required to hold the specified BloomFilter when serialized
      +
      +
      +
    • +
    • +
      +

      getSerializedFilterSize

      +
      public static long getSerializedFilterSize(long numBits)
      +
      Returns the minimum memory size, in bytes, needed for a serialized BloomFilter with the given number of bits. + This is also the minimum size of a WritableMemory for in-place filter initialization.
      +
      +
      Parameters:
      +
      numBits - The number of bits in the target BloomFilter's bit array.
      +
      Returns:
      +
      The size, in bytes, required to hold the specified BloomFilter when serialized
      +
      +
      +
    • +
    • +
      +

      createByAccuracy

      +
      public static BloomFilter createByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb)
      +
      Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function.
      +
      +
      Parameters:
      +
      maxDistinctItems - The maximum expected number of distinct items to add to the filter
      +
      targetFalsePositiveProb - A desired false positive probability per item
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    • +
      +

      createByAccuracy

      +
      public static BloomFilter createByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + long seed)
      +
      Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function.
      +
      +
      Parameters:
      +
      maxDistinctItems - The maximum expected number of distinct items to add to the filter
      +
      targetFalsePositiveProb - A desired false positive probability per item
      +
      seed - A base hash seed
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    • +
      +

      createBySize

      +
      public static BloomFilter createBySize(long numBits, + int numHashes)
      +
      Creates a BloomFilter with given number of bits and number of hash functions, + using a rnadom base seed for the hash function.
      +
      +
      Parameters:
      +
      numBits - The size of the BloomFilter, in bits
      +
      numHashes - The number of hash functions to apply to items
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    • +
      +

      createBySize

      +
      public static BloomFilter createBySize(long numBits, + int numHashes, + long seed)
      +
      Creates a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function.
      +
      +
      Parameters:
      +
      numBits - The size of the BloomFilter, in bits
      +
      numHashes - The number of hash functions to apply to items
      +
      seed - A base hash seed
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    • +
      +

      initializeByAccuracy

      +
      public static BloomFilter initializeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function and writing into the provided WritableMemory.
      +
      +
      Parameters:
      +
      maxDistinctItems - The maximum expected number of distinct items to add to the filter
      +
      targetFalsePositiveProb - A desired false positive probability per item
      +
      dstMem - A WritableMemory to hold the initialized filter
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    • +
      +

      initializeByAccuracy

      +
      public static BloomFilter initializeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + long seed, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function and writing into the provided WritableMemory.
      +
      +
      Parameters:
      +
      maxDistinctItems - The maximum expected number of distinct items to add to the filter
      +
      targetFalsePositiveProb - A desired false positive probability per item
      +
      seed - A base hash seed
      +
      dstMem - A WritableMemory to hold the initialized filter
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    • +
      +

      initializeBySize

      +
      public static BloomFilter initializeBySize(long numBits, + int numHashes, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Initializes a BloomFilter with given number of bits and number of hash functions, + using a random base seed for the hash function and writing into the provided WritableMemory.
      +
      +
      Parameters:
      +
      numBits - The size of the BloomFilter, in bits
      +
      numHashes - The number of hash functions to apply to items
      +
      dstMem - A WritableMemory to hold the initialized filter
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    • +
      +

      initializeBySize

      +
      public static BloomFilter initializeBySize(long numBits, + int numHashes, + long seed, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Initializes a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function and writing into the provided WritableMemory.
      +
      +
      Parameters:
      +
      numBits - The size of the BloomFilter, in bits
      +
      numHashes - The number of hash functions to apply to items
      +
      seed - A base hash seed
      +
      dstMem - A WritableMemory to hold the initialized filter
      +
      Returns:
      +
      A new BloomFilter configured for the given input parameters
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/DirectBitArrayR.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/DirectBitArrayR.html new file mode 100644 index 000000000..e1233eb86 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/DirectBitArrayR.html @@ -0,0 +1,168 @@ + + + + +DirectBitArrayR (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DirectBitArrayR

+
+
java.lang.Object +
org.apache.datasketches.filters.bloomfilter.DirectBitArrayR
+
+
+
+
public class DirectBitArrayR +extends Object
+
This class can maintain the BitArray object off-heap.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      hasMemory

      +
      public boolean hasMemory()
      +
      +
    • +
    • +
      +

      isDirect

      +
      public boolean isDirect()
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      public boolean isReadOnly()
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilter.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilter.html new file mode 100644 index 000000000..35425b2a8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilter.html @@ -0,0 +1,186 @@ + + + + +Uses of Class org.apache.datasketches.filters.bloomfilter.BloomFilter (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.filters.bloomfilter.BloomFilter

+
+
Packages that use BloomFilter
+
+
Package
+
Description
+ +
+
BloomFilter package
+
+
+
+
    +
  • +
    +

    Uses of BloomFilter in org.apache.datasketches.filters.bloomfilter

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    BloomFilterBuilder.createByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function.
    +
    + +
    BloomFilterBuilder.createByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + long seed)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function.
    +
    + +
    BloomFilterBuilder.createBySize(long numBits, + int numHashes)
    +
    +
    Creates a BloomFilter with given number of bits and number of hash functions, + using a rnadom base seed for the hash function.
    +
    + +
    BloomFilterBuilder.createBySize(long numBits, + int numHashes, + long seed)
    +
    +
    Creates a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function.
    +
    + +
    BloomFilter.heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Reads a serialized image of a BloomFilter from the provided Memory
    +
    + +
    BloomFilterBuilder.initializeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + long seed, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using the provided base seed for the hash function and writing into the provided WritableMemory.
    +
    + +
    BloomFilterBuilder.initializeByAccuracy(long maxDistinctItems, + double targetFalsePositiveProb, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Creates a new BloomFilter with an optimal number of bits and hash functions for the given inputs, + using a random base seed for the hash function and writing into the provided WritableMemory.
    +
    + +
    BloomFilterBuilder.initializeBySize(long numBits, + int numHashes, + long seed, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Initializes a BloomFilter with given number of bits and number of hash functions, + using the provided base seed for the hash function and writing into the provided WritableMemory.
    +
    + +
    BloomFilterBuilder.initializeBySize(long numBits, + int numHashes, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Initializes a BloomFilter with given number of bits and number of hash functions, + using a random base seed for the hash function and writing into the provided WritableMemory.
    +
    + +
    BloomFilter.wrap(org.apache.datasketches.memory.Memory mem)
    +
    +
    Wraps the given Memory into this filter class.
    +
    + +
    BloomFilter.writableWrap(org.apache.datasketches.memory.WritableMemory wmem)
    +
    +
    Wraps the given WritableMemory into this filter class.
    +
    +
    +
    Methods in org.apache.datasketches.filters.bloomfilter with parameters of type BloomFilter
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    BloomFilter.intersect(BloomFilter other)
    +
    +
    Intersects two BloomFilters by applying a logical AND.
    +
    +
    boolean
    +
    BloomFilter.isCompatible(BloomFilter other)
    +
    +
    Helps identify if two BloomFilters may be unioned or intersected.
    +
    +
    void
    +
    BloomFilter.union(BloomFilter other)
    +
    +
    Unions two BloomFilters by applying a logical OR.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilterBuilder.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilterBuilder.html new file mode 100644 index 000000000..b8e0671e5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/BloomFilterBuilder.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder

+
+No usage of org.apache.datasketches.filters.bloomfilter.BloomFilterBuilder
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/DirectBitArrayR.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/DirectBitArrayR.html new file mode 100644 index 000000000..e3f633c61 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/class-use/DirectBitArrayR.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.filters.bloomfilter.DirectBitArrayR (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.filters.bloomfilter.DirectBitArrayR

+
+No usage of org.apache.datasketches.filters.bloomfilter.DirectBitArrayR
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-summary.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-summary.html new file mode 100644 index 000000000..d8701de36 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-summary.html @@ -0,0 +1,116 @@ + + + + +org.apache.datasketches.filters.bloomfilter (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.filters.bloomfilter

+
+
+
package org.apache.datasketches.filters.bloomfilter
+
+
BloomFilter package
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    A Bloom filter is a data structure that can be used for probabilistic + set membership.
    +
    + +
    +
    This class provides methods to help estimate the correct parameters when + creating a Bloom filter, and methods to create the filter using those values.
    +
    + +
    +
    This class can maintain the BitArray object off-heap.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-tree.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-tree.html new file mode 100644 index 000000000..5124a6357 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-tree.html @@ -0,0 +1,78 @@ + + + + +org.apache.datasketches.filters.bloomfilter Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.filters.bloomfilter

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-use.html b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-use.html new file mode 100644 index 000000000..99ea18b29 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/bloomfilter/package-use.html @@ -0,0 +1,89 @@ + + + + +Uses of Package org.apache.datasketches.filters.bloomfilter (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.filters.bloomfilter

+
+ +
+
Package
+
Description
+ +
+
BloomFilter package
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/package-summary.html b/docs/621/merge/org/apache/datasketches/filters/package-summary.html new file mode 100644 index 000000000..8eeb98465 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/package-summary.html @@ -0,0 +1,100 @@ + + + + +org.apache.datasketches.filters (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.filters

+
+
+
package org.apache.datasketches.filters
+
+
The filters package contains data structures used to determine + approximate set-membership. Classes in this package may not follow + the standard sub-linear properties of other offerings in this + library, but they fit with the spirit of DataSketches by providing + fast and approximate answers to complex problems.
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/package-tree.html b/docs/621/merge/org/apache/datasketches/filters/package-tree.html new file mode 100644 index 000000000..295dca735 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/package-tree.html @@ -0,0 +1,66 @@ + + + + +org.apache.datasketches.filters Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.filters

+Package Hierarchies: + +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/filters/package-use.html b/docs/621/merge/org/apache/datasketches/filters/package-use.html new file mode 100644 index 000000000..c54489524 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/filters/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package org.apache.datasketches.filters (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.filters

+
+No usage of org.apache.datasketches.filters
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/ErrorType.html b/docs/621/merge/org/apache/datasketches/frequencies/ErrorType.html new file mode 100644 index 000000000..f967edad8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/ErrorType.html @@ -0,0 +1,239 @@ + + + + +ErrorType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class ErrorType

+
+
java.lang.Object +
java.lang.Enum<ErrorType> +
org.apache.datasketches.frequencies.ErrorType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<ErrorType>, Constable
+
+
+
public enum ErrorType +extends Enum<ErrorType>
+
Specifies one of two types of error regions of the statistical classification Confusion Matrix + that can be excluded from a returned sample of Frequent Items.
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    No Type II error samples will be excluded from the sample set, + which means all Truly Positive samples will be included in the sample set.
    +
    + +
    +
    No Type I error samples will be included in the sample set, + which means all Truly Negative samples will be excluded from the sample set.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static ErrorType
    + +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static ErrorType[]
    + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Enum

    +compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      NO_FALSE_POSITIVES

      +
      public static final ErrorType NO_FALSE_POSITIVES
      +
      No Type I error samples will be included in the sample set, + which means all Truly Negative samples will be excluded from the sample set. + However, there may be Type II error samples (False Negatives) + that should have been included that were not. + This is a subset of the NO_FALSE_NEGATIVES ErrorType.
      +
      +
    • +
    • +
      +

      NO_FALSE_NEGATIVES

      +
      public static final ErrorType NO_FALSE_NEGATIVES
      +
      No Type II error samples will be excluded from the sample set, + which means all Truly Positive samples will be included in the sample set. + However, there may be Type I error samples (False Positives) + that were included that should not have been.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static ErrorType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static ErrorType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.Row.html b/docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.Row.html new file mode 100644 index 000000000..b83b465e9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.Row.html @@ -0,0 +1,287 @@ + + + + +ItemsSketch.Row (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ItemsSketch.Row<T>

+
+
java.lang.Object +
org.apache.datasketches.frequencies.ItemsSketch.Row<T>
+
+
+
+
Type Parameters:
+
T - type of item
+
+
+
All Implemented Interfaces:
+
Comparable<ItemsSketch.Row<T>>
+
+
+
Enclosing class:
+
ItemsSketch<T>
+
+
+
public static class ItemsSketch.Row<T> +extends Object +implements Comparable<ItemsSketch.Row<T>>
+
Row class that defines the return values from a getFrequentItems query.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    This compareTo is strictly limited to the Row.getEstimate() value and does not imply any + ordering whatsoever to the other elements of the row: item and upper and lower bounds.
    +
    +
    boolean
    + +
    +
    This equals is computed only from the Row.getEstimate() value and does not imply equality + of the other items within the row: item and upper and lower bounds.
    +
    +
    long
    + +
     
    + + +
     
    +
    long
    + +
     
    +
    static String
    + +
     
    +
    long
    + +
     
    +
    int
    + +
    +
    This hashCode is computed only from the Row.getEstimate() value.
    +
    + + +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getItem

      +
      public T getItem()
      +
      +
      Returns:
      +
      item of type T
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public long getEstimate()
      +
      +
      Returns:
      +
      the estimate
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public long getUpperBound()
      +
      +
      Returns:
      +
      the upper bound
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public long getLowerBound()
      +
      +
      Returns:
      +
      return the lower bound
      +
      +
      +
    • +
    • +
      +

      getRowHeader

      +
      public static String getRowHeader()
      +
      +
      Returns:
      +
      the descriptive row header
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      compareTo

      +
      public int compareTo(ItemsSketch.Row<T> that)
      +
      This compareTo is strictly limited to the Row.getEstimate() value and does not imply any + ordering whatsoever to the other elements of the row: item and upper and lower bounds. + Defined this way, this compareTo will be consistent with hashCode() and equals(Object).
      +
      +
      Specified by:
      +
      compareTo in interface Comparable<T>
      +
      Parameters:
      +
      that - the other row to compare to.
      +
      Returns:
      +
      a negative integer, zero, or a positive integer as this.getEstimate() is less than, + equal to, or greater than that.getEstimate().
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      This hashCode is computed only from the Row.getEstimate() value. + Defined this way, this hashCode will be consistent with equals(Object):
      + If (x.equals(y)) implies: x.hashCode() == y.hashCode().
      + If (!x.equals(y)) does NOT imply: x.hashCode() != y.hashCode().
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      Returns:
      +
      the hashCode computed from getEstimate().
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object obj)
      +
      This equals is computed only from the Row.getEstimate() value and does not imply equality + of the other items within the row: item and upper and lower bounds. + Defined this way, this equals will be consistent with compareTo(Row).
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      obj - the other row to determine equality with.
      +
      Returns:
      +
      true if this.getEstimate() equals ((Row<T>)obj).getEstimate().
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.html b/docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.html new file mode 100644 index 000000000..757b11756 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/ItemsSketch.html @@ -0,0 +1,697 @@ + + + + +ItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ItemsSketch<T>

+
+
java.lang.Object +
org.apache.datasketches.frequencies.ItemsSketch<T>
+
+
+
+
Type Parameters:
+
T - The type of item to be tracked by this sketch
+
+
+
public class ItemsSketch<T> +extends Object
+
This sketch is useful for tracking approximate frequencies of items of type <T> + with optional associated counts (<T> item, long count) that are members of a + multiset of such items. The true frequency of an item is defined to be the sum of associated + counts. + +

This implementation provides the following capabilities:

+
    +
  • Estimate the frequency of an item.
  • +
  • Return upper and lower bounds of any item, such that the true frequency is always + between the upper and lower bounds.
  • +
  • Return a global maximum error that holds for all items in the stream.
  • +
  • Return an array of frequent items that qualify either a NO_FALSE_POSITIVES or a + NO_FALSE_NEGATIVES error type.
  • +
  • Merge itself with another sketch object created from this class.
  • +
  • Serialize/Deserialize to/from a byte array.
  • +
+ +

Space Usage

+ +

The sketch is initialized with a maxMapSize that specifies the maximum physical + length of the internal hash map of the form (<T> item, long count). + The maxMapSize must be a power of 2.

+ +

The hash map starts at a very small size (8 entries), and grows as needed up to the + specified maxMapSize.

+ +

Excluding external space required for the item objects, the internal memory space usage of + this sketch is 18 * mapSize bytes (assuming 8 bytes for each Java reference), plus a small + constant number of additional bytes. The internal memory space usage of this sketch will never + exceed 18 * maxMapSize bytes, plus a small constant number of additional bytes.

+ +

Maximum Capacity of the Sketch

+ +

The LOAD_FACTOR for the hash map is internally set at 75%, + which means at any time the map capacity of (item, count) pairs is mapCap = 0.75 * + mapSize. + The maximum capacity of (item, count) pairs of the sketch is maxMapCap = 0.75 * + maxMapSize.

+ +

Updating the sketch with (item, count) pairs

+ +

If the item is found in the hash map, the mapped count field (the "counter") is + incremented by the incoming count, otherwise, a new counter "(item, count) pair" is + created. If the number of tracked counters reaches the maximum capacity of the hash map + the sketch decrements all of the counters (by an approximately computed median), and + removes any non-positive counters.

+ +

Accuracy

+ +

If fewer than 0.75 * maxMapSize different items are inserted into the sketch the + estimated frequencies returned by the sketch will be exact.

+ +

The logic of the frequent items sketch is such that the stored counts and true counts are + never too different. + More specifically, for any item, the sketch can return an estimate of the + true frequency of item, along with upper and lower bounds on the frequency + (that hold deterministically).

+ +

For this implementation and for a specific active item, it is guaranteed that + the true frequency will be between the Upper Bound (UB) and the Lower Bound (LB) computed for + that item. Specifically, (UB- LB) ≤ W * epsilon, where W denotes the + sum of all item counts, and epsilon = 3.5/M, where M is the maxMapSize.

+ +

This is a worst case guarantee that applies to arbitrary inputs.1 + For inputs typically seen in practice (UB-LB) is usually much smaller. +

+ +

Background

+ +

This code implements a variant of what is commonly known as the "Misra-Gries + algorithm". Variants of it were discovered and rediscovered and redesigned several times + over the years:

+
  • "Finding repeated elements", Misra, Gries, 1982
  • +
  • "Frequency estimation of Internet packet streams with limited space" Demaine, + Lopez-Ortiz, Munro, 2002
  • +
  • "A simple algorithm for finding frequent elements in streams and bags" Karp, Shenker, + Papadimitriou, 2003
  • +
  • "Efficient Computation of Frequent and Top-k Elements in Data Streams" Metwally, + Agrawal, Abbadi, 2006
  • +
+ + 1 For speed we do employ some randomization that introduces a small probability that + our proof of the worst-case bound might not apply to a given run. However, we have ensured + that this probability is extremely small. For example, if the stream causes one table purge + (rebuild), our proof of the worst case bound applies with probability at least 1 - 1E-14. + If the stream causes 1E9 purges, our proof applies with probability at least 1 - 1E-5.
+
+
Author:
+
Justin Thaler, Alexander Saydakov
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    static class 
    + +
    +
    Row class that defines the return values from a getFrequentItems query.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ItemsSketch(int maxMapSize)
    +
    +
    Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    getAprioriError(int maxMapSize, + long estimatedTotalStreamWeight)
    +
    +
    Returns the estimated a priori error given the maxMapSize for the sketch and the + estimatedTotalStreamWeight.
    +
    +
    int
    + +
    +
    Returns the current number of counters the sketch is configured to support.
    +
    +
    static double
    +
    getEpsilon(int maxMapSize)
    +
    +
    Returns epsilon used to compute a priori error.
    +
    +
    long
    +
    getEstimate(T item)
    +
    +
    Gets the estimate of the frequency of the given item.
    +
    + +
    getFrequentItems(long threshold, + ErrorType errorType)
    +
    +
    Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given a threshold and an ErrorCondition.
    +
    + + +
    +
    Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given an ErrorCondition and the default threshold.
    +
    +
    static <T> ItemsSketch<T>
    +
    getInstance(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
    +
    +
    Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
    +
    +
    long
    + +
    +
    Gets the guaranteed lower bound frequency of the given item, which can never be + negative.
    +
    +
    long
    + +
     
    +
    int
    + +
    +
    Returns the maximum number of counters the sketch is configured to support.
    +
    +
    int
    + +
     
    +
    long
    + +
    +
    Returns the sum of the frequencies in the stream seen so far by the sketch
    +
    +
    long
    + +
    +
    Gets the guaranteed upper bound frequency of the given item.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is empty
    +
    + + +
    +
    This function merges the other sketch into this one.
    +
    +
    void
    + +
    +
    Resets this sketch to a virgin state.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch
    +
    + + +
    +
    Returns a human readable summary of this sketch.
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a ItemsSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a ItemsSketch.
    +
    +
    void
    +
    update(T item)
    +
    +
    Update this sketch with an item and a frequency count of one.
    +
    +
    void
    +
    update(T item, + long count)
    +
    +
    Update this sketch with an item and a positive frequency count.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ItemsSketch

      +
      public ItemsSketch(int maxMapSize)
      +
      Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).
      +
      +
      Parameters:
      +
      maxMapSize - Determines the physical size of the internal hash map managed by this + sketch and must be a power of 2. The maximum capacity of this internal hash map is + 0.75 times * maxMapSize. Both the ultimate accuracy and size of this sketch are + functions of maxMapSize.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstance

      +
      public static <T> ItemsSketch<T> getInstance(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
      +
      +
      Type Parameters:
      +
      T - The type of item that this sketch will track
      +
      Parameters:
      +
      srcMem - a Memory representation of a sketch of this class. + See Memory
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a sketch instance of this class.
      +
      +
      +
    • +
    • +
      +

      getAprioriError

      +
      public static double getAprioriError(int maxMapSize, + long estimatedTotalStreamWeight)
      +
      Returns the estimated a priori error given the maxMapSize for the sketch and the + estimatedTotalStreamWeight.
      +
      +
      Parameters:
      +
      maxMapSize - the planned map size to be used when constructing this sketch.
      +
      estimatedTotalStreamWeight - the estimated total stream weight.
      +
      Returns:
      +
      the estimated a priori error.
      +
      +
      +
    • +
    • +
      +

      getCurrentMapCapacity

      +
      public int getCurrentMapCapacity()
      +
      Returns the current number of counters the sketch is configured to support.
      +
      +
      Returns:
      +
      the current number of counters the sketch is configured to support.
      +
      +
      +
    • +
    • +
      +

      getEpsilon

      +
      public static double getEpsilon(int maxMapSize)
      +
      Returns epsilon used to compute a priori error. + This is just the value 3.5 / maxMapSize.
      +
      +
      Parameters:
      +
      maxMapSize - the planned map size to be used when constructing this sketch.
      +
      Returns:
      +
      epsilon used to compute a priori error.
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public long getEstimate(T item)
      +
      Gets the estimate of the frequency of the given item. + Note: The true frequency of a item would be the sum of the counts as a result of the + two update functions.
      +
      +
      Parameters:
      +
      item - the given item
      +
      Returns:
      +
      the estimate of the frequency of the given item
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public long getLowerBound(T item)
      +
      Gets the guaranteed lower bound frequency of the given item, which can never be + negative.
      +
      +
      Parameters:
      +
      item - the given item.
      +
      Returns:
      +
      the guaranteed lower bound frequency of the given item. That is, a number which + is guaranteed to be no larger than the real frequency.
      +
      +
      +
    • +
    • +
      +

      getFrequentItems

      +
      public ItemsSketch.Row<T>[] getFrequentItems(long threshold, + ErrorType errorType)
      +
      Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given a threshold and an ErrorCondition. If the threshold is lower than getMaximumError(), + then getMaximumError() will be used instead. + +

      The method first examines all active items in the sketch (items that have a counter). + +

      If ErrorType = NO_FALSE_NEGATIVES, this will include an item in the result + list if getUpperBound(item) > threshold. + There will be no false negatives, i.e., no Type II error. + There may be items in the set with true frequencies less than the threshold + (false positives).

      + +

      If ErrorType = NO_FALSE_POSITIVES, this will include an item in the result + list if getLowerBound(item) > threshold. + There will be no false positives, i.e., no Type I error. + There may be items omitted from the set with true frequencies greater than the + threshold (false negatives).

      +
      +
      Parameters:
      +
      threshold - to include items in the result list
      +
      errorType - determines whether no false positives or no false negatives are + desired.
      +
      Returns:
      +
      an array of frequent items
      +
      +
      +
    • +
    • +
      +

      getFrequentItems

      +
      public ItemsSketch.Row<T>[] getFrequentItems(ErrorType errorType)
      +
      Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given an ErrorCondition and the default threshold. + This is the same as getFrequentItems(getMaximumError(), errorType)
      +
      +
      Parameters:
      +
      errorType - determines whether no false positives or no false negatives are + desired.
      +
      Returns:
      +
      an array of frequent items
      +
      +
      +
    • +
    • +
      +

      getMaximumError

      +
      public long getMaximumError()
      +
      +
      Returns:
      +
      An upper bound on the maximum error of getEstimate(item) for any item. + This is equivalent to the maximum distance between the upper bound and the lower bound + for any item.
      +
      +
      +
    • +
    • +
      +

      getMaximumMapCapacity

      +
      public int getMaximumMapCapacity()
      +
      Returns the maximum number of counters the sketch is configured to support.
      +
      +
      Returns:
      +
      the maximum number of counters the sketch is configured to support.
      +
      +
      +
    • +
    • +
      +

      getNumActiveItems

      +
      public int getNumActiveItems()
      +
      +
      Returns:
      +
      the number of active items in the sketch.
      +
      +
      +
    • +
    • +
      +

      getStreamLength

      +
      public long getStreamLength()
      +
      Returns the sum of the frequencies in the stream seen so far by the sketch
      +
      +
      Returns:
      +
      the sum of the frequencies in the stream seen so far by the sketch
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public long getUpperBound(T item)
      +
      Gets the guaranteed upper bound frequency of the given item.
      +
      +
      Parameters:
      +
      item - the given item
      +
      Returns:
      +
      the guaranteed upper bound frequency of the given item. That is, a number which + is guaranteed to be no smaller than the real frequency.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Returns true if this sketch is empty
      +
      +
      Returns:
      +
      true if this sketch is empty
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public ItemsSketch<T> merge(ItemsSketch<T> other)
      +
      This function merges the other sketch into this one. + The other sketch may be of a different size.
      +
      +
      Parameters:
      +
      other - sketch of this class
      +
      Returns:
      +
      a sketch whose estimates are within the guarantees of the + largest error tolerance of the two merged sketches.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch to a virgin state.
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<T> serDe)
      +
      Returns a byte array representation of this sketch
      +
      +
      Parameters:
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human readable summary of this sketch.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a human readable summary of this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of a ItemsSketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a ItemsSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of a ItemsSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory object
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a ItemsSketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item)
      +
      Update this sketch with an item and a frequency count of one.
      +
      +
      Parameters:
      +
      item - for which the frequency should be increased.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item, + long count)
      +
      Update this sketch with an item and a positive frequency count.
      +
      +
      Parameters:
      +
      item - for which the frequency should be increased. The sketch uses + hashCode() and equals() methods of the type T.
      +
      count - the amount by which the frequency of the item should be increased. + A count of zero is a no-op, and a negative count will throw an exception.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.Row.html b/docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.Row.html new file mode 100644 index 000000000..5216f1590 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.Row.html @@ -0,0 +1,283 @@ + + + + +LongsSketch.Row (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LongsSketch.Row

+
+
java.lang.Object +
org.apache.datasketches.frequencies.LongsSketch.Row
+
+
+
+
All Implemented Interfaces:
+
Comparable<LongsSketch.Row>
+
+
+
Enclosing class:
+
LongsSketch
+
+
+
public static class LongsSketch.Row +extends Object +implements Comparable<LongsSketch.Row>
+
Row class that defines the return values from a getFrequentItems query.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    This compareTo is strictly limited to the Row.getEstimate() value and does not imply any + ordering whatsoever to the other elements of the row: item and upper and lower bounds.
    +
    +
    boolean
    + +
    +
    This equals is computed only from the Row.getEstimate() value and does not imply equality + of the other items within the row: item and upper and lower bounds.
    +
    +
    long
    + +
     
    +
    long
    + +
     
    +
    long
    + +
     
    +
    static String
    + +
     
    +
    long
    + +
     
    +
    int
    + +
    +
    This hashCode is computed only from the Row.getEstimate() value.
    +
    + + +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getItem

      +
      public long getItem()
      +
      +
      Returns:
      +
      item of type T
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public long getEstimate()
      +
      +
      Returns:
      +
      the estimate
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public long getUpperBound()
      +
      +
      Returns:
      +
      the upper bound
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public long getLowerBound()
      +
      +
      Returns:
      +
      return the lower bound
      +
      +
      +
    • +
    • +
      +

      getRowHeader

      +
      public static String getRowHeader()
      +
      +
      Returns:
      +
      the descriptive row header
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      compareTo

      +
      public int compareTo(LongsSketch.Row that)
      +
      This compareTo is strictly limited to the Row.getEstimate() value and does not imply any + ordering whatsoever to the other elements of the row: item and upper and lower bounds. + Defined this way, this compareTo will be consistent with hashCode() and equals(Object).
      +
      +
      Specified by:
      +
      compareTo in interface Comparable<LongsSketch.Row>
      +
      Parameters:
      +
      that - the other row to compare to.
      +
      Returns:
      +
      a negative integer, zero, or a positive integer as this.getEstimate() is less than, + equal to, or greater than that.getEstimate().
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      This hashCode is computed only from the Row.getEstimate() value. + Defined this way, this hashCode will be consistent with equals(Object):
      + If (x.equals(y)) implies: x.hashCode() == y.hashCode().
      + If (!x.equals(y)) does NOT imply: x.hashCode() != y.hashCode().
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      Returns:
      +
      the hashCode computed from getEstimate().
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object obj)
      +
      This equals is computed only from the Row.getEstimate() value and does not imply equality + of the other items within the row: item and upper and lower bounds. + Defined this way, this equals will be consistent with compareTo(Row).
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      obj - the other row to determine equality with.
      +
      Returns:
      +
      true if this.getEstimate() equals ((Row)obj).getEstimate().
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.html b/docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.html new file mode 100644 index 000000000..c35fdad2f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/LongsSketch.html @@ -0,0 +1,737 @@ + + + + +LongsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LongsSketch

+
+
java.lang.Object +
org.apache.datasketches.frequencies.LongsSketch
+
+
+
+
public class LongsSketch +extends Object
+
This sketch is useful for tracking approximate frequencies of long items with optional + associated counts (long item, long count) that are members of a multiset of + such items. The true frequency of an item is defined to be the sum of associated counts. + +

This implementation provides the following capabilities:

+
    +
  • Estimate the frequency of an item.
  • +
  • Return upper and lower bounds of any item, such that the true frequency is always + between the upper and lower bounds.
  • +
  • Return a global maximum error that holds for all items in the stream.
  • +
  • Return an array of frequent items that qualify either a NO_FALSE_POSITIVES or a + NO_FALSE_NEGATIVES error type.
  • +
  • Merge itself with another sketch object created from this class.
  • +
  • Serialize/Deserialize to/from a String or byte array.
  • +
+ +

Space Usage

+ +

The sketch is initialized with a maxMapSize that specifies the maximum physical + length of the internal hash map of the form (long item, long count). + The maxMapSize must be a power of 2.

+ +

The hash map starts at a very small size (8 entries), and grows as needed up to the + specified maxMapSize.

+ +

At any moment the internal memory space usage of this sketch is 18 * mapSize bytes, + plus a small constant number of additional bytes. The maximum internal memory space usage of + this sketch will never exceed 18 * maxMapSize bytes, plus a small constant number of + additional bytes.

+ +

Maximum Capacity of the Sketch

+ +

The LOAD_FACTOR for the hash map is internally set at 75%, + which means at any time the map capacity of (item, count) pairs is mapCap = + 0.75 * mapSize. + The maximum capacity of (item, count) pairs of the sketch is maxMapCap = + 0.75 * maxMapSize.

+ +

Updating the sketch with (item, count) pairs

+ +

If the item is found in the hash map, the mapped count field (the "counter") is + incremented by the incoming count, otherwise, a new counter "(item, count) pair" is + created. If the number of tracked counters reaches the maximum capacity of the hash map + the sketch decrements all of the counters (by an approximately computed median), and + removes any non-positive counters.

+ +

Accuracy

+ +

If fewer than 0.75 * maxMapSize different items are inserted into the sketch the + estimated frequencies returned by the sketch will be exact.

+ +

The logic of the frequent items sketch is such that the stored counts and true counts are + never too different. + More specifically, for any item, the sketch can return an estimate of the + true frequency of item, along with upper and lower bounds on the frequency + (that hold deterministically).

+ +

For this implementation and for a specific active item, it is guaranteed that + the true frequency will be between the Upper Bound (UB) and the Lower Bound (LB) computed for + that item. Specifically, (UB- LB) ≤ W * epsilon, where W denotes the + sum of all item counts, and epsilon = 3.5/M, where M is the maxMapSize.

+ +

This is a worst case guarantee that applies to arbitrary inputs.1 + For inputs typically seen in practice (UB-LB) is usually much smaller. +

+ +

Background

+ +

This code implements a variant of what is commonly known as the "Misra-Gries + algorithm". Variants of it were discovered and rediscovered and redesigned several times + over the years:

+
  • "Finding repeated elements", Misra, Gries, 1982
  • +
  • "Frequency estimation of Internet packet streams with limited space" Demaine, + Lopez-Ortiz, Munro, 2002
  • +
  • "A simple algorithm for finding frequent elements in streams and bags" Karp, Shenker, + Papadimitriou, 2003
  • +
  • "Efficient Computation of Frequent and Top-k Elements in Data Streams" Metwally, + Agrawal, Abbadi, 2006
  • +
+ + 1 For speed we do employ some randomization that introduces a small probability that + our proof of the worst-case bound might not apply to a given run. However, we have ensured + that this probability is extremely small. For example, if the stream causes one table purge + (rebuild), our proof of the worst case bound applies with probability at least 1 - 1E-14. + If the stream causes 1E9 purges, our proof applies with probability at least 1 - 1E-5.
+
+
Author:
+
Justin Thaler, Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    static class 
    + +
    +
    Row class that defines the return values from a getFrequentItems query.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    LongsSketch(int maxMapSize)
    +
    +
    Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    getAprioriError(int maxMapSize, + long estimatedTotalStreamWeight)
    +
    +
    Returns the estimated a priori error given the maxMapSize for the sketch and the + estimatedTotalStreamWeight.
    +
    +
    int
    + +
    +
    Returns the current number of counters the sketch is configured to support.
    +
    +
    static double
    +
    getEpsilon(int maxMapSize)
    +
    +
    Returns epsilon used to compute a priori error.
    +
    +
    long
    +
    getEstimate(long item)
    +
    +
    Gets the estimate of the frequency of the given item.
    +
    + +
    getFrequentItems(long threshold, + ErrorType errorType)
    +
    +
    Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given a threshold and an ErrorCondition.
    +
    + + +
    +
    Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given an ErrorCondition and the default threshold.
    +
    + + +
    +
    Returns a sketch instance of this class from the given String, + which must be a String representation of this sketch class.
    +
    + +
    getInstance(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
    +
    +
    long
    +
    getLowerBound(long item)
    +
    +
    Gets the guaranteed lower bound frequency of the given item, which can never be + negative.
    +
    +
    long
    + +
     
    +
    int
    + +
    +
    Returns the maximum number of counters the sketch is configured to support.
    +
    +
    int
    + +
     
    +
    int
    + +
    +
    Returns the number of bytes required to store this sketch as an array of bytes.
    +
    +
    long
    + +
    +
    Returns the sum of the frequencies (weights or counts) in the stream seen so far by the sketch
    +
    +
    long
    +
    getUpperBound(long item)
    +
    +
    Gets the guaranteed upper bound frequency of the given item.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is empty
    +
    + + +
    +
    This function merges the other sketch into this one.
    +
    +
    void
    + +
    +
    Resets this sketch to a virgin state.
    +
    + + +
    +
    Returns a String representation of this sketch
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch
    +
    + + +
    +
    Returns a human readable summary of this sketch.
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a LongsSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a LongsSketch.
    +
    +
    void
    +
    update(long item)
    +
    +
    Update this sketch with an item and a frequency count of one.
    +
    +
    void
    +
    update(long item, + long count)
    +
    +
    Update this sketch with a item and a positive frequency count (or weight).
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LongsSketch

      +
      public LongsSketch(int maxMapSize)
      +
      Construct this sketch with the parameter maxMapSize and the default initialMapSize (8).
      +
      +
      Parameters:
      +
      maxMapSize - Determines the physical size of the internal hash map managed by this + sketch and must be a power of 2. The maximum capacity of this internal hash map is + 0.75 times * maxMapSize. Both the ultimate accuracy and size of this sketch are a + function of maxMapSize.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstance

      +
      public static LongsSketch getInstance(org.apache.datasketches.memory.Memory srcMem)
      +
      Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
      +
      +
      Parameters:
      +
      srcMem - a Memory representation of a sketch of this class. + See Memory
      +
      Returns:
      +
      a sketch instance of this class.
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      public static LongsSketch getInstance(String string)
      +
      Returns a sketch instance of this class from the given String, + which must be a String representation of this sketch class.
      +
      +
      Parameters:
      +
      string - a String representation of a sketch of this class.
      +
      Returns:
      +
      a sketch instance of this class.
      +
      +
      +
    • +
    • +
      +

      getAprioriError

      +
      public static double getAprioriError(int maxMapSize, + long estimatedTotalStreamWeight)
      +
      Returns the estimated a priori error given the maxMapSize for the sketch and the + estimatedTotalStreamWeight.
      +
      +
      Parameters:
      +
      maxMapSize - the planned map size to be used when constructing this sketch.
      +
      estimatedTotalStreamWeight - the estimated total stream weight.
      +
      Returns:
      +
      the estimated a priori error.
      +
      +
      +
    • +
    • +
      +

      getCurrentMapCapacity

      +
      public int getCurrentMapCapacity()
      +
      Returns the current number of counters the sketch is configured to support.
      +
      +
      Returns:
      +
      the current number of counters the sketch is configured to support.
      +
      +
      +
    • +
    • +
      +

      getEpsilon

      +
      public static double getEpsilon(int maxMapSize)
      +
      Returns epsilon used to compute a priori error. + This is just the value 3.5 / maxMapSize.
      +
      +
      Parameters:
      +
      maxMapSize - the planned map size to be used when constructing this sketch.
      +
      Returns:
      +
      epsilon used to compute a priori error.
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public long getEstimate(long item)
      +
      Gets the estimate of the frequency of the given item. + Note: The true frequency of a item would be the sum of the counts as a result of the + two update functions.
      +
      +
      Parameters:
      +
      item - the given item
      +
      Returns:
      +
      the estimate of the frequency of the given item
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public long getLowerBound(long item)
      +
      Gets the guaranteed lower bound frequency of the given item, which can never be + negative.
      +
      +
      Parameters:
      +
      item - the given item.
      +
      Returns:
      +
      the guaranteed lower bound frequency of the given item. That is, a number which + is guaranteed to be no larger than the real frequency.
      +
      +
      +
    • +
    • +
      +

      getFrequentItems

      +
      public LongsSketch.Row[] getFrequentItems(long threshold, + ErrorType errorType)
      +
      Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given a threshold and an ErrorCondition. If the threshold is lower than getMaximumError(), + then getMaximumError() will be used instead. + +

      The method first examines all active items in the sketch (items that have a counter). + +

      If ErrorType = NO_FALSE_NEGATIVES, this will include an item in the result + list if getUpperBound(item) > threshold. + There will be no false negatives, i.e., no Type II error. + There may be items in the set with true frequencies less than the threshold + (false positives).

      + +

      If ErrorType = NO_FALSE_POSITIVES, this will include an item in the result + list if getLowerBound(item) > threshold. + There will be no false positives, i.e., no Type I error. + There may be items omitted from the set with true frequencies greater than the + threshold (false negatives). This is a subset of the NO_FALSE_NEGATIVES case.

      +
      +
      Parameters:
      +
      threshold - to include items in the result list
      +
      errorType - determines whether no false positives or no false negatives are + desired.
      +
      Returns:
      +
      an array of frequent items
      +
      +
      +
    • +
    • +
      +

      getFrequentItems

      +
      public LongsSketch.Row[] getFrequentItems(ErrorType errorType)
      +
      Returns an array of Rows that include frequent items, estimates, upper and lower bounds + given an ErrorCondition and the default threshold. + This is the same as getFrequentItems(getMaximumError(), errorType)
      +
      +
      Parameters:
      +
      errorType - determines whether no false positives or no false negatives are + desired.
      +
      Returns:
      +
      an array of frequent items
      +
      +
      +
    • +
    • +
      +

      getMaximumError

      +
      public long getMaximumError()
      +
      +
      Returns:
      +
      An upper bound on the maximum error of getEstimate(item) for any item. + This is equivalent to the maximum distance between the upper bound and the lower bound + for any item.
      +
      +
      +
    • +
    • +
      +

      getMaximumMapCapacity

      +
      public int getMaximumMapCapacity()
      +
      Returns the maximum number of counters the sketch is configured to support.
      +
      +
      Returns:
      +
      the maximum number of counters the sketch is configured to support.
      +
      +
      +
    • +
    • +
      +

      getNumActiveItems

      +
      public int getNumActiveItems()
      +
      +
      Returns:
      +
      the number of active items in the sketch.
      +
      +
      +
    • +
    • +
      +

      getStorageBytes

      +
      public int getStorageBytes()
      +
      Returns the number of bytes required to store this sketch as an array of bytes.
      +
      +
      Returns:
      +
      the number of bytes required to store this sketch as an array of bytes.
      +
      +
      +
    • +
    • +
      +

      getStreamLength

      +
      public long getStreamLength()
      +
      Returns the sum of the frequencies (weights or counts) in the stream seen so far by the sketch
      +
      +
      Returns:
      +
      the sum of the frequencies in the stream seen so far by the sketch
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public long getUpperBound(long item)
      +
      Gets the guaranteed upper bound frequency of the given item.
      +
      +
      Parameters:
      +
      item - the given item
      +
      Returns:
      +
      the guaranteed upper bound frequency of the given item. That is, a number which + is guaranteed to be no smaller than the real frequency.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Returns true if this sketch is empty
      +
      +
      Returns:
      +
      true if this sketch is empty
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public LongsSketch merge(LongsSketch other)
      +
      This function merges the other sketch into this one. + The other sketch may be of a different size.
      +
      +
      Parameters:
      +
      other - sketch of this class
      +
      Returns:
      +
      a sketch whose estimates are within the guarantees of the + largest error tolerance of the two merged sketches.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch to a virgin state.
      +
      +
    • +
    • +
      +

      serializeToString

      +
      public String serializeToString()
      +
      Returns a String representation of this sketch
      +
      +
      Returns:
      +
      a String representation of this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Returns a byte array representation of this sketch
      +
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human readable summary of this sketch.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a human readable summary of this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of a LongsSketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a LongsSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of a LongsSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory object
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a LongsSketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long item)
      +
      Update this sketch with an item and a frequency count of one.
      +
      +
      Parameters:
      +
      item - for which the frequency should be increased.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long item, + long count)
      +
      Update this sketch with a item and a positive frequency count (or weight).
      +
      +
      Parameters:
      +
      item - for which the frequency should be increased. The item can be any long value + and is only used by the sketch to determine uniqueness.
      +
      count - the amount by which the frequency of the item should be increased. + An count of zero is a no-op, and a negative count will throw an exception.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/class-use/ErrorType.html b/docs/621/merge/org/apache/datasketches/frequencies/class-use/ErrorType.html new file mode 100644 index 000000000..39d056d7d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/class-use/ErrorType.html @@ -0,0 +1,130 @@ + + + + +Uses of Enum Class org.apache.datasketches.frequencies.ErrorType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.frequencies.ErrorType

+
+
Packages that use ErrorType
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.Row.html b/docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.Row.html new file mode 100644 index 000000000..e02097d58 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.Row.html @@ -0,0 +1,112 @@ + + + + +Uses of Class org.apache.datasketches.frequencies.ItemsSketch.Row (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.frequencies.ItemsSketch.Row

+
+
Packages that use ItemsSketch.Row
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.html b/docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.html new file mode 100644 index 000000000..523f881e0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/class-use/ItemsSketch.html @@ -0,0 +1,110 @@ + + + + +Uses of Class org.apache.datasketches.frequencies.ItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.frequencies.ItemsSketch

+
+
Packages that use ItemsSketch
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.Row.html b/docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.Row.html new file mode 100644 index 000000000..1d2bc5fa1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.Row.html @@ -0,0 +1,112 @@ + + + + +Uses of Class org.apache.datasketches.frequencies.LongsSketch.Row (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.frequencies.LongsSketch.Row

+
+
Packages that use LongsSketch.Row
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.html b/docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.html new file mode 100644 index 000000000..a809a3e98 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/class-use/LongsSketch.html @@ -0,0 +1,115 @@ + + + + +Uses of Class org.apache.datasketches.frequencies.LongsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.frequencies.LongsSketch

+
+
Packages that use LongsSketch
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/package-summary.html b/docs/621/merge/org/apache/datasketches/frequencies/package-summary.html new file mode 100644 index 000000000..ca1142e3e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/package-summary.html @@ -0,0 +1,139 @@ + + + + +org.apache.datasketches.frequencies (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.frequencies

+
+
+
package org.apache.datasketches.frequencies
+
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items. + If the frequency distribution of items is sufficiently skewed, these algorithms are very + useful in identifying the "Heavy Hitters" that occurred most frequently in the stream. + The accuracy of the estimation of the frequency of an item has well understood error + bounds that can be returned by the sketch. + +

These algorithms are sometimes referred to as "TopN" algorithms.

+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Specifies one of two types of error regions of the statistical classification Confusion Matrix + that can be excluded from a returned sample of Frequent Items.
    +
    + +
    +
    This sketch is useful for tracking approximate frequencies of items of type <T> + with optional associated counts (<T> item, long count) that are members of a + multiset of such items.
    +
    + +
    +
    Row class that defines the return values from a getFrequentItems query.
    +
    + +
    +
    This sketch is useful for tracking approximate frequencies of long items with optional + associated counts (long item, long count) that are members of a multiset of + such items.
    +
    + +
    +
    Row class that defines the return values from a getFrequentItems query.
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/package-tree.html b/docs/621/merge/org/apache/datasketches/frequencies/package-tree.html new file mode 100644 index 000000000..2f3bbb261 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/package-tree.html @@ -0,0 +1,93 @@ + + + + +org.apache.datasketches.frequencies Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.frequencies

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/frequencies/package-use.html b/docs/621/merge/org/apache/datasketches/frequencies/package-use.html new file mode 100644 index 000000000..336d1fd38 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/frequencies/package-use.html @@ -0,0 +1,110 @@ + + + + +Uses of Package org.apache.datasketches.frequencies (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.frequencies

+
+ +
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable estimation of the + frequency of occurrence of items in a weighted multiset stream of items.
+
+
+
+
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Specifies one of two types of error regions of the statistical classification Confusion Matrix + that can be excluded from a returned sample of Frequent Items.
    +
    + +
    +
    This sketch is useful for tracking approximate frequencies of items of type <T> + with optional associated counts (<T> item, long count) that are members of a + multiset of such items.
    +
    + +
    +
    Row class that defines the return values from a getFrequentItems query.
    +
    + +
    +
    This sketch is useful for tracking approximate frequencies of long items with optional + associated counts (long item, long count) that are members of a multiset of + such items.
    +
    + +
    +
    Row class that defines the return values from a getFrequentItems query.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/MurmurHash3.html b/docs/621/merge/org/apache/datasketches/hash/MurmurHash3.html new file mode 100644 index 000000000..0b10d6dc8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/MurmurHash3.html @@ -0,0 +1,433 @@ + + + + +MurmurHash3 (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MurmurHash3

+
+
java.lang.Object +
org.apache.datasketches.hash.MurmurHash3
+
+
+
+
All Implemented Interfaces:
+
Serializable
+
+
+
public final class MurmurHash3 +extends Object +implements Serializable
+
The MurmurHash3 is a fast, non-cryptographic, 128-bit hash function that has + excellent avalanche and 2-way bit independence properties. + +

+ Austin Appleby's C++ + + MurmurHash3_x64_128(...), final revision 150, + which is in the Public Domain, was the inspiration for this implementation in Java. +

+ +

+ This java implementation pays close attention to the C++ algorithms in order to + maintain bit-wise compatibility, but the design is quite different. This implementation has also + been extended to include processing of arrays of longs, char or ints, which was not part of the + original C++ implementation. This implementation produces the same exact output hash bits as + the above C++ method given the same input.

+ +

In addition, with this implementation, the hash of byte[], char[], int[], or long[] will + produce the same hash result if, and only if, all the arrays have the same exact length in + bytes, and if the contents of the values in the arrays have the same byte endianness and + overall order. There is a unit test for this class that demonstrates this.

+ +

+ The structure of this implementation also reflects a separation of code that is dependent on the + input structure (in this case byte[], int[] or long[]) from code that is independent of the input + structure. This also makes the code more readable and suitable for future extensions. +

+ +

Note that even though this hash function produces 128 bits, the entropy of the resulting hash cannot + be greater than the entropy of the input. For example, if the input is only a single long of 64 bits, + the entropy of the resulting 128 bit hash is no greater than 64 bits.

+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static long[]
    +
    hash(byte[] key, + int offsetBytes, + int lengthBytes, + long seed)
    +
    +
    Hash a portion of the given byte[] array.
    +
    +
    static long[]
    +
    hash(byte[] key, + long seed)
    +
    +
    Hash the given byte[] array.
    +
    +
    static long[]
    +
    hash(char[] key, + int offsetChars, + int lengthChars, + long seed)
    +
    +
    Hash a portion of the given char[] array.
    +
    +
    static long[]
    +
    hash(char[] key, + long seed)
    +
    +
    Hash the given char[] array.
    +
    +
    static long[]
    +
    hash(int[] key, + int offsetInts, + int lengthInts, + long seed)
    +
    +
    Hash a portion of the given int[] array.
    +
    +
    static long[]
    +
    hash(int[] key, + long seed)
    +
    +
    Hash the given int[] array.
    +
    +
    static long[]
    +
    hash(long[] key, + int offsetLongs, + int lengthLongs, + long seed)
    +
    +
    Hash a portion of the given long[] array.
    +
    +
    static long[]
    +
    hash(long[] key, + long seed)
    +
    +
    Hash the given long[] array.
    +
    +
    static long[]
    +
    hash(long key, + long seed)
    +
    +
    Hash the given long.
    +
    +
    static long[]
    +
    hash(ByteBuffer buf, + long seed)
    +
    +
    Hash the remaining bytes of the given ByteBuffer starting at position().
    +
    +
    static long[]
    +
    hash(org.apache.datasketches.memory.Memory mem, + long seed)
    +
    +
    Hash the given Memory.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      hash

      +
      public static long[] hash(long key, + long seed)
      +
      Hash the given long.
      +
      +
      Parameters:
      +
      key - The input long.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(long[] key, + long seed)
      +
      Hash the given long[] array.
      +
      +
      Parameters:
      +
      key - The input long[] array. It must be non-null and non-empty.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(long[] key, + int offsetLongs, + int lengthLongs, + long seed)
      +
      Hash a portion of the given long[] array.
      +
      +
      Parameters:
      +
      key - The input long[] array. It must be non-null and non-empty.
      +
      offsetLongs - the starting offset in longs.
      +
      lengthLongs - the length in longs of the portion of the array to be hashed.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(int[] key, + long seed)
      +
      Hash the given int[] array.
      +
      +
      Parameters:
      +
      key - The input int[] array. It must be non-null and non-empty.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(int[] key, + int offsetInts, + int lengthInts, + long seed)
      +
      Hash a portion of the given int[] array.
      +
      +
      Parameters:
      +
      key - The input int[] array. It must be non-null and non-empty.
      +
      offsetInts - the starting offset in ints.
      +
      lengthInts - the length in ints of the portion of the array to be hashed.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(char[] key, + long seed)
      +
      Hash the given char[] array.
      +
      +
      Parameters:
      +
      key - The input char[] array. It must be non-null and non-empty.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(char[] key, + int offsetChars, + int lengthChars, + long seed)
      +
      Hash a portion of the given char[] array.
      +
      +
      Parameters:
      +
      key - The input char[] array. It must be non-null and non-empty.
      +
      offsetChars - the starting offset in chars.
      +
      lengthChars - the length in chars of the portion of the array to be hashed.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(byte[] key, + long seed)
      +
      Hash the given byte[] array.
      +
      +
      Parameters:
      +
      key - The input byte[] array. It must be non-null and non-empty.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(byte[] key, + int offsetBytes, + int lengthBytes, + long seed)
      +
      Hash a portion of the given byte[] array.
      +
      +
      Parameters:
      +
      key - The input byte[] array. It must be non-null and non-empty.
      +
      offsetBytes - the starting offset in bytes.
      +
      lengthBytes - the length in bytes of the portion of the array to be hashed.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(ByteBuffer buf, + long seed)
      +
      Hash the remaining bytes of the given ByteBuffer starting at position().
      +
      +
      Parameters:
      +
      buf - The input ByteBuffer. It must be non-null and non-empty.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long[] hash(org.apache.datasketches.memory.Memory mem, + long seed)
      +
      Hash the given Memory. + +

      Note: if you want to hash only a portion of Memory, convert it to the + appropriate Region first with ByteOrder = Little Endian. If it is not + Little Endian a new region view will be created as Little Endian. + This does not change the underlying data.

      +
      +
      Parameters:
      +
      mem - The input Memory. It must be non-null and non-empty.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      a 128-bit hash of the input as a long array of size 2.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/MurmurHash3Adaptor.html b/docs/621/merge/org/apache/datasketches/hash/MurmurHash3Adaptor.html new file mode 100644 index 000000000..abcb95463 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/MurmurHash3Adaptor.html @@ -0,0 +1,645 @@ + + + + +MurmurHash3Adaptor (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class MurmurHash3Adaptor

+
+
java.lang.Object +
org.apache.datasketches.hash.MurmurHash3Adaptor
+
+
+
+
public final class MurmurHash3Adaptor +extends Object
+
A general purpose wrapper for the MurmurHash3. +
    +
  • Inputs can be long, long[], int[], char[], byte[], double or String.
  • +
  • Returns null if arrays or String is null or empty.
  • +
  • Provides methods for returning the 128-bit result as either an array of 2 longs or as a byte + array of 16 bytes.
  • +
  • Provides modulo, asDouble and asInt functions.
  • +
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    asDouble(long[] hash)
    +
    +
    Returns a uniform random double with a minimum inclusive value of zero and a maximum exclusive + value of 1.0.
    +
    +
    static int
    +
    asInt(byte[] data, + int n)
    +
    +
    Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
    +
    +
    static int
    +
    asInt(double datum, + int n)
    +
    +
    Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input double.
    +
    +
    static int
    +
    asInt(int[] data, + int n)
    +
    +
    Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
    +
    +
    static int
    +
    asInt(long[] data, + int n)
    +
    +
    Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
    +
    +
    static int
    +
    asInt(long datum, + int n)
    +
    +
    Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input datum.
    +
    +
    static int
    +
    asInt(String datum, + int n)
    +
    +
    Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input datum.
    +
    +
    static byte[]
    +
    hashToBytes(byte[] data, + long seed)
    +
    +
    Hash a byte[] and long seed.
    +
    +
    static byte[]
    +
    hashToBytes(char[] data, + long seed)
    +
    +
    Hash a char[] and long seed.
    +
    +
    static byte[]
    +
    hashToBytes(double datum, + long seed)
    +
    +
    Hash a double and long seed.
    +
    +
    static byte[]
    +
    hashToBytes(int[] data, + long seed)
    +
    +
    Hash an int[] and long seed.
    +
    +
    static byte[]
    +
    hashToBytes(long[] data, + long seed)
    +
    +
    Hash a long[] and long seed.
    +
    +
    static byte[]
    +
    hashToBytes(long datum, + long seed)
    +
    +
    Hash a long and long seed.
    +
    +
    static byte[]
    +
    hashToBytes(String datum, + long seed)
    +
    +
    Hash a String and long seed.
    +
    +
    static long[]
    +
    hashToLongs(byte[] data, + long seed)
    +
    +
    Hash a byte[] and long seed.
    +
    +
    static long[]
    +
    hashToLongs(char[] data, + long seed)
    +
    +
    Hash a char[] and long seed.
    +
    +
    static long[]
    +
    hashToLongs(double datum, + long seed)
    +
    +
    Hash a double and long seed.
    +
    +
    static long[]
    +
    hashToLongs(int[] data, + long seed)
    +
    +
    Hash a int[] and long seed.
    +
    +
    static long[]
    +
    hashToLongs(long[] data, + long seed)
    +
    +
    Hash a long[] and long seed.
    +
    +
    static long[]
    +
    hashToLongs(long datum, + long seed)
    +
    +
    Hash a long and long seed.
    +
    +
    static long[]
    +
    hashToLongs(String datum, + long seed)
    +
    +
    Hash a String and long seed.
    +
    +
    static int
    +
    modulo(long[] hash, + int divisor)
    +
    +
    Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the + divisor.
    +
    +
    static int
    +
    modulo(long h0, + long h1, + int divisor)
    +
    +
    Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the + divisor.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      hashToBytes

      +
      public static byte[] hashToBytes(long datum, + long seed)
      +
      Hash a long and long seed.
      +
      +
      Parameters:
      +
      datum - the input long value
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.
      +
      +
      +
    • +
    • +
      +

      hashToBytes

      +
      public static byte[] hashToBytes(long[] data, + long seed)
      +
      Hash a long[] and long seed.
      +
      +
      Parameters:
      +
      data - the input long array
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.
      +
      +
      +
    • +
    • +
      +

      hashToBytes

      +
      public static byte[] hashToBytes(int[] data, + long seed)
      +
      Hash an int[] and long seed.
      +
      +
      Parameters:
      +
      data - the input int array
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.
      +
      +
      +
    • +
    • +
      +

      hashToBytes

      +
      public static byte[] hashToBytes(char[] data, + long seed)
      +
      Hash a char[] and long seed.
      +
      +
      Parameters:
      +
      data - the input char array
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.
      +
      +
      +
    • +
    • +
      +

      hashToBytes

      +
      public static byte[] hashToBytes(byte[] data, + long seed)
      +
      Hash a byte[] and long seed.
      +
      +
      Parameters:
      +
      data - the input byte array
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.
      +
      +
      +
    • +
    • +
      +

      hashToBytes

      +
      public static byte[] hashToBytes(double datum, + long seed)
      +
      Hash a double and long seed.
      +
      +
      Parameters:
      +
      datum - the input double
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.
      +
      +
      +
    • +
    • +
      +

      hashToBytes

      +
      public static byte[] hashToBytes(String datum, + long seed)
      +
      Hash a String and long seed.
      +
      +
      Parameters:
      +
      datum - the input String
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a byte[16] in Big Endian order from 2 64-bit longs.
      +
      +
      +
    • +
    • +
      +

      hashToLongs

      +
      public static long[] hashToLongs(long datum, + long seed)
      +
      Hash a long and long seed.
      +
      +
      Parameters:
      +
      datum - the input long
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a long[2].
      +
      +
      +
    • +
    • +
      +

      hashToLongs

      +
      public static long[] hashToLongs(long[] data, + long seed)
      +
      Hash a long[] and long seed.
      +
      +
      Parameters:
      +
      data - the input long array.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a long[2].
      +
      +
      +
    • +
    • +
      +

      hashToLongs

      +
      public static long[] hashToLongs(int[] data, + long seed)
      +
      Hash a int[] and long seed.
      +
      +
      Parameters:
      +
      data - the input int array.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a long[2].
      +
      +
      +
    • +
    • +
      +

      hashToLongs

      +
      public static long[] hashToLongs(char[] data, + long seed)
      +
      Hash a char[] and long seed.
      +
      +
      Parameters:
      +
      data - the input char array.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a long[2].
      +
      +
      +
    • +
    • +
      +

      hashToLongs

      +
      public static long[] hashToLongs(byte[] data, + long seed)
      +
      Hash a byte[] and long seed.
      +
      +
      Parameters:
      +
      data - the input byte array.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a long[2].
      +
      +
      +
    • +
    • +
      +

      hashToLongs

      +
      public static long[] hashToLongs(double datum, + long seed)
      +
      Hash a double and long seed.
      +
      +
      Parameters:
      +
      datum - the input double.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a long[2].
      +
      +
      +
    • +
    • +
      +

      hashToLongs

      +
      public static long[] hashToLongs(String datum, + long seed)
      +
      Hash a String and long seed.
      +
      +
      Parameters:
      +
      datum - the input String.
      +
      seed - A long valued seed.
      +
      Returns:
      +
      The 128-bit hash as a long[2].
      +
      +
      +
    • +
    • +
      +

      asInt

      +
      public static int asInt(long[] data, + int n)
      +
      Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
      +
      +
      Parameters:
      +
      data - the input long array.
      +
      n - The upper exclusive bound of the integers produced. Must be > 1.
      +
      Returns:
      +
      deterministic uniform random integer
      +
      +
      +
    • +
    • +
      +

      asInt

      +
      public static int asInt(int[] data, + int n)
      +
      Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
      +
      +
      Parameters:
      +
      data - the input int array.
      +
      n - The upper exclusive bound of the integers produced. Must be > 1.
      +
      Returns:
      +
      deterministic uniform random integer
      +
      +
      +
    • +
    • +
      +

      asInt

      +
      public static int asInt(byte[] data, + int n)
      +
      Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input data.
      +
      +
      Parameters:
      +
      data - the input byte array.
      +
      n - The upper exclusive bound of the integers produced. Must be > 1.
      +
      Returns:
      +
      deterministic uniform random integer.
      +
      +
      +
    • +
    • +
      +

      asInt

      +
      public static int asInt(long datum, + int n)
      +
      Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input datum.
      +
      +
      Parameters:
      +
      datum - the input long
      +
      n - The upper exclusive bound of the integers produced. Must be > 1.
      +
      Returns:
      +
      deterministic uniform random integer
      +
      +
      +
    • +
    • +
      +

      asInt

      +
      public static int asInt(double datum, + int n)
      +
      Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input double.
      +
      +
      Parameters:
      +
      datum - the given double.
      +
      n - The upper exclusive bound of the integers produced. Must be > 1.
      +
      Returns:
      +
      deterministic uniform random integer
      +
      +
      +
    • +
    • +
      +

      asInt

      +
      public static int asInt(String datum, + int n)
      +
      Returns a deterministic uniform random integer between zero (inclusive) and + n (exclusive) given the input datum.
      +
      +
      Parameters:
      +
      datum - the given String.
      +
      n - The upper exclusive bound of the integers produced. Must be > 1.
      +
      Returns:
      +
      deterministic uniform random integer
      +
      +
      +
    • +
    • +
      +

      asDouble

      +
      public static double asDouble(long[] hash)
      +
      Returns a uniform random double with a minimum inclusive value of zero and a maximum exclusive + value of 1.0. + +

      The double values produced are only as random as the MurmurHash3 algorithm, which may be + adequate for many applications. However, if you are looking for high guarantees of randomness + you should turn to more sophisticated random generators such as Mersenne Twister or Well + algorithms.

      +
      +
      Parameters:
      +
      hash - The output of the MurmurHash3.
      +
      Returns:
      +
      the uniform random double.
      +
      +
      +
    • +
    • +
      +

      modulo

      +
      public static int modulo(long h0, + long h1, + int divisor)
      +
      Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the + divisor.
      +
      +
      Parameters:
      +
      h0 - The lower 64-bits of the 128-bit MurmurHash3 hash.
      +
      h1 - The upper 64-bits of the 128-bit MurmurHash3 hash.
      +
      divisor - Must be positive and greater than zero.
      +
      Returns:
      +
      the modulo result.
      +
      +
      +
    • +
    • +
      +

      modulo

      +
      public static int modulo(long[] hash, + int divisor)
      +
      Returns the remainder from the modulo division of the 128-bit output of the murmurHash3 by the + divisor.
      +
      +
      Parameters:
      +
      hash - The size 2 long array from the MurmurHash3.
      +
      divisor - Must be positive and greater than zero.
      +
      Returns:
      +
      the modulo result
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/XxHash.html b/docs/621/merge/org/apache/datasketches/hash/XxHash.html new file mode 100644 index 000000000..ec08b41e6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/XxHash.html @@ -0,0 +1,212 @@ + + + + +XxHash (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class XxHash

+
+
java.lang.Object +
org.apache.datasketches.hash.XxHash
+
+
+
+
public class XxHash +extends Object
+
The XxHash is a fast, non-cryptographic, 64-bit hash function that has + excellent avalanche and 2-way bit independence properties. + +

This class wraps the + Memory Component XxHash + implementation.

+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static long
    +
    hash(long in, + long seed)
    +
    +
    Returns a 64-bit hash.
    +
    +
    static long
    +
    hash(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + long lengthBytes, + long seed)
    +
    +
    Compute the hash of the given Memory object.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      XxHash

      +
      public XxHash()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      hash

      +
      public static long hash(org.apache.datasketches.memory.Memory mem, + long offsetBytes, + long lengthBytes, + long seed)
      +
      Compute the hash of the given Memory object.
      +
      +
      Parameters:
      +
      mem - The given Memory object
      +
      offsetBytes - Starting at this offset in bytes
      +
      lengthBytes - Continuing for this number of bytes
      +
      seed - use this seed for the hash function
      +
      Returns:
      +
      return the resulting 64-bit hash value.
      +
      +
      +
    • +
    • +
      +

      hash

      +
      public static long hash(long in, + long seed)
      +
      Returns a 64-bit hash.
      +
      +
      Parameters:
      +
      in - a long
      +
      seed - A long valued seed.
      +
      Returns:
      +
      the hash
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3.html b/docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3.html new file mode 100644 index 000000000..15e37efa6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.hash.MurmurHash3 (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.hash.MurmurHash3

+
+No usage of org.apache.datasketches.hash.MurmurHash3
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3Adaptor.html b/docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3Adaptor.html new file mode 100644 index 000000000..488cf20a4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/class-use/MurmurHash3Adaptor.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.hash.MurmurHash3Adaptor (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.hash.MurmurHash3Adaptor

+
+No usage of org.apache.datasketches.hash.MurmurHash3Adaptor
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/class-use/XxHash.html b/docs/621/merge/org/apache/datasketches/hash/class-use/XxHash.html new file mode 100644 index 000000000..a6ff8c4fb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/class-use/XxHash.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.hash.XxHash (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.hash.XxHash

+
+No usage of org.apache.datasketches.hash.XxHash
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/package-summary.html b/docs/621/merge/org/apache/datasketches/hash/package-summary.html new file mode 100644 index 000000000..fc2a97cfa --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/package-summary.html @@ -0,0 +1,120 @@ + + + + +org.apache.datasketches.hash (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.hash

+
+
+
package org.apache.datasketches.hash
+
+
The hash package contains a high-performing and extended Java implementations + of Austin Appleby's 128-bit MurmurHash3 hash function originally coded in C. + This core MurmurHash3.java class is used throughout many of the sketch classes for consistency + and as long as the user specifies the same seed will result in coordinated hash operations. + This package also contains an adaptor class that extends the basic class with more functions + commonly associated with hashing.
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    The MurmurHash3 is a fast, non-cryptographic, 128-bit hash function that has + excellent avalanche and 2-way bit independence properties.
    +
    + +
    +
    A general purpose wrapper for the MurmurHash3.
    +
    + +
    +
    The XxHash is a fast, non-cryptographic, 64-bit hash function that has + excellent avalanche and 2-way bit independence properties.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/package-tree.html b/docs/621/merge/org/apache/datasketches/hash/package-tree.html new file mode 100644 index 000000000..14742b02c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/package-tree.html @@ -0,0 +1,78 @@ + + + + +org.apache.datasketches.hash Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.hash

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hash/package-use.html b/docs/621/merge/org/apache/datasketches/hash/package-use.html new file mode 100644 index 000000000..81ae97dd3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hash/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package org.apache.datasketches.hash (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.hash

+
+No usage of org.apache.datasketches.hash
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/HllSketch.html b/docs/621/merge/org/apache/datasketches/hll/HllSketch.html new file mode 100644 index 000000000..e3fa42132 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/HllSketch.html @@ -0,0 +1,1145 @@ + + + + +HllSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HllSketch

+
+
java.lang.Object +
org.apache.datasketches.hll.HllSketch
+
+
+
+
public class HllSketch +extends Object
+
The HllSketch is actually a collection of compact implementations of Phillipe Flajolet’s HyperLogLog (HLL) + sketch but with significantly improved error behavior and excellent speed performance. + +

If the use case for sketching is primarily counting uniques and merging, the HLL sketch is the 2nd highest + performing in terms of accuracy for storage space consumed in the DataSketches library + (the new CPC sketch developed by Kevin J. Lang now beats HLL in terms of accuracy / space). + For large counts, HLL sketches can be 2 to 8 times smaller for the same accuracy than the DataSketches Theta + Sketches when serialized, but the Theta sketches can do set intersections and differences while HLL and CPC cannot. + The CPC sketch and HLL share similar use cases, but the CPC sketch is about 30 to 40% smaller than the HLL sketch + when serialized and larger than the HLL when active in memory. Choose your weapons!

+ +

A new HLL sketch is created with a simple constructor:

+

+ int lgK = 12; //This is log-base2 of k, so k = 4096. lgK can be from 4 to 21
+ HllSketch sketch = new HllSketch(lgK); //TgtHllType.HLL_4 is the default
+ //OR
+ HllSketch sketch = new HllSketch(lgK, TgtHllType.HLL_6);
+ //OR
+ HllSketch sketch = new HllSketch(lgK, TgtHllType.HLL_8);
+ 
+ +

All three different sketch types are targets in that the sketches start out in a warm-up mode that is small in + size and gradually grows as needed until the full HLL array is allocated. The HLL_4, HLL_6 and HLL_8 represent + different levels of compression of the final HLL array where the 4, 6 and 8 refer to the number of bits each + bucket of the HLL array is compressed down to. + The HLL_4 is the most compressed but generally slower than the other two, especially during union operations.

+ +

All three types share the same API. Updating the HllSketch is very simple:

+ +

+ long n = 1000000;
+ for (int i = 0; i < n; i++) {
+   sketch.update(i);
+ }
+ 
+ +

Each of the presented integers above are first hashed into 128-bit hash values that are used by the sketch + HLL algorithm, so the above loop is essentially equivalent to using a random number generator initialized with a + seed so that the sequence is deterministic and random.

+ +

Obtaining the cardinality results from the sketch is also simple:

+ +

+ double estimate = sketch.getEstimate();
+ double estUB = sketch.getUpperBound(1.0); //the upper bound at 1 standard deviation.
+ double estLB = sketch.getLowerBound(1.0); //the lower bound at 1 standard deviation.
+ //OR
+ System.out.println(sketch.toString()); //will output a summary of the sketch.
+ 
+ +

Which produces a console output something like this:

+ +

+ ### HLL SKETCH SUMMARY:
+   Log Config K   : 12
+   Hll Target     : HLL_4
+   Current Mode   : HLL
+   LB             : 977348.7024560181
+   Estimate       : 990116.6007366662
+   UB             : 1003222.5095308956
+   OutOfOrder Flag: false
+   CurMin         : 5
+   NumAtCurMin    : 1
+   HipAccum       : 990116.6007366662
+ 
+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final TgtHllType
    + +
    +
    The default HLL-TYPE is HLL_4
    +
    +
    static final int
    + +
    +
    The default Log_base2 of K
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructs a new on-heap sketch with the default lgConfigK and tgtHllType.
    +
    +
    HllSketch(int lgConfigK)
    +
    +
    Constructs a new on-heap sketch with the default tgtHllType.
    +
    +
    HllSketch(int lgConfigK, + TgtHllType tgtHllType)
    +
    +
    Constructs a new on-heap sketch with the type of HLL sketch to configure.
    +
    +
    HllSketch(int lgConfigK, + TgtHllType tgtHllType, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Constructs a new sketch with the type of HLL sketch to configure and the given + WritableMemory as the destination for the sketch.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Return a copy of this sketch onto the Java heap.
    +
    + +
    copyAs(TgtHllType tgtHllType)
    +
    +
    Return a deep copy of this sketch onto the Java heap with the specified TgtHllType.
    +
    +
    int
    + +
    +
    Gets the size in bytes of the current sketch when serialized using + toCompactByteArray().
    +
    +
    double
    + +
    +
    This is less accurate than the getEstimate() method and is automatically used + when the sketch has gone through union operations where the more accurate HIP estimator + cannot be used.
    +
    +
    double
    + +
    +
    Return the cardinality estimate
    +
    +
    int
    + +
    +
    Gets the lgConfigK.
    +
    +
    double
    +
    getLowerBound(int numStdDev)
    +
    +
    Gets the approximate lower error bound given the specified number of Standard Deviations.
    +
    +
    static final int
    +
    getMaxUpdatableSerializationBytes(int lgConfigK, + TgtHllType tgtHllType)
    +
    +
    Returns the maximum size in bytes that this sketch can grow to given lgConfigK.
    +
    +
    static double
    +
    getRelErr(boolean upperBound, + boolean oooFlag, + int lgConfigK, + int numStdDev)
    +
    +
    Gets the current (approximate) Relative Error (RE) asymptotic values given several + parameters.
    +
    +
    static final int
    + +
    +
    Returns the current serialization version.
    +
    +
    static final int
    +
    getSerializationVersion(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns the current serialization version of the given Memory.
    +
    + + +
    +
    Gets the TgtHllType
    +
    +
    int
    + +
    +
    Gets the size in bytes of the current sketch when serialized using + toUpdatableByteArray().
    +
    +
    double
    +
    getUpperBound(int numStdDev)
    +
    +
    Gets the approximate upper error bound given the specified number of Standard Deviations.
    +
    +
    static final HllSketch
    +
    heapify(byte[] byteArray)
    +
    +
    Heapify the given byte array, which must be a valid HllSketch image and may have data.
    +
    +
    static final HllSketch
    +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify the given Memory, which must be a valid HllSketch image and may have data.
    +
    +
    boolean
    + +
    +
    Returns true if the backing memory of this sketch is in compact form.
    +
    +
    boolean
    + +
    +
    Returns true if empty
    +
    +
    boolean
    + +
    +
    This HLL family of sketches and operators is always estimating, even for very small values.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch was created using Memory.
    +
    +
    boolean
    + +
    +
    Returns true if the backing memory for this sketch is off-heap.
    +
    +
    boolean
    +
    isSameResource(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns true if the given Memory refers to the same underlying resource as this sketch.
    +
    +
    void
    + +
    +
    Resets to empty, but does not change the configured values of lgConfigK and tgtHllType.
    +
    +
    byte[]
    + +
    +
    Serializes this sketch as a byte array in compact form.
    +
    + + +
    +
    Human readable summary as a string.
    +
    + +
    toString(boolean summary, + boolean detail, + boolean auxDetail)
    +
    +
    Human readable summary with optional detail.
    +
    + +
    toString(boolean summary, + boolean detail, + boolean auxDetail, + boolean all)
    +
    +
    Human readable summary with optional detail
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of an HllSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of an HllSketch.
    +
    +
    byte[]
    + +
    +
    Serializes this sketch as a byte array in an updatable form.
    +
    +
    void
    +
    update(byte[] data)
    +
    +
    Present the given byte array as a potential unique item.
    +
    +
    void
    +
    update(char[] data)
    +
    +
    Present the given char array as a potential unique item.
    +
    +
    void
    +
    update(double datum)
    +
    +
    Present the given double (or float) datum as a potential unique item.
    +
    +
    void
    +
    update(int[] data)
    +
    +
    Present the given integer array as a potential unique item.
    +
    +
    void
    +
    update(long datum)
    +
    +
    Present the given long as a potential unique item.
    +
    +
    void
    +
    update(long[] data)
    +
    +
    Present the given long array as a potential unique item.
    +
    +
    void
    +
    update(String datum)
    +
    +
    Present the given String as a potential unique item.
    +
    +
    void
    + +
    +
    Present the given byte buffer as a potential unique item.
    +
    +
    static final HllSketch
    +
    wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wraps the given read-only Memory that must be a image of a valid sketch, + which may be in compact or updatable form, and should have data.
    +
    +
    static final HllSketch
    +
    writableWrap(org.apache.datasketches.memory.WritableMemory srcWmem)
    +
    +
    Wraps the given WritableMemory, which must be a image of a valid updatable sketch, + and may have data.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_LG_K

      +
      public static final int DEFAULT_LG_K
      +
      The default Log_base2 of K
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      DEFAULT_HLL_TYPE

      +
      public static final TgtHllType DEFAULT_HLL_TYPE
      +
      The default HLL-TYPE is HLL_4
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HllSketch

      +
      public HllSketch()
      +
      Constructs a new on-heap sketch with the default lgConfigK and tgtHllType.
      +
      +
    • +
    • +
      +

      HllSketch

      +
      public HllSketch(int lgConfigK)
      +
      Constructs a new on-heap sketch with the default tgtHllType.
      +
      +
      Parameters:
      +
      lgConfigK - The Log2 of K for the target HLL sketch. This value must be + between 4 and 21 inclusively.
      +
      +
      +
    • +
    • +
      +

      HllSketch

      +
      public HllSketch(int lgConfigK, + TgtHllType tgtHllType)
      +
      Constructs a new on-heap sketch with the type of HLL sketch to configure.
      +
      +
      Parameters:
      +
      lgConfigK - The Log2 of K for the target HLL sketch. This value must be + between 4 and 21 inclusively.
      +
      tgtHllType - the desired HLL type.
      +
      +
      +
    • +
    • +
      +

      HllSketch

      +
      public HllSketch(int lgConfigK, + TgtHllType tgtHllType, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Constructs a new sketch with the type of HLL sketch to configure and the given + WritableMemory as the destination for the sketch. This WritableMemory is usually configured + for off-heap memory. What remains on the java heap is a thin wrapper object that reads and + writes to the given WritableMemory. + +

      The given dstMem is checked for the required capacity as determined by + getMaxUpdatableSerializationBytes(int, TgtHllType).

      +
      +
      Parameters:
      +
      lgConfigK - The Log2 of K for the target HLL sketch. This value must be + between 4 and 21 inclusively.
      +
      tgtHllType - the desired HLL type.
      +
      dstMem - the destination memory for the sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static final HllSketch heapify(byte[] byteArray)
      +
      Heapify the given byte array, which must be a valid HllSketch image and may have data.
      +
      +
      Parameters:
      +
      byteArray - the given byte array. This byteArray is not modified and is not retained + by the on-heap sketch.
      +
      Returns:
      +
      an HllSketch on the java heap.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static final HllSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify the given Memory, which must be a valid HllSketch image and may have data.
      +
      +
      Parameters:
      +
      srcMem - the given Memory, which is read-only.
      +
      Returns:
      +
      an HllSketch on the java heap.
      +
      +
      +
    • +
    • +
      +

      writableWrap

      +
      public static final HllSketch writableWrap(org.apache.datasketches.memory.WritableMemory srcWmem)
      +
      Wraps the given WritableMemory, which must be a image of a valid updatable sketch, + and may have data. What remains on the java heap is a + thin wrapper object that reads and writes to the given WritableMemory, which, depending on + how the user configures the WritableMemory, may actually reside on the Java heap or off-heap. + +

      The given dstMem is checked for the required capacity as determined by + getMaxUpdatableSerializationBytes(int, TgtHllType).

      +
      +
      Parameters:
      +
      srcWmem - an writable image of a valid source sketch with data.
      +
      Returns:
      +
      an HllSketch where the sketch data is in the given dstMem.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static final HllSketch wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wraps the given read-only Memory that must be a image of a valid sketch, + which may be in compact or updatable form, and should have data. Any attempt to update the + given source Memory will throw an exception.
      +
      +
      Parameters:
      +
      srcMem - a read-only image of a valid source sketch.
      +
      Returns:
      +
      an HllSketch, where the read-only data of the sketch is in the given srcMem.
      +
      +
      +
    • +
    • +
      +

      copy

      +
      public HllSketch copy()
      +
      Return a copy of this sketch onto the Java heap.
      +
      +
      Returns:
      +
      a copy of this sketch onto the Java heap.
      +
      +
      +
    • +
    • +
      +

      copyAs

      +
      public HllSketch copyAs(TgtHllType tgtHllType)
      +
      Return a deep copy of this sketch onto the Java heap with the specified TgtHllType.
      +
      +
      Parameters:
      +
      tgtHllType - the TgtHllType enum
      +
      Returns:
      +
      a deep copy of this sketch with the specified TgtHllType.
      +
      +
      +
    • +
    • +
      +

      getCompositeEstimate

      +
      public double getCompositeEstimate()
      +
      This is less accurate than the getEstimate() method and is automatically used + when the sketch has gone through union operations where the more accurate HIP estimator + cannot be used. + This is made public only for error characterization software that exists in separate + packages and is not intended for normal use.
      +
      +
      Returns:
      +
      the composite estimate
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      Return the cardinality estimate
      +
      +
      Returns:
      +
      the cardinality estimate
      +
      +
      +
    • +
    • +
      +

      getLgConfigK

      +
      public int getLgConfigK()
      +
      Gets the lgConfigK.
      +
      +
      Returns:
      +
      the lgConfigK.
      +
      +
      +
    • +
    • +
      +

      getCompactSerializationBytes

      +
      public int getCompactSerializationBytes()
      +
      Gets the size in bytes of the current sketch when serialized using + toCompactByteArray().
      +
      +
      Returns:
      +
      the size in bytes of the current sketch when serialized using + toCompactByteArray().
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int numStdDev)
      +
      Gets the approximate lower error bound given the specified number of Standard Deviations.
      +
      +
      Parameters:
      +
      numStdDev - This must be an integer between 1 and 3, inclusive. + See Number of Standard Deviations
      +
      Returns:
      +
      the lower bound.
      +
      +
      +
    • +
    • +
      +

      getMaxUpdatableSerializationBytes

      +
      public static final int getMaxUpdatableSerializationBytes(int lgConfigK, + TgtHllType tgtHllType)
      +
      Returns the maximum size in bytes that this sketch can grow to given lgConfigK. + However, for the HLL_4 sketch type, this value can be exceeded in extremely rare cases. + If exceeded, it will be larger by only a few percent.
      +
      +
      Parameters:
      +
      lgConfigK - The Log2 of K for the target HLL sketch. This value must be + between 4 and 21 inclusively.
      +
      tgtHllType - the desired Hll type
      +
      Returns:
      +
      the maximum size in bytes that this sketch can grow to.
      +
      +
      +
    • +
    • +
      +

      getTgtHllType

      +
      public TgtHllType getTgtHllType()
      +
      Gets the TgtHllType
      +
      +
      Returns:
      +
      the TgtHllType enum value
      +
      +
      +
    • +
    • +
      +

      getUpdatableSerializationBytes

      +
      public int getUpdatableSerializationBytes()
      +
      Gets the size in bytes of the current sketch when serialized using + toUpdatableByteArray().
      +
      +
      Returns:
      +
      the size in bytes of the current sketch when serialized using + toUpdatableByteArray().
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int numStdDev)
      +
      Gets the approximate upper error bound given the specified number of Standard Deviations.
      +
      +
      Parameters:
      +
      numStdDev - This must be an integer between 1 and 3, inclusive. + Number of Standard Deviations
      +
      Returns:
      +
      the upper bound.
      +
      +
      +
    • +
    • +
      +

      isCompact

      +
      public boolean isCompact()
      +
      Returns true if the backing memory of this sketch is in compact form.
      +
      +
      Returns:
      +
      true if the backing memory of this sketch is in compact form.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Returns true if empty
      +
      +
      Returns:
      +
      true if empty
      +
      +
      +
    • +
    • +
      +

      isMemory

      +
      public boolean isMemory()
      +
      Returns true if this sketch was created using Memory.
      +
      +
      Returns:
      +
      true if this sketch was created using Memory.
      +
      +
      +
    • +
    • +
      +

      isOffHeap

      +
      public boolean isOffHeap()
      +
      Returns true if the backing memory for this sketch is off-heap.
      +
      +
      Returns:
      +
      true if the backing memory for this sketch is off-heap.
      +
      +
      +
    • +
    • +
      +

      isSameResource

      +
      public boolean isSameResource(org.apache.datasketches.memory.Memory mem)
      +
      Returns true if the given Memory refers to the same underlying resource as this sketch. + The capacities must be the same. If this is a region, + the region offset must also be the same. + +

      This is only relevant for HLL_4 sketches that have been configured for off-heap + using WritableMemory or Memory. For on-heap sketches or unions this will return false. + +

      It is rare, but possible, the the off-heap memory that has been allocated to an HLL_4 + sketch may not be large enough. If this should happen, the sketch makes a request for more + memory from the owner of the resource and then moves itself to this new location. This all + happens transparently to the user. This method provides a means for the user to + inquire of the sketch if it has, in fact, moved itself.

      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      true if the given Memory refers to the same underlying resource as this sketch or + union.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets to empty, but does not change the configured values of lgConfigK and tgtHllType.
      +
      +
    • +
    • +
      +

      toCompactByteArray

      +
      public byte[] toCompactByteArray()
      +
      Serializes this sketch as a byte array in compact form. The compact form is smaller in size + than the updatable form and read-only. It can be used in union operations as follows: +
      
      +     Union union; HllSketch sk, sk2;
      +     int lgK = 12;
      +     sk = new HllSketch(lgK, TgtHllType.HLL_4); //can be 4, 6, or 8
      +     for (int i = 0; i < (2 << lgK); i++) { sk.update(i); }
      +     byte[] arr = HllSketch.toCompactByteArray();
      +     //...
      +     union = Union.heapify(arr); //initializes the union using data from the array.
      +     //OR, if used in an off-heap environment:
      +     union = Union.heapify(Memory.wrap(arr)); //same as above, except from Memory object.
      +
      +     //To recover an updatable heap sketch:
      +     sk2 = HllSketch.heapify(arr);
      +     //OR, if used in an off-heap environment:
      +     sk2 = HllSketch.heapify(Memory.wrap(arr));
      + 
      + +

      The sketch "wrapping" operation skips actual deserialization thus is quite fast. However, + any attempt to update the derived HllSketch will result in a Read-only exception.

      + +

      Note that in some cases, based on the state of the sketch, the compact form is + indistiguishable from the updatable form. In these cases the updatable form is returned + and the compact flag bit will not be set.

      +
      +
      Returns:
      +
      this sketch as a compact byte array.
      +
      +
      +
    • +
    • +
      +

      toUpdatableByteArray

      +
      public byte[] toUpdatableByteArray()
      +
      Serializes this sketch as a byte array in an updatable form. The updatable form is larger than + the compact form. The use of this form is primarily in environments that support updating + sketches in off-heap memory. If the sketch is constructed using HLL_8, sketch updating and + union updating operations can actually occur in WritableMemory, which can be off-heap: +
      
      +     Union union; HllSketch sk;
      +     int lgK = 12;
      +     sk = new HllSketch(lgK, TgtHllType.HLL_8) //must be 8
      +     for (int i = 0; i < (2 << lgK); i++) { sk.update(i); }
      +     byte[] arr = sk.toUpdatableByteArray();
      +     WritableMemory wmem = WritableMemory.wrap(arr);
      +     //...
      +     union = Union.writableWrap(wmem); //no deserialization!
      + 
      +
      +
      Returns:
      +
      this sketch as an updatable byte array.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean summary, + boolean detail, + boolean auxDetail, + boolean all)
      +
      Human readable summary with optional detail
      +
      +
      Parameters:
      +
      summary - if true, output the sketch summary
      +
      detail - if true, output the internal data array
      +
      auxDetail - if true, output the internal Aux array, if it exists.
      +
      all - if true, outputs all entries including empty ones
      +
      Returns:
      +
      human readable string with optional detail.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of an HllSketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of an HllSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of an HllSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory object
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of an HllSketch.
      +
      +
      +
    • +
    • +
      +

      getSerializationVersion

      +
      public static final int getSerializationVersion()
      +
      Returns the current serialization version.
      +
      +
      Returns:
      +
      the current serialization version.
      +
      +
      +
    • +
    • +
      +

      getSerializationVersion

      +
      public static final int getSerializationVersion(org.apache.datasketches.memory.Memory mem)
      +
      Returns the current serialization version of the given Memory.
      +
      +
      Parameters:
      +
      mem - the given Memory containing a serialized HllSketch image.
      +
      Returns:
      +
      the current serialization version.
      +
      +
      +
    • +
    • +
      +

      getRelErr

      +
      public static double getRelErr(boolean upperBound, + boolean oooFlag, + int lgConfigK, + int numStdDev)
      +
      Gets the current (approximate) Relative Error (RE) asymptotic values given several + parameters. This is used primarily for testing.
      +
      +
      Parameters:
      +
      upperBound - return the RE for the Upper Bound, otherwise for the Lower Bound.
      +
      oooFlag - set true if the sketch is the result of a non qualifying union operation.
      +
      lgConfigK - the configured value for the sketch.
      +
      numStdDev - the given number of Standard Deviations. This must be an integer between + 1 and 3, inclusive. + Number of Standard Deviations
      +
      Returns:
      +
      the current (approximate) RelativeError
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      This HLL family of sketches and operators is always estimating, even for very small values.
      +
      +
      Returns:
      +
      true
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Human readable summary as a string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      Human readable summary as a string.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean summary, + boolean detail, + boolean auxDetail)
      +
      Human readable summary with optional detail. Does not list empty entries.
      +
      +
      Parameters:
      +
      summary - if true, output the sketch summary
      +
      detail - if true, output the internal data array
      +
      auxDetail - if true, output the internal Aux array, if it exists.
      +
      Returns:
      +
      human readable string with optional detail.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long datum)
      +
      Present the given long as a potential unique item.
      +
      +
      Parameters:
      +
      datum - The given long datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double datum)
      +
      Present the given double (or float) datum as a potential unique item. + The double will be converted to a long using Double.doubleToLongBits(datum), + which normalizes all NaN values to a single NaN representation. + Plus and minus zero will be normalized to plus zero. + The special floating-point values NaN and +/- Infinity are treated as distinct.
      +
      +
      Parameters:
      +
      datum - The given double datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String datum)
      +
      Present the given String as a potential unique item. + The string is converted to a byte array using UTF8 encoding. + If the string is null or empty no update attempt is made and the method returns. + +

      Note: About 2X faster performance can be obtained by first converting the String to a + char[] and updating the sketch with that. This bypasses the complexity of the Java UTF_8 + encoding. This, of course, will not produce the same internal hash values as updating directly + with a String. So be consistent! Unioning two sketches, one fed with strings and the other + fed with char[] will be meaningless. +

      +
      +
      Parameters:
      +
      datum - The given String.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ByteBuffer data)
      +
      Present the given byte buffer as a potential unique item. + Bytes are read from the current position of the buffer until its limit. + If the byte buffer is null or has no bytes remaining, no update attempt is made and the method returns. + +

      This method will not modify the position, mark, limit, or byte order of the buffer.

      + +

      Little-endian order is preferred, but not required. This method may perform better if the provided byte + buffer is in little-endian order.

      +
      +
      Parameters:
      +
      data - The given byte buffer.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(byte[] data)
      +
      Present the given byte array as a potential unique item. + If the byte array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given byte array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(char[] data)
      +
      Present the given char array as a potential unique item. + If the char array is null or empty no update attempt is made and the method returns. + +

      Note: this will not produce the same output hash values as the update(String) + method but will be a little faster as it avoids the complexity of the UTF8 encoding.

      +
      +
      Parameters:
      +
      data - The given char array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(int[] data)
      +
      Present the given integer array as a potential unique item. + If the integer array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given int array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long[] data)
      +
      Present the given long array as a potential unique item. + If the long array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given long array.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/TgtHllType.html b/docs/621/merge/org/apache/datasketches/hll/TgtHllType.html new file mode 100644 index 000000000..fc99c0c14 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/TgtHllType.html @@ -0,0 +1,289 @@ + + + + +TgtHllType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class TgtHllType

+
+
java.lang.Object +
java.lang.Enum<TgtHllType> +
org.apache.datasketches.hll.TgtHllType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<TgtHllType>, Constable
+
+
+
public enum TgtHllType +extends Enum<TgtHllType>
+
Specifies the target type of HLL sketch to be created. It is a target in that the actual + allocation of the HLL array is deferred until sufficient number of items have been received by + the warm-up phases. + +

These three target types are isomorphic representations of the same underlying HLL algorithm. + Thus, given the same value of lgConfigK and the same input, all three HLL target types + will produce identical estimates and have identical error distributions.

+ +

The memory (and also the serialization) of the sketch during this early warmup phase starts + out very small (8 bytes, when empty) and then grows in increments of 4 bytes as required + until the full HLL array is allocated. This transition point occurs at about 10% of K for + sketches where lgConfigK is > 8.

+ +
    +
  • HLL 8 This uses an 8-bit byte per HLL bucket. It is generally the + fastest in terms of update time, but has the largest storage footprint of about + K bytes.
  • + +
  • HLL 6 This uses a 6-bit field per HLL bucket. It is the generally the next fastest + in terms of update time with a storage footprint of about 3/4 * K bytes.
  • + +
  • HLL 4 This uses a 4-bit field per HLL bucket and for large counts may require + the use of a small internal auxiliary array for storing statistical exceptions, which are rare. + For the values of lgConfigK > 13 (K = 8192), + this additional array adds about 3% to the overall storage. It is generally the slowest in + terms of update time, but has the smallest storage footprint of about + K/2 * 1.03 bytes.
  • +
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      HLL_4

      +
      public static final TgtHllType HLL_4
      +
      An HLL sketch with a bin size of 4 bits
      +
      +
    • +
    • +
      +

      HLL_6

      +
      public static final TgtHllType HLL_6
      +
      An HLL sketch with a bin size of 6 bits
      +
      +
    • +
    • +
      +

      HLL_8

      +
      public static final TgtHllType HLL_8
      +
      An Hll Sketch with a bin size of 8 bits
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static TgtHllType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static TgtHllType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      fromOrdinal

      +
      public static final TgtHllType fromOrdinal(int typeId)
      +
      Convert the typeId to the enum type
      +
      +
      Parameters:
      +
      typeId - the given typeId
      +
      Returns:
      +
      the enum type
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/Union.html b/docs/621/merge/org/apache/datasketches/hll/Union.html new file mode 100644 index 000000000..704de216a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/Union.html @@ -0,0 +1,972 @@ + + + + +Union (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Union

+
+
java.lang.Object +
org.apache.datasketches.hll.Union
+
+
+
+
public class Union +extends Object
+
This performs union operations for all HllSketches. This union operator can be configured to be + on or off heap. The source sketch given to this union using the update(HllSketch) can + be configured with any precision value lgConfigK (from 4 to 21), any TgtHllType + (HLL_4, HLL_6, HLL_8), and either on or off-heap; and it can be in either of the sparse modes + (LIST or SET), or the dense mode (HLL). + +

Although the API for this union operator parallels many of the methods of the + HllSketch, the behavior of the union operator has some fundamental differences.

+ +

First, this union operator is configured with a lgMaxK instead of the normal + lgConfigK. Generally, this union operator will inherit the lowest lgConfigK + less than lgMaxK that it has seen. However, the lgConfigK of incoming sketches that + are still in sparse are ignored. The lgMaxK provides the user the ability to specify the + largest maximum size for the union operation. + +

Second, the user cannot specify the TgtHllType as an input parameter to the union. + Instead, it is specified for the sketch returned with getResult(TgtHllType). + +

The following graph illustrates the HLL Merge speed.

+ +

HLL LgK12 Union Speed

+ This graph illustrates the relative merging speed of the HLL 4,6,8 Java HLL sketches compared to + the DataSketches C++ implementations of the same sketches. With this particular test (merging 32 relative large + sketches together), the Java HLL 8 is the fastest and the Java HLL 4 the slowest, with a mixed cluster in the middle. + Union / Merging speed is somewhat difficult to measure as the performance is very dependent on the mix of sketch + sizes (and types) you are merging. So your mileage will vary! + +

For a complete example of using the Union operator + see Union Example.

+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Construct this Union operator with the default maximum log-base-2 of K.
    +
    +
    Union(int lgMaxK)
    +
    +
    Construct this Union operator with a given maximum log-base-2 of K.
    +
    +
    Union(int lgMaxK, + org.apache.datasketches.memory.WritableMemory dstWmem)
    +
    +
    Construct this Union operator with a given maximum log-base-2 of K and the given + WritableMemory as the destination for this Union.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Gets the size in bytes of the current sketch when serialized using + toCompactByteArray().
    +
    +
    double
    + +
    +
    This is less accurate than the getEstimate() method and is automatically used + when the sketch has gone through union operations where the more accurate HIP estimator + cannot be used.
    +
    +
    double
    + +
    +
    Return the cardinality estimate
    +
    +
    int
    + +
    +
    Gets the effective lgConfigK for the union operator, which may be less than + lgMaxK.
    +
    +
    double
    +
    getLowerBound(int numStdDev)
    +
    +
    Gets the approximate lower error bound given the specified number of Standard Deviations.
    +
    +
    static int
    + +
    +
    Returns the maximum size in bytes that this union operator can grow to given a lgK.
    +
    +
    static double
    +
    getRelErr(boolean upperBound, + boolean oooFlag, + int lgConfigK, + int numStdDev)
    +
    +
    Gets the current (approximate) Relative Error (RE) asymptotic values given several + parameters.
    +
    + + +
    +
    Return the result of this union operator as an HLL_4 sketch.
    +
    + +
    getResult(TgtHllType tgtHllType)
    +
    +
    Return the result of this union operator with the specified TgtHllType
    +
    +
    static final int
    + +
    +
    Returns the current serialization version.
    +
    +
    static final int
    +
    getSerializationVersion(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns the current serialization version of the given Memory.
    +
    + + +
    +
    Gets the TgtHllType
    +
    +
    int
    + +
    +
    Gets the size in bytes of the current sketch when serialized using + toUpdatableByteArray().
    +
    +
    double
    +
    getUpperBound(int numStdDev)
    +
    +
    Gets the approximate upper error bound given the specified number of Standard Deviations.
    +
    +
    static final Union
    +
    heapify(byte[] byteArray)
    +
    +
    Construct a union operator populated with the given byte array image of an HllSketch.
    +
    +
    static final Union
    +
    heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Construct a union operator populated with the given Memory image of an HllSketch.
    +
    +
    boolean
    + +
    +
    Returns true if the backing memory of this sketch is in compact form.
    +
    +
    boolean
    + +
    +
    Returns true if empty
    +
    +
    boolean
    + +
    +
    This HLL family of sketches and operators is always estimating, even for very small values.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch was created using Memory.
    +
    +
    boolean
    + +
    +
    Returns true if the backing memory for this sketch is off-heap.
    +
    +
    boolean
    +
    isSameResource(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns true if the given Memory refers to the same underlying resource as this sketch.
    +
    +
    void
    + +
    +
    Resets to empty and retains the current lgK, but does not change the configured value of + lgMaxK.
    +
    +
    byte[]
    + +
    +
    Gets the serialization of this union operator as a byte array in compact form, which is + designed to be heapified only.
    +
    + + +
    +
    Human readable summary as a string.
    +
    + +
    toString(boolean summary, + boolean detail, + boolean auxDetail)
    +
    +
    Human readable summary with optional detail.
    +
    + +
    toString(boolean summary, + boolean hllDetail, + boolean auxDetail, + boolean all)
    +
    +
    Human readable summary with optional detail
    +
    +
    byte[]
    + +
    +
    Serializes this sketch as a byte array in an updatable form.
    +
    +
    void
    +
    update(byte[] data)
    +
    +
    Present the given byte array as a potential unique item.
    +
    +
    void
    +
    update(char[] data)
    +
    +
    Present the given char array as a potential unique item.
    +
    +
    void
    +
    update(double datum)
    +
    +
    Present the given double (or float) datum as a potential unique item.
    +
    +
    void
    +
    update(int[] data)
    +
    +
    Present the given integer array as a potential unique item.
    +
    +
    void
    +
    update(long datum)
    +
    +
    Present the given long as a potential unique item.
    +
    +
    void
    +
    update(long[] data)
    +
    +
    Present the given long array as a potential unique item.
    +
    +
    void
    +
    update(String datum)
    +
    +
    Present the given String as a potential unique item.
    +
    +
    void
    + +
    +
    Present the given byte buffer as a potential unique item.
    +
    +
    void
    +
    update(HllSketch sketch)
    +
    +
    Update this union operator with the given sketch.
    +
    +
    static final Union
    +
    writableWrap(org.apache.datasketches.memory.WritableMemory srcWmem)
    +
    +
    Wraps the given WritableMemory, which must be a image of a valid updatable HLL_8 sketch, + and may have data.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Union

      +
      public Union()
      +
      Construct this Union operator with the default maximum log-base-2 of K.
      +
      +
    • +
    • +
      +

      Union

      +
      public Union(int lgMaxK)
      +
      Construct this Union operator with a given maximum log-base-2 of K.
      +
      +
      Parameters:
      +
      lgMaxK - the desired maximum log-base-2 of K. This value must be + between 4 and 21 inclusively.
      +
      +
      +
    • +
    • +
      +

      Union

      +
      public Union(int lgMaxK, + org.apache.datasketches.memory.WritableMemory dstWmem)
      +
      Construct this Union operator with a given maximum log-base-2 of K and the given + WritableMemory as the destination for this Union. This WritableMemory is usually configured + for off-heap memory. What remains on the java heap is a thin wrapper object that reads and + writes to the given WritableMemory. + +

      The given dstMem is checked for the required capacity as determined by + HllSketch.getMaxUpdatableSerializationBytes(int, TgtHllType).

      +
      +
      Parameters:
      +
      lgMaxK - the desired maximum log-base-2 of K. This value must be + between 4 and 21 inclusively.
      +
      dstWmem - the destination writable memory for the sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static final Union heapify(byte[] byteArray)
      +
      Construct a union operator populated with the given byte array image of an HllSketch.
      +
      +
      Parameters:
      +
      byteArray - the given byte array
      +
      Returns:
      +
      a union operator populated with the given byte array image of an HllSketch.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static final Union heapify(org.apache.datasketches.memory.Memory mem)
      +
      Construct a union operator populated with the given Memory image of an HllSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      a union operator populated with the given Memory image of an HllSketch.
      +
      +
      +
    • +
    • +
      +

      writableWrap

      +
      public static final Union writableWrap(org.apache.datasketches.memory.WritableMemory srcWmem)
      +
      Wraps the given WritableMemory, which must be a image of a valid updatable HLL_8 sketch, + and may have data. What remains on the java heap is a + thin wrapper object that reads and writes to the given WritableMemory, which, depending on + how the user configures the WritableMemory, may actually reside on the Java heap or off-heap. + +

      The given dstMem is checked for the required capacity as determined by + HllSketch.getMaxUpdatableSerializationBytes(int, TgtHllType), and for the correct type.

      +
      +
      Parameters:
      +
      srcWmem - an writable image of a valid sketch with data.
      +
      Returns:
      +
      a Union operator where the sketch data is in the given dstMem.
      +
      +
      +
    • +
    • +
      +

      getCompositeEstimate

      +
      public double getCompositeEstimate()
      +
      This is less accurate than the getEstimate() method and is automatically used + when the sketch has gone through union operations where the more accurate HIP estimator + cannot be used. + This is made public only for error characterization software that exists in separate + packages and is not intended for normal use.
      +
      +
      Returns:
      +
      the composite estimate
      +
      +
      +
    • +
    • +
      +

      getCompactSerializationBytes

      +
      public int getCompactSerializationBytes()
      +
      Gets the size in bytes of the current sketch when serialized using + toCompactByteArray().
      +
      +
      Returns:
      +
      the size in bytes of the current sketch when serialized using + toCompactByteArray().
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      Return the cardinality estimate
      +
      +
      Returns:
      +
      the cardinality estimate
      +
      +
      +
    • +
    • +
      +

      getLgConfigK

      +
      public int getLgConfigK()
      +
      Gets the effective lgConfigK for the union operator, which may be less than + lgMaxK.
      +
      +
      Returns:
      +
      the lgConfigK.
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int numStdDev)
      +
      Gets the approximate lower error bound given the specified number of Standard Deviations.
      +
      +
      Parameters:
      +
      numStdDev - This must be an integer between 1 and 3, inclusive. + See Number of Standard Deviations
      +
      Returns:
      +
      the lower bound.
      +
      +
      +
    • +
    • +
      +

      getMaxSerializationBytes

      +
      public static int getMaxSerializationBytes(int lgK)
      +
      Returns the maximum size in bytes that this union operator can grow to given a lgK.
      +
      +
      Parameters:
      +
      lgK - The maximum Log2 of K for this union operator. This value must be + between 4 and 21 inclusively.
      +
      Returns:
      +
      the maximum size in bytes that this union operator can grow to.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public HllSketch getResult()
      +
      Return the result of this union operator as an HLL_4 sketch.
      +
      +
      Returns:
      +
      the result of this union operator as an HLL_4 sketch.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public HllSketch getResult(TgtHllType tgtHllType)
      +
      Return the result of this union operator with the specified TgtHllType
      +
      +
      Parameters:
      +
      tgtHllType - the TgtHllType enum
      +
      Returns:
      +
      the result of this union operator with the specified TgtHllType
      +
      +
      +
    • +
    • +
      +

      getTgtHllType

      +
      public TgtHllType getTgtHllType()
      +
      Gets the TgtHllType
      +
      +
      Returns:
      +
      the TgtHllType enum value
      +
      +
      +
    • +
    • +
      +

      getUpdatableSerializationBytes

      +
      public int getUpdatableSerializationBytes()
      +
      Gets the size in bytes of the current sketch when serialized using + toUpdatableByteArray().
      +
      +
      Returns:
      +
      the size in bytes of the current sketch when serialized using + toUpdatableByteArray().
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int numStdDev)
      +
      Gets the approximate upper error bound given the specified number of Standard Deviations.
      +
      +
      Parameters:
      +
      numStdDev - This must be an integer between 1 and 3, inclusive. + Number of Standard Deviations
      +
      Returns:
      +
      the upper bound.
      +
      +
      +
    • +
    • +
      +

      isCompact

      +
      public boolean isCompact()
      +
      Returns true if the backing memory of this sketch is in compact form.
      +
      +
      Returns:
      +
      true if the backing memory of this sketch is in compact form.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Returns true if empty
      +
      +
      Returns:
      +
      true if empty
      +
      +
      +
    • +
    • +
      +

      isMemory

      +
      public boolean isMemory()
      +
      Returns true if this sketch was created using Memory.
      +
      +
      Returns:
      +
      true if this sketch was created using Memory.
      +
      +
      +
    • +
    • +
      +

      isOffHeap

      +
      public boolean isOffHeap()
      +
      Returns true if the backing memory for this sketch is off-heap.
      +
      +
      Returns:
      +
      true if the backing memory for this sketch is off-heap.
      +
      +
      +
    • +
    • +
      +

      isSameResource

      +
      public boolean isSameResource(org.apache.datasketches.memory.Memory mem)
      +
      Returns true if the given Memory refers to the same underlying resource as this sketch. + The capacities must be the same. If this is a region, + the region offset must also be the same. + +

      This is only relevant for HLL_4 sketches that have been configured for off-heap + using WritableMemory or Memory. For on-heap sketches or unions this will return false. + +

      It is rare, but possible, the the off-heap memory that has been allocated to an HLL_4 + sketch may not be large enough. If this should happen, the sketch makes a request for more + memory from the owner of the resource and then moves itself to this new location. This all + happens transparently to the user. This method provides a means for the user to + inquire of the sketch if it has, in fact, moved itself.

      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      true if the given Memory refers to the same underlying resource as this sketch or + union.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets to empty and retains the current lgK, but does not change the configured value of + lgMaxK.
      +
      +
    • +
    • +
      +

      toCompactByteArray

      +
      public byte[] toCompactByteArray()
      +
      Gets the serialization of this union operator as a byte array in compact form, which is + designed to be heapified only. It is not directly updatable. + For the Union operator, this is the serialization of the internal state of + the union operator as a sketch.
      +
      +
      Returns:
      +
      the serialization of this union operator as a byte array.
      +
      +
      +
    • +
    • +
      +

      toUpdatableByteArray

      +
      public byte[] toUpdatableByteArray()
      +
      Serializes this sketch as a byte array in an updatable form. The updatable form is larger than + the compact form. The use of this form is primarily in environments that support updating + sketches in off-heap memory. If the sketch is constructed using HLL_8, sketch updating and + union updating operations can actually occur in WritableMemory, which can be off-heap: +
      
      +     Union union; HllSketch sk;
      +     int lgK = 12;
      +     sk = new HllSketch(lgK, TgtHllType.HLL_8) //must be 8
      +     for (int i = 0; i < (2 << lgK); i++) { sk.update(i); }
      +     byte[] arr = sk.toUpdatableByteArray();
      +     WritableMemory wmem = WritableMemory.wrap(arr);
      +     //...
      +     union = Union.writableWrap(wmem); //no deserialization!
      + 
      +
      +
      Returns:
      +
      this sketch as an updatable byte array.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean summary, + boolean hllDetail, + boolean auxDetail, + boolean all)
      +
      Human readable summary with optional detail
      +
      +
      Parameters:
      +
      summary - if true, output the sketch summary
      +
      hllDetail - if true, output the internal data array
      +
      auxDetail - if true, output the internal Aux array, if it exists.
      +
      all - if true, outputs all entries including empty ones
      +
      Returns:
      +
      human readable string with optional detail.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(HllSketch sketch)
      +
      Update this union operator with the given sketch.
      +
      +
      Parameters:
      +
      sketch - the given sketch.
      +
      +
      +
    • +
    • +
      +

      getSerializationVersion

      +
      public static final int getSerializationVersion()
      +
      Returns the current serialization version.
      +
      +
      Returns:
      +
      the current serialization version.
      +
      +
      +
    • +
    • +
      +

      getSerializationVersion

      +
      public static final int getSerializationVersion(org.apache.datasketches.memory.Memory mem)
      +
      Returns the current serialization version of the given Memory.
      +
      +
      Parameters:
      +
      mem - the given Memory containing a serialized HllSketch image.
      +
      Returns:
      +
      the current serialization version.
      +
      +
      +
    • +
    • +
      +

      getRelErr

      +
      public static double getRelErr(boolean upperBound, + boolean oooFlag, + int lgConfigK, + int numStdDev)
      +
      Gets the current (approximate) Relative Error (RE) asymptotic values given several + parameters. This is used primarily for testing.
      +
      +
      Parameters:
      +
      upperBound - return the RE for the Upper Bound, otherwise for the Lower Bound.
      +
      oooFlag - set true if the sketch is the result of a non qualifying union operation.
      +
      lgConfigK - the configured value for the sketch.
      +
      numStdDev - the given number of Standard Deviations. This must be an integer between + 1 and 3, inclusive. + Number of Standard Deviations
      +
      Returns:
      +
      the current (approximate) RelativeError
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      This HLL family of sketches and operators is always estimating, even for very small values.
      +
      +
      Returns:
      +
      true
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Human readable summary as a string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      Human readable summary as a string.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean summary, + boolean detail, + boolean auxDetail)
      +
      Human readable summary with optional detail. Does not list empty entries.
      +
      +
      Parameters:
      +
      summary - if true, output the sketch summary
      +
      detail - if true, output the internal data array
      +
      auxDetail - if true, output the internal Aux array, if it exists.
      +
      Returns:
      +
      human readable string with optional detail.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long datum)
      +
      Present the given long as a potential unique item.
      +
      +
      Parameters:
      +
      datum - The given long datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double datum)
      +
      Present the given double (or float) datum as a potential unique item. + The double will be converted to a long using Double.doubleToLongBits(datum), + which normalizes all NaN values to a single NaN representation. + Plus and minus zero will be normalized to plus zero. + The special floating-point values NaN and +/- Infinity are treated as distinct.
      +
      +
      Parameters:
      +
      datum - The given double datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String datum)
      +
      Present the given String as a potential unique item. + The string is converted to a byte array using UTF8 encoding. + If the string is null or empty no update attempt is made and the method returns. + +

      Note: About 2X faster performance can be obtained by first converting the String to a + char[] and updating the sketch with that. This bypasses the complexity of the Java UTF_8 + encoding. This, of course, will not produce the same internal hash values as updating directly + with a String. So be consistent! Unioning two sketches, one fed with strings and the other + fed with char[] will be meaningless. +

      +
      +
      Parameters:
      +
      datum - The given String.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ByteBuffer data)
      +
      Present the given byte buffer as a potential unique item. + Bytes are read from the current position of the buffer until its limit. + If the byte buffer is null or has no bytes remaining, no update attempt is made and the method returns. + +

      This method will not modify the position, mark, limit, or byte order of the buffer.

      + +

      Little-endian order is preferred, but not required. This method may perform better if the provided byte + buffer is in little-endian order.

      +
      +
      Parameters:
      +
      data - The given byte buffer.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(byte[] data)
      +
      Present the given byte array as a potential unique item. + If the byte array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given byte array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(char[] data)
      +
      Present the given char array as a potential unique item. + If the char array is null or empty no update attempt is made and the method returns. + +

      Note: this will not produce the same output hash values as the update(String) + method but will be a little faster as it avoids the complexity of the UTF8 encoding.

      +
      +
      Parameters:
      +
      data - The given char array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(int[] data)
      +
      Present the given integer array as a potential unique item. + If the integer array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given int array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long[] data)
      +
      Present the given long array as a potential unique item. + If the long array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given long array.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/class-use/HllSketch.html b/docs/621/merge/org/apache/datasketches/hll/class-use/HllSketch.html new file mode 100644 index 000000000..e2053f607 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/class-use/HllSketch.html @@ -0,0 +1,139 @@ + + + + +Uses of Class org.apache.datasketches.hll.HllSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.hll.HllSketch

+
+
Packages that use HllSketch
+
+
Package
+
Description
+ +
+
The DataSketches™ HLL sketch family package
+
+
+
+
    +
  • +
    +

    Uses of HllSketch in org.apache.datasketches.hll

    +
    Methods in org.apache.datasketches.hll that return HllSketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    HllSketch.copy()
    +
    +
    Return a copy of this sketch onto the Java heap.
    +
    + +
    HllSketch.copyAs(TgtHllType tgtHllType)
    +
    +
    Return a deep copy of this sketch onto the Java heap with the specified TgtHllType.
    +
    + +
    Union.getResult()
    +
    +
    Return the result of this union operator as an HLL_4 sketch.
    +
    + +
    Union.getResult(TgtHllType tgtHllType)
    +
    +
    Return the result of this union operator with the specified TgtHllType
    +
    +
    static final HllSketch
    +
    HllSketch.heapify(byte[] byteArray)
    +
    +
    Heapify the given byte array, which must be a valid HllSketch image and may have data.
    +
    +
    static final HllSketch
    +
    HllSketch.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify the given Memory, which must be a valid HllSketch image and may have data.
    +
    +
    static final HllSketch
    +
    HllSketch.wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wraps the given read-only Memory that must be a image of a valid sketch, + which may be in compact or updatable form, and should have data.
    +
    +
    static final HllSketch
    +
    HllSketch.writableWrap(org.apache.datasketches.memory.WritableMemory srcWmem)
    +
    +
    Wraps the given WritableMemory, which must be a image of a valid updatable sketch, + and may have data.
    +
    +
    +
    Methods in org.apache.datasketches.hll with parameters of type HllSketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    Union.update(HllSketch sketch)
    +
    +
    Update this union operator with the given sketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/class-use/TgtHllType.html b/docs/621/merge/org/apache/datasketches/hll/class-use/TgtHllType.html new file mode 100644 index 000000000..b4e83e24a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/class-use/TgtHllType.html @@ -0,0 +1,161 @@ + + + + +Uses of Enum Class org.apache.datasketches.hll.TgtHllType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.hll.TgtHllType

+
+
Packages that use TgtHllType
+
+
Package
+
Description
+ +
+
The DataSketches™ HLL sketch family package
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/class-use/Union.html b/docs/621/merge/org/apache/datasketches/hll/class-use/Union.html new file mode 100644 index 000000000..b6ef44843 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/class-use/Union.html @@ -0,0 +1,102 @@ + + + + +Uses of Class org.apache.datasketches.hll.Union (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.hll.Union

+
+
Packages that use Union
+
+
Package
+
Description
+ +
+
The DataSketches™ HLL sketch family package
+
+
+
+
    +
  • +
    +

    Uses of Union in org.apache.datasketches.hll

    +
    Methods in org.apache.datasketches.hll that return Union
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static final Union
    +
    Union.heapify(byte[] byteArray)
    +
    +
    Construct a union operator populated with the given byte array image of an HllSketch.
    +
    +
    static final Union
    +
    Union.heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Construct a union operator populated with the given Memory image of an HllSketch.
    +
    +
    static final Union
    +
    Union.writableWrap(org.apache.datasketches.memory.WritableMemory srcWmem)
    +
    +
    Wraps the given WritableMemory, which must be a image of a valid updatable HLL_8 sketch, + and may have data.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/doc-files/HLL_HIP_K12T20U20.png b/docs/621/merge/org/apache/datasketches/hll/doc-files/HLL_HIP_K12T20U20.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3c8348f330e3e8c988ff0a7dfe4e2285f2a7b2 GIT binary patch literal 155358 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ᠵ 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� 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 V;$8?(t@UOA0#8>zmvv4FO#t=%fJXoT literal 0 HcmV?d00001 diff --git a/docs/621/merge/org/apache/datasketches/hll/doc-files/HLL_UnionTime4_6_8_Java_CPP.png b/docs/621/merge/org/apache/datasketches/hll/doc-files/HLL_UnionTime4_6_8_Java_CPP.png new file mode 100644 index 0000000000000000000000000000000000000000..23225887be64946a16ca56eab5a92fd1f28fd78b GIT binary patch literal 321106 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%0AVDX{W&y{$IZr1QV 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%0DskAV3{8{o#4lcKJM>S>k(G$FnZ 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 Q1Mo*%!$7@4^+Ndn0iIXgng9R* literal 0 HcmV?d00001 diff --git a/docs/621/merge/org/apache/datasketches/hll/package-summary.html b/docs/621/merge/org/apache/datasketches/hll/package-summary.html new file mode 100644 index 000000000..b42c25d03 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/package-summary.html @@ -0,0 +1,262 @@ + + + + +org.apache.datasketches.hll (datasketches-java 7.0.0 API) + + + + + + + + + + + + + +

+ +
+ +
+
+
+

Package org.apache.datasketches.hll

+
+
+
package org.apache.datasketches.hll
+
+

The DataSketches™ HLL sketch family package

+ HllSketch and Union + are the public facing classes of this high performance implementation of Phillipe Flajolet's + HyperLogLog algorithm[1] but with significantly improved error behavior and important features that can be + essential for large production systems that must handle massive data. + +

Key Features of the DataSketches™ HLL Sketch and its companion Union

+ +

Advanced Estimation Algorithms for Optimum Accuracy

+ +

Zero error at low cardinalities

+ The HLL sketch leverages highly compact arrays and hash tables to keep exact counts until the transition to + dense mode is required for space reasons. The result is perfect accuracy for very low cardinalities. + +

Accuracy for very small streams can be important because Big Data is often fragmented into millions of smaller + streams (or segments) that inevitably are power-law distributed in size. If you are sketching all these fragments, + as a general rule, more than 80% of your sketches will be very small, 20% will be much larger, and only a few very + large in cardinality. + +

HIP / Martingale Estimator

+ When obtaining a cardinality estimate, the sketch automatically determines if it was the result of the capture of + a single stream, or if was the result of certain qualifying union operations. If this is the case the sketch will + take advantage of Edith Cohen's Historical Inverse Probability (HIP) estimation algorithm[2], which was + also independently developed by Daniel Ting as the Martingale estimation algorithm[3]. + This will result in a 20% improvement in accuracy over the standard Flajolet estimator. + If it is not a single stream or if the specific union operation did not qualify, + the estimator will default to the Composite Estimator. + +

Composite Estimator

+ This advanced estimator is a blend of several algorithms including new algorithms developed by Kevin Lang for his + Compressed Probabilistic Counting (CPC) sketch[4]. These algorithms provide near optimal estimation accuracy + for cases that don't qualify for HIP / Martingale estimation. + +

As a result of all of this work on accuracy, one will get a very smooth curve of the underlying accuracy of the + sketch once the statistical randomness is removed through multiple trials. This can be observed in the + following graph.

+ +

HLL Accuracy[6]

+ +

The above graph has 7 curves. At y = 0, is the median line that hugs the x-axis so closely that it can't be seen. + The two curves, just above and just below the x-axis, correspond to +/- 1 standard deviation (SD) of error. + The distance between either one of this pair and the x-axis is also known as the Relative Standard Error (RSE). + This type of graph for illustrating sketch error we call a "pitchfork plot".

+ +

The next two curves above and below correspond to +/- 2 SD, and + the top-most and bottom-most curves correspond to +/- 3 SD. + The chart grid lines are set at +/- multiples of Relative Standard Error (RSE) that correspond to +/- 1,2,3 SD. + Below the cardinality of about 512 there is no error at all. This is the point where this particular + sketch transitions from sparse to dense (or estimation) mode.

+ +

Three HLL Types

+ This HLL implementation offers three different types of HLL sketch, each with different + trade-offs with accuracy, space and performance. These types are selected with the + TgtHllType parameter. + +

In terms of accuracy, all three types, for the same lgConfigK, have the same error + distribution as a function of cardinality.

+ +

The configuration parameter lgConfigK is the log-base-2 of K, + where K is the number of buckets or slots for the sketch. lgConfigK impacts both accuracy and + the size of the sketch in memory and when stored.

+ +

HLL 8

+ This uses an 8-bit byte per HLL bucket. It is generally the + fastest in terms of update time but has the largest storage footprint of about K bytes. + +

HLL 6

+ This uses a 6-bit field per HLL bucket. It is the generally the next fastest + in terms of update time with a storage footprint of about 3/4 * K bytes. + +

HLL 4

+ This uses a 4-bit field per HLL bucket and for large counts may require + the use of a small internal auxiliary array for storing statistical exceptions, which are rare. + For the values of lgConfigK > 13 (K = 8192), + this additional array adds about 3% to the overall storage. It is generally the slowest in + terms of update time, but has the smallest storage footprint of about K/2 * 1.03 bytes. + +

Off-Heap Operation

+ This HLL sketch also offers the capability of operating off-heap. Given a WritableMemory[5] object + created by the user, the sketch will perform all of its updates and internal phase transitions + in that object, which can actually reside either on-heap or off-heap based on how it was + configured. In large systems that must update and union many millions of sketches, having the + sketch operate off-heap avoids the serialization and deserialization costs of moving sketches from heap to + off-heap and back, and reduces the need for garbage collection. + +

Merging sketches with different configured lgConfigK

+ This enables a user to union a HLL sketch that was configured with, say, lgConfigK = 12 + with another loaded HLL sketch that was configured with, say, lgConfigK = 14. + +

Why is this important? Suppose you have been building a history of sketches of your customer's + data that go back a full year (or 5 or 10!) that were all configured with lgConfigK = 12. Because sketches + are so much smaller than the raw data it is possible that the raw data was discarded keeping only the sketches. + Even if you have the raw data, it might be very expensive and time consuming to reload and rebuild all your + sketches with a larger more accurate size, say, lgConfigK = 14. + This capability enables you to merge last year's data with this year's data built with larger sketches and still + have meaningful results.

+ +

In other words, you can change your mind about what size sketch you need for your application at any time and + will not lose access to the data contained in your older historical sketches.

+ +

This capability does come with a caveat: The resulting accuracy of the merged sketch will be the accuracy of the + smaller of the two sketches. Without this capability, you would either be stuck with the configuration you first + chose forever, or you would have to rebuild all your sketches from scratch, or worse, not be able to recover your + historical data.

+ +

Multi-language, multi-platform.

+ The binary structures for our sketch serializations are language and platform independent. + This means it is possible to generate an HLL sketch on a C++ Windows platform and it can be used on a + Java or Python Unix platform. + +

[1] Philippe Flajolet, et al, +HyperLogLog: the analysis of a near-optimal cardinality estimation algorithm. + DMTCS proc. AH, 2007, 127-146. + +

[2] Edith Cohen, +All-Distances Sketches, Revisited: HIP Estimators for Massive Graphs Analysis. + PODS'14, June 22-27, Snowbird, UT, USA. + +

[3] Daniel Ting, + +Streamed Approximate Counting of Distinct Elements, Beating Optimal Batch Methods. + KDD'14 August 24, 2014 New York, New York USA. + +

[4] Kevin Lang, + +Back to the Future: an Even More Nearly Optimal Cardinality Estimation Algorithm. + arXiv 1708.06839, August 22, 2017, Yahoo Research. + +

[5] Memory Component, + +DataSketches Memory Component + +

[6] MacBook Pro 2.3 GHz 8-Core Intel Core i9

+
+
Author:
+
Lee Rhodes, Kevin Lang
+
See Also:
+
+ +
+
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    The HllSketch is actually a collection of compact implementations of Phillipe Flajolet’s HyperLogLog (HLL) + sketch but with significantly improved error behavior and excellent speed performance.
    +
    + +
    +
    Specifies the target type of HLL sketch to be created.
    +
    + +
    +
    This performs union operations for all HllSketches.
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/package-tree.html b/docs/621/merge/org/apache/datasketches/hll/package-tree.html new file mode 100644 index 000000000..05082f20c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/package-tree.html @@ -0,0 +1,91 @@ + + + + +org.apache.datasketches.hll Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.hll

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • org.apache.datasketches.hll.HllSketch
    • +
    • org.apache.datasketches.hll.Union
    • +
    +
  • +
+
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hll/package-use.html b/docs/621/merge/org/apache/datasketches/hll/package-use.html new file mode 100644 index 000000000..704035b9e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hll/package-use.html @@ -0,0 +1,97 @@ + + + + +Uses of Package org.apache.datasketches.hll (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.hll

+
+
Packages that use org.apache.datasketches.hll
+
+
Package
+
Description
+ +
+
The DataSketches™ HLL sketch family package
+
+
+
+
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    The HllSketch is actually a collection of compact implementations of Phillipe Flajolet’s HyperLogLog (HLL) + sketch but with significantly improved error behavior and excellent speed performance.
    +
    + +
    +
    Specifies the target type of HLL sketch to be created.
    +
    + +
    +
    This performs union operations for all HllSketches.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hllmap/UniqueCountMap.html b/docs/621/merge/org/apache/datasketches/hllmap/UniqueCountMap.html new file mode 100644 index 000000000..b6fd3cc0c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hllmap/UniqueCountMap.html @@ -0,0 +1,403 @@ + + + + +UniqueCountMap (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UniqueCountMap

+
+
java.lang.Object +
org.apache.datasketches.hllmap.UniqueCountMap
+
+
+
+
public final class UniqueCountMap +extends Object
+
This is a real-time, key-value HLL mapping sketch that tracks approximate unique counts of + identifiers (the values) associated with each key. An example might be tracking the number of + unique user identifiers associated with each IP address. This map has been specifically designed + for the use-case where the number of keys is quite large (many millions) and the distribution of + identifiers per key is very skewed. A typical distribution where this works well is a + power-law distribution of identifiers per key of the form y = Cx, + where α < 0.5, and C is roughly ymax. + For example, with 100M keys, over 75% of the keys would have only + one identifier, 99% of the keys would have less than 20 identifiers, 99.9% would have less than + 200 identifiers, and a very tiny fraction might have identifiers in the thousands. + +

The space consumed by this map is quite sensitive to the actual distribution of identifiers + per key, so you should characterize and or experiment with your typical input streams. + Nonetheless, our experiments on live streams of over 100M keys required about 1.4GB of space. + This is about 14 bytes per key for key storage and unique count storage. + +

Given such highly-skewed distributions, using this map is far more efficient space-wise than + the alternative of dedicating an HLL sketch per key. Based on our use cases, after + subtracting the space required for key storage, the average bytes per key required for unique + count estimation (getAverageSketchMemoryPerKey()) is about 10. + +

Internally, this map is implemented as a hierarchy of internal hash maps with progressively + increasing storage allocated for unique count estimation. As a key acquires more identifiers it + is "promoted" up to a higher internal map. The final map of keys is a map of compact HLL + sketches. + +

The unique values in all the internal maps, except the final HLL map, are stored in a special + form called a coupon. A coupon is a 16-bit value that fully describes a k=1024 HLL bin. + It contains 10 bits of address and a 6-bit HLL value. + +

All internal maps use a prime number size and Knuth's Open Addressing Double Hash (OADH) + search algorithm. + +

The internal base map holds all the keys and each key is associated with one 16-bit value. + Initially, the value is a single coupon. Once the key is promoted, this 16-bit field contains a + reference to the internal map where the key is still active. + +

The intermediate maps between the base map and the final HLL map are of two types. + The first few of these are called traverse maps where the coupons are + stored as unsorted arrays. After the traverse maps are the coupon hash maps, where the coupons + are stored in small OASH hash tables. + +

All the intermediate maps support deletes and can dynamically grow and shrink as required by + the input stream. + +

The sketch estimator algorithms are unbiased with a Relative Standard Error (RSE) + of about 2.6% with 68% confidence, or equivalently, about 5.2% with a 95% confidence. + +

In a parallel package in the sketches-misc repository, there are 2 classes that can be used + from the command line to feed this mapping sketch piped from standard-in for experimental + evaluation. The first is ProcessIpStream, which processes simple IP/ID pairs and the second, + ProcessDistributionStream, which processes pairs that describe a distribution. + In this same package is the VariousMapRSETest class that was used to generate the error plots + for the web site. Please refer to the javadocs for those classes for more information.

+
+
Author:
+
Lee Rhodes, Alexander Saydakov, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    UniqueCountMap(int keySizeBytes)
    +
    +
    Constructs a UniqueCountMap with an initial capacity of one million entries.
    +
    +
    UniqueCountMap(int initialNumEntries, + int keySizeBytes)
    +
    +
    Constructs a UniqueCountMap with a given initial number of entries.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Returns the number of active, unique keys across all internal maps
    +
    +
    double
    + +
    +
    Returns the average memory storage per key that is dedicated to sketching the unique counts.
    +
    +
    double
    +
    getEstimate(byte[] key)
    +
    +
    Retrieves the current estimate of unique count for a given key.
    +
    +
    long
    + +
    +
    Returns total bytes used for key storage
    +
    +
    double
    +
    getLowerBound(byte[] key)
    +
    +
    Returns the lower bound cardinality with respect to getEstimate(byte[]) associated + with the given key.
    +
    +
    long
    + +
    +
    Returns total bytes used by all internal maps
    +
    +
    double
    +
    getUpperBound(byte[] key)
    +
    +
    Returns the upper bound cardinality with respect to getEstimate(byte[]) associated + with the given key.
    +
    + + +
    +
    Returns a string with a human-readable summary of the UniqueCountMap and all the internal maps
    +
    +
    double
    +
    update(byte[] key, + byte[] identifier)
    +
    +
    Updates the map with a given key and identifier and returns the estimate of the number of + unique identifiers encountered so far for the given key.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UniqueCountMap

      +
      public UniqueCountMap(int keySizeBytes)
      +
      Constructs a UniqueCountMap with an initial capacity of one million entries.
      +
      +
      Parameters:
      +
      keySizeBytes - must be at least 4 bytes to have sufficient entropy.
      +
      +
      +
    • +
    • +
      +

      UniqueCountMap

      +
      public UniqueCountMap(int initialNumEntries, + int keySizeBytes)
      +
      Constructs a UniqueCountMap with a given initial number of entries.
      +
      +
      Parameters:
      +
      initialNumEntries - The initial number of entries provides a tradeoff between + wasted space, if too high, and wasted time resizing the table, if too low.
      +
      keySizeBytes - must be at least 4 bytes to have sufficient entropy
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public double update(byte[] key, + byte[] identifier)
      +
      Updates the map with a given key and identifier and returns the estimate of the number of + unique identifiers encountered so far for the given key.
      +
      +
      Parameters:
      +
      key - the given key
      +
      identifier - the given identifier for unique counting associated with the key
      +
      Returns:
      +
      the estimate of the number of unique identifiers encountered so far for the given key.
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate(byte[] key)
      +
      Retrieves the current estimate of unique count for a given key.
      +
      +
      Parameters:
      +
      key - given key
      +
      Returns:
      +
      estimate of unique count so far
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(byte[] key)
      +
      Returns the upper bound cardinality with respect to getEstimate(byte[]) associated + with the given key.
      +
      +
      Parameters:
      +
      key - the given key
      +
      Returns:
      +
      the upper bound cardinality with respect to getEstimate(byte[]) associated + with the given key.
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(byte[] key)
      +
      Returns the lower bound cardinality with respect to getEstimate(byte[]) associated + with the given key.
      +
      +
      Parameters:
      +
      key - the given key
      +
      Returns:
      +
      the lower bound cardinality with respect to getEstimate(byte[]) associated + with the given key.
      +
      +
      +
    • +
    • +
      +

      getActiveEntries

      +
      public int getActiveEntries()
      +
      Returns the number of active, unique keys across all internal maps
      +
      +
      Returns:
      +
      the number of active, unique keys across all internal maps
      +
      +
      +
    • +
    • +
      +

      getMemoryUsageBytes

      +
      public long getMemoryUsageBytes()
      +
      Returns total bytes used by all internal maps
      +
      +
      Returns:
      +
      total bytes used by all internal maps
      +
      +
      +
    • +
    • +
      +

      getKeyMemoryUsageBytes

      +
      public long getKeyMemoryUsageBytes()
      +
      Returns total bytes used for key storage
      +
      +
      Returns:
      +
      total bytes used for key storage
      +
      +
      +
    • +
    • +
      +

      getAverageSketchMemoryPerKey

      +
      public double getAverageSketchMemoryPerKey()
      +
      Returns the average memory storage per key that is dedicated to sketching the unique counts.
      +
      +
      Returns:
      +
      the average memory storage per key that is dedicated to sketching the unique counts.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a string with a human-readable summary of the UniqueCountMap and all the internal maps
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      human-readable summary
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hllmap/class-use/UniqueCountMap.html b/docs/621/merge/org/apache/datasketches/hllmap/class-use/UniqueCountMap.html new file mode 100644 index 000000000..ef4b9abc4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hllmap/class-use/UniqueCountMap.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.hllmap.UniqueCountMap (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.hllmap.UniqueCountMap

+
+No usage of org.apache.datasketches.hllmap.UniqueCountMap
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hllmap/package-summary.html b/docs/621/merge/org/apache/datasketches/hllmap/package-summary.html new file mode 100644 index 000000000..9b7bc5baa --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hllmap/package-summary.html @@ -0,0 +1,127 @@ + + + + +org.apache.datasketches.hllmap (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.hllmap

+
+
+
package org.apache.datasketches.hllmap
+
+
The hllmap package contains a space efficient HLL mapping sketch of keys to approximate unique + count of identifiers. For example, counting the number of unique users (identifiers) per IP + address. + +

In cases where the number of keys is very large, having an individual HLL sketch per key may + not be practical. If the distribution of values per key is highly skewed where the vast + majority of keys have only a few values then this mapping sketch will make sense as it will be + far more space efficient than dedicating individual HLL sketches per key. + +

From our own testing, sketching 100 million IPv4 addresses with such a + highly skewed distribution of identifiers per IP uses only 1.4GB of memory. This translates to + an average of about 10 bytes per IP allocated to the equivalent of a full k=1024 HLL sketch + and provides an RSE of less than 2.5%. Your results will vary depending on the actual + distribution of identifiers per key.

+
+
See Also:
+
+ +
+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    This is a real-time, key-value HLL mapping sketch that tracks approximate unique counts of + identifiers (the values) associated with each key.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hllmap/package-tree.html b/docs/621/merge/org/apache/datasketches/hllmap/package-tree.html new file mode 100644 index 000000000..5716ccd77 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hllmap/package-tree.html @@ -0,0 +1,76 @@ + + + + +org.apache.datasketches.hllmap Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.hllmap

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/hllmap/package-use.html b/docs/621/merge/org/apache/datasketches/hllmap/package-use.html new file mode 100644 index 000000000..72409ed6b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/hllmap/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package org.apache.datasketches.hllmap (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.hllmap

+
+No usage of org.apache.datasketches.hllmap
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllDoublesSketch.html b/docs/621/merge/org/apache/datasketches/kll/KllDoublesSketch.html new file mode 100644 index 000000000..0a66ec5ef --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllDoublesSketch.html @@ -0,0 +1,852 @@ + + + + +KllDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllDoublesSketch

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketch +
org.apache.datasketches.kll.KllDoublesSketch
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI, QuantilesDoublesAPI
+
+
+
public abstract class KllDoublesSketch +extends KllSketch +implements QuantilesDoublesAPI
+
This variation of the KllSketch implements primitive doubles.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newHeapInstance

      +
      public static KllDoublesSketch newHeapInstance()
      +
      Create a new heap instance of this sketch with the default k = 200. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Returns:
      +
      new KllDoublesSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      newHeapInstance

      +
      public static KllDoublesSketch newHeapInstance(int k)
      +
      Create a new heap instance of this sketch with a given parameter k. + k can be between 8, inclusive, and 65535, inclusive. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates.
      +
      Returns:
      +
      new KllDoublesSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      newDirectInstance

      +
      public static KllDoublesSketch newDirectInstance(org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Create a new direct updatable instance of this sketch with the default k. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger k will have smaller error but the sketch will be larger (and slower).
      +
      +
      Parameters:
      +
      dstMem - the given destination WritableMemory object for use by the sketch
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      a new direct instance of this sketch
      +
      +
      +
    • +
    • +
      +

      newDirectInstance

      +
      public static KllDoublesSketch newDirectInstance(int k, + org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Create a new direct updatable instance of this sketch with a given k.
      +
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates.
      +
      dstMem - the given destination WritableMemory object for use by the sketch
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      a new direct instance of this sketch
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static KllDoublesSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch. + The resulting sketch will not retain any link to the source Memory.
      +
      +
      Parameters:
      +
      srcMem - a compact Memory image of a sketch serialized by this sketch. + See Memory
      +
      Returns:
      +
      a heap-based sketch based on the given Memory.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static KllDoublesSketch wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
      +
      +
      Parameters:
      +
      srcMem - the read only source Memory
      +
      Returns:
      +
      instance of this sketch
      +
      +
      +
    • +
    • +
      +

      writableWrap

      +
      public static KllDoublesSketch writableWrap(org.apache.datasketches.memory.WritableMemory srcMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
      +
      +
      Parameters:
      +
      srcMem - a WritableMemory that contains data.
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      instance of this sketch
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Specified by:
      +
      getCDF in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Specified by:
      +
      getPMF in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public double getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public double[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Specified by:
      +
      getQuantiles in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public double getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileLowerBound in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public double getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileUpperBound in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(double quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank)
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankLowerBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank)
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankUpperBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      public double[] getRanks(double[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Specified by:
      +
      getRanks in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public QuantilesDoublesSketchIterator iterator()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Specified by:
      +
      iterator in interface QuantilesDoublesAPI
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public final void merge(KllSketch other)
      +
      Description copied from class: KllSketch
      +
      Merges another sketch into this one. + Attempting to merge a sketch of the wrong type will throw an exception.
      +
      +
      Specified by:
      +
      merge in class KllSketch
      +
      Parameters:
      +
      other - sketch to merge into this one
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public final void reset()
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      + +

      The parameter k will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns a byte array representation of this sketch.
      +
      +
      Specified by:
      +
      toByteArray in interface QuantilesDoublesAPI
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean withLevels, + boolean withLevelsAndItems)
      +
      Description copied from class: KllSketch
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Specified by:
      +
      toString in class KllSketch
      +
      Parameters:
      +
      withLevels - if true includes sketch levels array summary information
      +
      withLevelsAndItems - if true include detail of levels array and items array together
      +
      Returns:
      +
      human readable summary information about this sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double item)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Updates this sketch with the given item.
      +
      +
      Specified by:
      +
      update in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      item - from a stream of items. NaNs are ignored.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double item, + long weight)
      +
      Weighted update. Updates this sketch with the given item the number of times specified by the given integer weight.
      +
      +
      Parameters:
      +
      item - the item to be repeated. NaNs are ignored.
      +
      weight - the number of times the update of item is to be repeated. It must be ≥ one.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double[] items, + int offset, + int length)
      +
      Vector update. Updates this sketch with the given array (vector) of items, starting at the items + offset for a length number of items. This is not supported for direct sketches.
      +
      +
      Parameters:
      +
      items - the vector of items
      +
      offset - the starting index of the items[] array
      +
      length - the number of items
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      public DoublesSketchSortedView getSortedView()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the sorted view of this sketch
      +
      +
      Specified by:
      +
      getSortedView in interface QuantilesDoublesAPI
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllDoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/KllDoublesSketchIterator.html new file mode 100644 index 000000000..cabb830b3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllDoublesSketchIterator.html @@ -0,0 +1,163 @@ + + + + +KllDoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllDoublesSketchIterator

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketchIterator +
org.apache.datasketches.kll.KllDoublesSketchIterator
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesDoublesSketchIterator, QuantilesSketchIterator
+
+
+
public final class KllDoublesSketchIterator +extends KllSketchIterator +implements QuantilesDoublesSketchIterator
+
Iterator over KllDoublesSketch. The order is not defined.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public double getQuantile()
      +
      Description copied from interface: QuantilesDoublesSketchIterator
      +
      Gets the double quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesDoublesSketchIterator
      +
      Returns:
      +
      the double quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllFloatsSketch.html b/docs/621/merge/org/apache/datasketches/kll/KllFloatsSketch.html new file mode 100644 index 000000000..c249112d1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllFloatsSketch.html @@ -0,0 +1,852 @@ + + + + +KllFloatsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllFloatsSketch

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketch +
org.apache.datasketches.kll.KllFloatsSketch
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI, QuantilesFloatsAPI
+
+
+
public abstract class KllFloatsSketch +extends KllSketch +implements QuantilesFloatsAPI
+
This variation of the KllSketch implements primitive floats.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newHeapInstance

      +
      public static KllFloatsSketch newHeapInstance()
      +
      Create a new heap instance of this sketch with the default k = 200. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Returns:
      +
      new KllFloatsSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      newHeapInstance

      +
      public static KllFloatsSketch newHeapInstance(int k)
      +
      Create a new heap instance of this sketch with a given parameter k. + k can be between 8, inclusive, and 65535, inclusive. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates.
      +
      Returns:
      +
      new KllFloatsSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      newDirectInstance

      +
      public static KllFloatsSketch newDirectInstance(org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Create a new direct updatable instance of this sketch with the default k. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger k will have smaller error but the sketch will be larger (and slower).
      +
      +
      Parameters:
      +
      dstMem - the given destination WritableMemory object for use by the sketch
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      a new direct instance of this sketch
      +
      +
      +
    • +
    • +
      +

      newDirectInstance

      +
      public static KllFloatsSketch newDirectInstance(int k, + org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Create a new direct updatable instance of this sketch with a given k.
      +
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates.
      +
      dstMem - the given destination WritableMemory object for use by the sketch
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      a new direct instance of this sketch
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static KllFloatsSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch. + The resulting sketch will not retain any link to the source Memory.
      +
      +
      Parameters:
      +
      srcMem - a compact Memory image of a sketch serialized by this sketch. + See Memory
      +
      Returns:
      +
      a heap-based sketch based on the given Memory.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static KllFloatsSketch wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
      +
      +
      Parameters:
      +
      srcMem - the read only source Memory
      +
      Returns:
      +
      instance of this sketch
      +
      +
      +
    • +
    • +
      +

      writableWrap

      +
      public static KllFloatsSketch writableWrap(org.apache.datasketches.memory.WritableMemory srcMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
      +
      +
      Parameters:
      +
      srcMem - a WritableMemory that contains data.
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      instance of this sketch
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Specified by:
      +
      getCDF in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Specified by:
      +
      getPMF in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public float getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public float[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Specified by:
      +
      getQuantiles in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public float getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileLowerBound in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public float getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileUpperBound in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(float quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank)
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankLowerBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank)
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankUpperBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      public double[] getRanks(float[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Specified by:
      +
      getRanks in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public QuantilesFloatsSketchIterator iterator()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Specified by:
      +
      iterator in interface QuantilesFloatsAPI
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public final void merge(KllSketch other)
      +
      Description copied from class: KllSketch
      +
      Merges another sketch into this one. + Attempting to merge a sketch of the wrong type will throw an exception.
      +
      +
      Specified by:
      +
      merge in class KllSketch
      +
      Parameters:
      +
      other - sketch to merge into this one
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public final void reset()
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      + +

      The parameter k will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns a byte array representation of this sketch.
      +
      +
      Specified by:
      +
      toByteArray in interface QuantilesFloatsAPI
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean withLevels, + boolean withLevelsAndItems)
      +
      Description copied from class: KllSketch
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Specified by:
      +
      toString in class KllSketch
      +
      Parameters:
      +
      withLevels - if true includes sketch levels array summary information
      +
      withLevelsAndItems - if true include detail of levels array and items array together
      +
      Returns:
      +
      human readable summary information about this sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(float item)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Updates this sketch with the given item.
      +
      +
      Specified by:
      +
      update in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      item - from a stream of quantiles. NaNs are ignored.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(float item, + long weight)
      +
      Weighted update. Updates this sketch with the given item the number of times specified by the given integer weight.
      +
      +
      Parameters:
      +
      item - the item to be repeated. NaNs are ignored.
      +
      weight - the number of times the update of item is to be repeated. It must be ≥ one.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(float[] items, + int offset, + int length)
      +
      Vector update. Updates this sketch with the given array (vector) of items, starting at the items + offset for a length number of items. This is not supported for direct sketches.
      +
      +
      Parameters:
      +
      items - the vector of items
      +
      offset - the starting index of the items[] array
      +
      length - the number of items
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      public FloatsSketchSortedView getSortedView()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the sorted view of this sketch
      +
      +
      Specified by:
      +
      getSortedView in interface QuantilesFloatsAPI
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllFloatsSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/KllFloatsSketchIterator.html new file mode 100644 index 000000000..cde8d89a1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllFloatsSketchIterator.html @@ -0,0 +1,163 @@ + + + + +KllFloatsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllFloatsSketchIterator

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketchIterator +
org.apache.datasketches.kll.KllFloatsSketchIterator
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesFloatsSketchIterator, QuantilesSketchIterator
+
+
+
public final class KllFloatsSketchIterator +extends KllSketchIterator +implements QuantilesFloatsSketchIterator
+
Iterator over KllFloatsSketch. The order is not defined.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public float getQuantile()
      +
      Description copied from interface: QuantilesFloatsSketchIterator
      +
      Gets the float quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesFloatsSketchIterator
      +
      Returns:
      +
      the float quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllItemsSketch.html b/docs/621/merge/org/apache/datasketches/kll/KllItemsSketch.html new file mode 100644 index 000000000..96f9d4ec7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllItemsSketch.html @@ -0,0 +1,914 @@ + + + + +KllItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllItemsSketch<T>

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketch +
org.apache.datasketches.kll.KllItemsSketch<T>
+
+
+
+
+
Type Parameters:
+
T - The sketch data type.
+
+
+
All Implemented Interfaces:
+
PartitioningFeature<T>, QuantilesAPI, QuantilesGenericAPI<T>, SketchPartitionLimits
+
+
+
public abstract class KllItemsSketch<T> +extends KllSketch +implements QuantilesGenericAPI<T>
+
This variation of the KllSketch implements generic data types. The user must provide + a suitable implementation of the java.lang.Comparator as well as an implementation of + the serializer / deserializer, org.apache.datasketches.common.ArrayOfItemsSerDe.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newHeapInstance

      +
      public static <T> KllItemsSketch<T> newHeapInstance(Comparator<? super T> comparator, + ArrayOfItemsSerDe<T> serDe)
      +
      Create a new heap instance of this sketch with the default k = 200. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Type Parameters:
      +
      T - The sketch data type.
      +
      Parameters:
      +
      comparator - to compare items
      +
      serDe - Serializer / deserializer for an array of items, T[].
      +
      Returns:
      +
      new KllItemsSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      newHeapInstance

      +
      public static <T> KllItemsSketch<T> newHeapInstance(int k, + Comparator<? super T> comparator, + ArrayOfItemsSerDe<T> serDe)
      +
      Create a new heap instance of this sketch with a given parameter k. + k can be between DEFAULT_M and 65535, inclusive. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates.
      +
      comparator - to compare items
      +
      serDe - Serializer / deserializer for items of type T and T[].
      +
      Returns:
      +
      new KllItemsSketch on the heap.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static <T> KllItemsSketch<T> heapify(org.apache.datasketches.memory.Memory srcMem, + Comparator<? super T> comparator, + ArrayOfItemsSerDe<T> serDe)
      +
      Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch. + The resulting sketch will not retain any link to the source Memory.
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      srcMem - a compact Memory image of a sketch serialized by this sketch and of the same type of T.
      +
      comparator - to compare items
      +
      serDe - Serializer / deserializer for items of type T and T[].
      +
      Returns:
      +
      a heap-based sketch based on the given Memory.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static <T> KllItemsSketch<T> wrap(org.apache.datasketches.memory.Memory srcMem, + Comparator<? super T> comparator, + ArrayOfItemsSerDe<T> serDe)
      +
      Constructs a thin wrapper on the heap around a Memory (or WritableMemory) already initialized with a + validated sketch image of a type T consistent with the given comparator and serDe. + A reference to the Memory is kept in the sketch and must remain in scope consistent + with the temporal scope of this sketch. The amount of data kept on the heap is very small. + All of the item data originally collected by the given Memory sketch object remains in the + Memory object
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      srcMem - the Memory object that this sketch will wrap.
      +
      comparator - to compare items
      +
      serDe - Serializer / deserializer for items of type T and T[].
      +
      Returns:
      +
      a heap-base sketch that is a thin wrapper around the given srcMem.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Specified by:
      +
      getCDF in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<T> getClassOfT()
      +
      +
      Specified by:
      +
      getClassOfT in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the sketch item class
      +
      +
      +
    • +
    • +
      +

      getComparator

      +
      public Comparator<? super T> getComparator()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns the Comparator of T
      +
      +
      Specified by:
      +
      getComparator in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      Comparator of the sketch
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromNumParts

      +
      public GenericPartitionBoundaries<T> getPartitionBoundariesFromNumParts(int numEquallySizedParts, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: PartitioningFeature
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Specified by:
      +
      getPartitionBoundariesFromNumParts in interface PartitioningFeature<T>
      +
      Parameters:
      +
      numEquallySizedParts - an integer that specifies the number of equally sized partitions between + getMinItem() and + getMaxItem(). + This must be a positive integer less than + getMaxPartitions() +
        +
      • A 1 will return: minItem, maxItem.
      • +
      • A 2 will return: minItem, median quantile, maxItem.
      • +
      • Etc.
      • +
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromPartSize

      +
      public GenericPartitionBoundaries<T> getPartitionBoundariesFromPartSize(long nominalPartSizeItems, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: PartitioningFeature
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Specified by:
      +
      getPartitionBoundariesFromPartSize in interface PartitioningFeature<T>
      +
      Parameters:
      +
      nominalPartSizeItems - an integer that specifies the nominal size, in items, of each target partition. + This must be a positive integer greater than + getMinPartitionSizeItems().
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Specified by:
      +
      getPMF in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public T getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public T[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Specified by:
      +
      getQuantiles in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public T getQuantileLowerBound(double rank)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Specified by:
      +
      getQuantileLowerBound in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public T getQuantileUpperBound(double rank)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Specified by:
      +
      getQuantileUpperBound in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(T quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank)
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankLowerBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank)
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankUpperBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      public double[] getRanks(T[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Specified by:
      +
      getRanks in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      public final ItemsSketchSortedView<T> getSortedView()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the sorted view of this sketch
      +
      +
      Specified by:
      +
      getSortedView in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public QuantilesGenericSketchIterator<T> iterator()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Specified by:
      +
      iterator in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public final void merge(KllSketch other)
      +
      Description copied from class: KllSketch
      +
      Merges another sketch into this one. + Attempting to merge a sketch of the wrong type will throw an exception.
      +
      +
      Specified by:
      +
      merge in class KllSketch
      +
      Parameters:
      +
      other - sketch to merge into this one
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Description copied from interface: QuantilesAPI
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Export the current sketch as a compact byte array.
      +
      +
      Returns:
      +
      the current sketch as a compact byte array.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean withLevels, + boolean withLevelsAndItems)
      +
      Description copied from class: KllSketch
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Specified by:
      +
      toString in class KllSketch
      +
      Parameters:
      +
      withLevels - if true includes sketch levels array summary information
      +
      withLevelsAndItems - if true include detail of levels array and items array together
      +
      Returns:
      +
      human readable summary information about this sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Updates this sketch with the given item.
      +
      +
      Specified by:
      +
      update in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      item - from a stream of items. Nulls are ignored.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item, + long weight)
      +
      Weighted update. Updates this sketch with the given item the number of times specified by the given integer weight.
      +
      +
      Parameters:
      +
      item - the item to be repeated. NaNs are ignored.
      +
      weight - the number of times the update of item is to be repeated. It must be ≥ one.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllItemsSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/KllItemsSketchIterator.html new file mode 100644 index 000000000..62b86e1d3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllItemsSketchIterator.html @@ -0,0 +1,167 @@ + + + + +KllItemsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllItemsSketchIterator<T>

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketchIterator +
org.apache.datasketches.kll.KllItemsSketchIterator<T>
+
+
+
+
+
Type Parameters:
+
T - the item class type
+
+
+
All Implemented Interfaces:
+
QuantilesGenericSketchIterator<T>, QuantilesSketchIterator
+
+
+
public final class KllItemsSketchIterator<T> +extends KllSketchIterator +implements QuantilesGenericSketchIterator<T>
+
Iterator over KllItemsSketch. The order is not defined.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public T getQuantile()
      +
      Description copied from interface: QuantilesGenericSketchIterator
      +
      Gets the generic quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesGenericSketchIterator<T>
      +
      Returns:
      +
      the generic quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllLongsSketch.html b/docs/621/merge/org/apache/datasketches/kll/KllLongsSketch.html new file mode 100644 index 000000000..d97138206 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllLongsSketch.html @@ -0,0 +1,852 @@ + + + + +KllLongsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllLongsSketch

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketch +
org.apache.datasketches.kll.KllLongsSketch
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI, QuantilesLongsAPI
+
+
+
public abstract class KllLongsSketch +extends KllSketch +implements QuantilesLongsAPI
+
This variation of the KllSketch implements primitive longs.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newHeapInstance

      +
      public static KllLongsSketch newHeapInstance()
      +
      Create a new heap instance of this sketch with the default k = 200. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Returns:
      +
      new KllLongsSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      newHeapInstance

      +
      public static KllLongsSketch newHeapInstance(int k)
      +
      Create a new heap instance of this sketch with a given parameter k. + k can be between 8, inclusive, and 65535, inclusive. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger K will have smaller error but the sketch will be larger (and slower).
      +
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates.
      +
      Returns:
      +
      new KllLongsSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      newDirectInstance

      +
      public static KllLongsSketch newDirectInstance(org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Create a new direct updatable instance of this sketch with the default k. + The default k = 200 results in a normalized rank error of about + 1.65%. Larger k will have smaller error but the sketch will be larger (and slower).
      +
      +
      Parameters:
      +
      dstMem - the given destination WritableMemory object for use by the sketch
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      a new direct instance of this sketch
      +
      +
      +
    • +
    • +
      +

      newDirectInstance

      +
      public static KllLongsSketch newDirectInstance(int k, + org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Create a new direct updatable instance of this sketch with a given k.
      +
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates.
      +
      dstMem - the given destination WritableMemory object for use by the sketch
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      a new direct instance of this sketch
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static KllLongsSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch. + The resulting sketch will not retain any link to the source Memory.
      +
      +
      Parameters:
      +
      srcMem - a compact Memory image of a sketch serialized by this sketch. + See Memory
      +
      Returns:
      +
      a heap-based sketch based on the given Memory.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static KllLongsSketch wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
      +
      +
      Parameters:
      +
      srcMem - the read only source Memory
      +
      Returns:
      +
      instance of this sketch
      +
      +
      +
    • +
    • +
      +

      writableWrap

      +
      public static KllLongsSketch writableWrap(org.apache.datasketches.memory.WritableMemory srcMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
      +
      +
      Parameters:
      +
      srcMem - a WritableMemory that contains data.
      +
      memReqSvr - the given MemoryRequestServer to request a larger WritableMemory
      +
      Returns:
      +
      instance of this sketch
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Specified by:
      +
      getCDF in interface QuantilesLongsAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Specified by:
      +
      getPMF in interface QuantilesLongsAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public long getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesLongsAPI
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public long[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Specified by:
      +
      getQuantiles in interface QuantilesLongsAPI
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public long getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileLowerBound in interface QuantilesLongsAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public long getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileUpperBound in interface QuantilesLongsAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(long quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface QuantilesLongsAPI
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank)
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankLowerBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank)
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankUpperBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      public double[] getRanks(long[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Specified by:
      +
      getRanks in interface QuantilesLongsAPI
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public QuantilesLongsSketchIterator iterator()
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Specified by:
      +
      iterator in interface QuantilesLongsAPI
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public final void merge(KllSketch other)
      +
      Description copied from class: KllSketch
      +
      Merges another sketch into this one. + Attempting to merge a sketch of the wrong type will throw an exception.
      +
      +
      Specified by:
      +
      merge in class KllSketch
      +
      Parameters:
      +
      other - sketch to merge into this one
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public final void reset()
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      + +

      The parameter k will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Returns a byte array representation of this sketch.
      +
      +
      Specified by:
      +
      toByteArray in interface QuantilesLongsAPI
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean withLevels, + boolean withLevelsAndItems)
      +
      Description copied from class: KllSketch
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Specified by:
      +
      toString in class KllSketch
      +
      Parameters:
      +
      withLevels - if true includes sketch levels array summary information
      +
      withLevelsAndItems - if true include detail of levels array and items array together
      +
      Returns:
      +
      human readable summary information about this sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long item)
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Updates this sketch with the given item.
      +
      +
      Specified by:
      +
      update in interface QuantilesLongsAPI
      +
      Parameters:
      +
      item - from a stream of items. NaNs are ignored.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long item, + long weight)
      +
      Weighted update. Updates this sketch with the given item the number of times specified by the given integer weight.
      +
      +
      Parameters:
      +
      item - the item to be repeated. NaNs are ignored.
      +
      weight - the number of times the update of item is to be repeated. It must be ≥ one.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long[] items, + int offset, + int length)
      +
      Vector update. Updates this sketch with the given array (vector) of items, starting at the items + offset for a length number of items. This is not supported for direct sketches.
      +
      +
      Parameters:
      +
      items - the vector of items
      +
      offset - the starting index of the items[] array
      +
      length - the number of items
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      public LongsSketchSortedView getSortedView()
      +
      Description copied from interface: QuantilesLongsAPI
      +
      Gets the sorted view of this sketch
      +
      +
      Specified by:
      +
      getSortedView in interface QuantilesLongsAPI
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllLongsSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/KllLongsSketchIterator.html new file mode 100644 index 000000000..c6719b6e5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllLongsSketchIterator.html @@ -0,0 +1,163 @@ + + + + +KllLongsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllLongsSketchIterator

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketchIterator +
org.apache.datasketches.kll.KllLongsSketchIterator
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesLongsSketchIterator, QuantilesSketchIterator
+
+
+
public final class KllLongsSketchIterator +extends KllSketchIterator +implements QuantilesLongsSketchIterator
+
Iterator over KllLongsSketch. The order is not defined.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public long getQuantile()
      +
      Description copied from interface: QuantilesLongsSketchIterator
      +
      Gets the long quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesLongsSketchIterator
      +
      Returns:
      +
      the long quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchStructure.html b/docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchStructure.html new file mode 100644 index 000000000..e3b678cd0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchStructure.html @@ -0,0 +1,308 @@ + + + + +KllSketch.SketchStructure (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class KllSketch.SketchStructure

+
+
java.lang.Object +
java.lang.Enum<KllSketch.SketchStructure> +
org.apache.datasketches.kll.KllSketch.SketchStructure
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<KllSketch.SketchStructure>, Constable
+
+
+
Enclosing class:
+
KllSketch
+
+
+
public static enum KllSketch.SketchStructure +extends Enum<KllSketch.SketchStructure>
+
Used primarily to define the structure of the serialized sketch. Also used by the Heap Sketch.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static KllSketch.SketchStructure[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static KllSketch.SketchStructure valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getPreInts

      +
      public int getPreInts()
      +
      gets the Preamble Integers for this Structure.
      +
      +
      Returns:
      +
      the Preamble Integers for this Structure
      +
      +
      +
    • +
    • +
      +

      getSerVer

      +
      public int getSerVer()
      +
      gets the Serialization Version for this Structure.
      +
      +
      Returns:
      +
      the Serialization Version for this Structure.
      +
      +
      +
    • +
    • +
      +

      getSketchStructure

      +
      public static KllSketch.SketchStructure getSketchStructure(int preInts, + int serVer)
      +
      gets the SketchStructure given preInts and serVer.
      +
      +
      Parameters:
      +
      preInts - the given preamble size in integers
      +
      serVer - the given Serialization Version
      +
      Returns:
      +
      the SketchStructure given preInts and serVer.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchType.html b/docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchType.html new file mode 100644 index 000000000..f87393240 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllSketch.SketchType.html @@ -0,0 +1,287 @@ + + + + +KllSketch.SketchType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class KllSketch.SketchType

+
+
java.lang.Object +
java.lang.Enum<KllSketch.SketchType> +
org.apache.datasketches.kll.KllSketch.SketchType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<KllSketch.SketchType>, Constable
+
+
+
Enclosing class:
+
KllSketch
+
+
+
public static enum KllSketch.SketchType +extends Enum<KllSketch.SketchType>
+
Used to define the variable type of the current instance of this class.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static KllSketch.SketchType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static KllSketch.SketchType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getBytes

      +
      public int getBytes()
      +
      Gets the item size in bytes. If the item is generic, this returns zero.
      +
      +
      Returns:
      +
      the item size in bytes
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public String getName()
      +
      Get the name of the associated sketch
      +
      +
      Returns:
      +
      the name of the associated sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllSketch.html b/docs/621/merge/org/apache/datasketches/kll/KllSketch.html new file mode 100644 index 000000000..a1b6dc885 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllSketch.html @@ -0,0 +1,592 @@ + + + + +KllSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllSketch

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketch
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI
+
+
+
Direct Known Subclasses:
+
KllDoublesSketch, KllFloatsSketch, KllItemsSketch, KllLongsSketch
+
+
+
public abstract class KllSketch +extends Object +implements QuantilesAPI
+
This class is the root of the KLL sketch class hierarchy. It includes the public API that is independent + of either sketch type (e.g., float, double or generic item) and independent of whether the sketch is targeted + for use on the Java heap or off-heap. + +

KLL is an implementation of a very compact quantiles sketch with lazy compaction scheme + and nearly optimal accuracy per retained quantile.

+ +

Reference Optimal Quantile Approximation in Streams.

+ +

The default k of 200 yields a "single-sided" epsilon of about 1.33% and a + "double-sided" (PMF) epsilon of about 1.65%, with a confidence of 99%.

+
+
Author:
+
Lee Rhodes, Kevin Lang, Alexander Saydakov
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    static enum 
    + +
    +
    Used primarily to define the structure of the serialized sketch.
    +
    +
    static enum 
    + +
    +
    Used to define the variable type of the current instance of this class.
    +
    +
    +
    +
  • + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final int
    + +
    +
    The default K
    +
    +
    static final int
    + +
    +
    The maximum K
    +
    +
    +
    +

    Fields inherited from interface org.apache.datasketches.quantilescommon.QuantilesAPI

    +EMPTY_MSG, MEM_REQ_SVR_NULL_MSG, NOT_SINGLE_ITEM_MSG, SELF_MERGE_MSG, TGT_IS_READ_ONLY_MSG, UNSUPPORTED_MSG
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static int
    +
    getKFromEpsilon(double epsilon, + boolean pmf)
    +
    +
    Gets the approximate k to use given epsilon, the normalized rank error.
    +
    +
    static int
    +
    getMaxSerializedSizeBytes(int k, + long n, + KllSketch.SketchType sketchType, + boolean updatableMemFormat)
    +
    +
    Returns upper bound on the serialized size of a KllSketch given the following parameters.
    +
    +
    final double
    + +
    +
    Gets the approximate rank error of this sketch normalized as a fraction between zero and one.
    +
    +
    static double
    +
    getNormalizedRankError(int k, + boolean pmf)
    +
    +
    Gets the normalized rank error given k and pmf.
    +
    +
    final int
    + +
    +
    Gets the number of quantiles retained by the sketch.
    +
    +
    int
    + +
    +
    Returns the current number of bytes this Sketch would require if serialized in compact form.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch's data structure is backed by Memory or WritableMemory.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is in a Compact Memory Format.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
    +
    +
    final boolean
    + +
    +
    Returns true if this sketch is empty.
    +
    +
    final boolean
    + +
    +
    Returns true if this sketch is in estimation mode.
    +
    +
    final boolean
    + +
    +
    Returns true if the backing WritableMemory is in updatable format.
    +
    +
    final boolean
    + +
    +
    Returns true if this sketch is read only.
    +
    +
    final boolean
    +
    isSameResource(org.apache.datasketches.memory.Memory that)
    +
    +
    Returns true if the backing resource of this is identical with the backing resource + of that.
    +
    +
    abstract void
    + +
    +
    Merges another sketch into this one.
    +
    +
    final String
    + +
    +
    Returns a summary of the key parameters of the sketch.
    +
    +
    abstract String
    +
    toString(boolean withLevels, + boolean withLevelsAndItems)
    +
    +
    Returns human readable summary information about this sketch.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.QuantilesAPI

    +getK, getN, getRankLowerBound, getRankUpperBound, reset
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_K

      +
      public static final int DEFAULT_K
      +
      The default K
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      MAX_K

      +
      public static final int MAX_K
      +
      The maximum K
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getKFromEpsilon

      +
      public static int getKFromEpsilon(double epsilon, + boolean pmf)
      +
      Gets the approximate k to use given epsilon, the normalized rank error.
      +
      +
      Parameters:
      +
      epsilon - the normalized rank error between zero and one.
      +
      pmf - if true, this function returns the k assuming the input epsilon + is the desired "double-sided" epsilon for the getPMF() function. Otherwise, this function + returns k assuming the input epsilon is the desired "single-sided" + epsilon for all the other queries.
      +
      Returns:
      +
      k given epsilon.
      +
      +
      +
    • +
    • +
      +

      getMaxSerializedSizeBytes

      +
      public static int getMaxSerializedSizeBytes(int k, + long n, + KllSketch.SketchType sketchType, + boolean updatableMemFormat)
      +
      Returns upper bound on the serialized size of a KllSketch given the following parameters.
      +
      +
      Parameters:
      +
      k - parameter that controls size of the sketch and accuracy of estimates
      +
      n - stream length
      +
      sketchType - Only DOUBLES_SKETCH and FLOATS_SKETCH is supported for this operation.
      +
      updatableMemFormat - true if updatable Memory format, otherwise the standard compact format.
      +
      Returns:
      +
      upper bound on the serialized size of a KllSketch.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      public static double getNormalizedRankError(int k, + boolean pmf)
      +
      Gets the normalized rank error given k and pmf. + Static method version of the getNormalizedRankError(boolean). + The epsilon returned is a best fit to 99 percent confidence empirically measured max error + in thousands of trials.
      +
      +
      Parameters:
      +
      k - the configuration parameter
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, the normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      public final double getNormalizedRankError(boolean pmf)
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the approximate rank error of this sketch normalized as a fraction between zero and one. + The epsilon returned is a best fit to 99 percent confidence empirically measured max error + in thousands of trials.
      +
      +
      Specified by:
      +
      getNormalizedRankError in interface QuantilesAPI
      +
      Parameters:
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public final int getNumRetained()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the number of quantiles retained by the sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface QuantilesAPI
      +
      Returns:
      +
      the number of quantiles retained by the sketch
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      public int getSerializedSizeBytes()
      +
      Returns the current number of bytes this Sketch would require if serialized in compact form.
      +
      +
      Returns:
      +
      the number of bytes this sketch would require if serialized.
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      public boolean hasMemory()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      Specified by:
      +
      hasMemory in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      +
    • +
    • +
      +

      isCompactMemoryFormat

      +
      public boolean isCompactMemoryFormat()
      +
      Returns true if this sketch is in a Compact Memory Format.
      +
      +
      Returns:
      +
      true if this sketch is in a Compact Memory Format.
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      public boolean isDirect()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      Specified by:
      +
      isDirect in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public final boolean isEmpty()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is empty.
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public final boolean isEstimationMode()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is in estimation mode.
      +
      +
      Specified by:
      +
      isEstimationMode in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      isMemoryUpdatableFormat

      +
      public final boolean isMemoryUpdatableFormat()
      +
      Returns true if the backing WritableMemory is in updatable format.
      +
      +
      Returns:
      +
      true if the backing WritableMemory is in updatable format.
      +
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      public final boolean isReadOnly()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is read only.
      +
      +
      Specified by:
      +
      isReadOnly in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is read only.
      +
      +
      +
    • +
    • +
      +

      isSameResource

      +
      public final boolean isSameResource(org.apache.datasketches.memory.Memory that)
      +
      Returns true if the backing resource of this is identical with the backing resource + of that. The capacities must be the same. If this is a region, + the region offset must also be the same.
      +
      +
      Parameters:
      +
      that - A different non-null object
      +
      Returns:
      +
      true if the backing resource of this is the same as the backing resource + of that.
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public abstract void merge(KllSketch other)
      +
      Merges another sketch into this one. + Attempting to merge a sketch of the wrong type will throw an exception.
      +
      +
      Parameters:
      +
      other - sketch to merge into this one
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public final String toString()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns a summary of the key parameters of the sketch.
      +
      +
      Specified by:
      +
      toString in interface QuantilesAPI
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a summary of the key parameters of the sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public abstract String toString(boolean withLevels, + boolean withLevelsAndItems)
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Parameters:
      +
      withLevels - if true includes sketch levels array summary information
      +
      withLevelsAndItems - if true include detail of levels array and items array together
      +
      Returns:
      +
      human readable summary information about this sketch.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/KllSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/KllSketchIterator.html new file mode 100644 index 000000000..4ae79fb74 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/KllSketchIterator.html @@ -0,0 +1,192 @@ + + + + +KllSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KllSketchIterator

+
+
java.lang.Object +
org.apache.datasketches.kll.KllSketchIterator
+
+
+
+
All Implemented Interfaces:
+
QuantilesSketchIterator
+
+
+
Direct Known Subclasses:
+
KllDoublesSketchIterator, KllFloatsSketchIterator, KllItemsSketchIterator, KllLongsSketchIterator
+
+
+
public class KllSketchIterator +extends Object +implements QuantilesSketchIterator
+
The base implementation for the KLL sketch iterator hierarchy used for viewing the + non-ordered quantiles retained by a sketch. + +

Prototype example of the recommended iteration loop:

+

+   SketchIterator itr = sketch.iterator();
+   while (itr.next()) {
+     ...get*();
+   }
+ 
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    + +
    +
    Gets the natural weight at the current index.
    +
    +
    boolean
    + +
    +
    Advances the index and checks if it is valid.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getWeight

      +
      public long getWeight()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Gets the natural weight at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getWeight in interface QuantilesSketchIterator
      +
      Returns:
      +
      the natural weight at the current index.
      +
      +
      +
    • +
    • +
      +

      next

      +
      public boolean next()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Advances the index and checks if it is valid. + The state of this iterator is undefined before the first call of this method.
      +
      +
      Specified by:
      +
      next in interface QuantilesSketchIterator
      +
      Returns:
      +
      true if the next index is valid.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketch.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketch.html new file mode 100644 index 000000000..3053a4c96 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketch.html @@ -0,0 +1,128 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllDoublesSketch

+
+
Packages that use KllDoublesSketch
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+
    +
  • +
    +

    Uses of KllDoublesSketch in org.apache.datasketches.kll

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    KllDoublesSketch.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
    +
    + +
    KllDoublesSketch.newDirectInstance(int k, + org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Create a new direct updatable instance of this sketch with a given k.
    +
    + +
    KllDoublesSketch.newDirectInstance(org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Create a new direct updatable instance of this sketch with the default k.
    +
    + +
    KllDoublesSketch.newHeapInstance()
    +
    +
    Create a new heap instance of this sketch with the default k = 200.
    +
    + +
    KllDoublesSketch.newHeapInstance(int k)
    +
    +
    Create a new heap instance of this sketch with a given parameter k.
    +
    + +
    KllDoublesSketch.wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
    +
    + +
    KllDoublesSketch.writableWrap(org.apache.datasketches.memory.WritableMemory srcMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketchIterator.html new file mode 100644 index 000000000..3c6921e3d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllDoublesSketchIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllDoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllDoublesSketchIterator

+
+No usage of org.apache.datasketches.kll.KllDoublesSketchIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketch.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketch.html new file mode 100644 index 000000000..5cb33ec77 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketch.html @@ -0,0 +1,128 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllFloatsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllFloatsSketch

+
+
Packages that use KllFloatsSketch
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+
    +
  • +
    +

    Uses of KllFloatsSketch in org.apache.datasketches.kll

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    KllFloatsSketch.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
    +
    + +
    KllFloatsSketch.newDirectInstance(int k, + org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Create a new direct updatable instance of this sketch with a given k.
    +
    + +
    KllFloatsSketch.newDirectInstance(org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Create a new direct updatable instance of this sketch with the default k.
    +
    + +
    KllFloatsSketch.newHeapInstance()
    +
    +
    Create a new heap instance of this sketch with the default k = 200.
    +
    + +
    KllFloatsSketch.newHeapInstance(int k)
    +
    +
    Create a new heap instance of this sketch with a given parameter k.
    +
    + +
    KllFloatsSketch.wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
    +
    + +
    KllFloatsSketch.writableWrap(org.apache.datasketches.memory.WritableMemory srcMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketchIterator.html new file mode 100644 index 000000000..effa5b94b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllFloatsSketchIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllFloatsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllFloatsSketchIterator

+
+No usage of org.apache.datasketches.kll.KllFloatsSketchIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketch.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketch.html new file mode 100644 index 000000000..7ad4ab6ce --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketch.html @@ -0,0 +1,115 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllItemsSketch

+
+
Packages that use KllItemsSketch
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketchIterator.html new file mode 100644 index 000000000..e3d74f0bc --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllItemsSketchIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllItemsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllItemsSketchIterator

+
+No usage of org.apache.datasketches.kll.KllItemsSketchIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketch.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketch.html new file mode 100644 index 000000000..94a49b370 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketch.html @@ -0,0 +1,128 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllLongsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllLongsSketch

+
+
Packages that use KllLongsSketch
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+
    +
  • +
    +

    Uses of KllLongsSketch in org.apache.datasketches.kll

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    KllLongsSketch.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
    +
    + +
    KllLongsSketch.newDirectInstance(int k, + org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Create a new direct updatable instance of this sketch with a given k.
    +
    + +
    KllLongsSketch.newDirectInstance(org.apache.datasketches.memory.WritableMemory dstMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Create a new direct updatable instance of this sketch with the default k.
    +
    + +
    KllLongsSketch.newHeapInstance()
    +
    +
    Create a new heap instance of this sketch with the default k = 200.
    +
    + +
    KllLongsSketch.newHeapInstance(int k)
    +
    +
    Create a new heap instance of this sketch with a given parameter k.
    +
    + +
    KllLongsSketch.wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap a sketch around the given read only compact source Memory containing sketch data + that originated from this sketch.
    +
    + +
    KllLongsSketch.writableWrap(org.apache.datasketches.memory.WritableMemory srcMem, + org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
    +
    +
    Wrap a sketch around the given source Writable Memory containing sketch data + that originated from this sketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketchIterator.html new file mode 100644 index 000000000..4209a35d9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllLongsSketchIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllLongsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllLongsSketchIterator

+
+No usage of org.apache.datasketches.kll.KllLongsSketchIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchStructure.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchStructure.html new file mode 100644 index 000000000..6432a5b57 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchStructure.html @@ -0,0 +1,104 @@ + + + + +Uses of Enum Class org.apache.datasketches.kll.KllSketch.SketchStructure (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.kll.KllSketch.SketchStructure

+
+
Packages that use KllSketch.SketchStructure
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchType.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchType.html new file mode 100644 index 000000000..9d08bb72d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.SketchType.html @@ -0,0 +1,112 @@ + + + + +Uses of Enum Class org.apache.datasketches.kll.KllSketch.SketchType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.kll.KllSketch.SketchType

+
+
Packages that use KllSketch.SketchType
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.html new file mode 100644 index 000000000..dc37e5489 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketch.html @@ -0,0 +1,130 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllSketch

+
+
Packages that use KllSketch
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketchIterator.html b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketchIterator.html new file mode 100644 index 000000000..989e737a3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/class-use/KllSketchIterator.html @@ -0,0 +1,107 @@ + + + + +Uses of Class org.apache.datasketches.kll.KllSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.kll.KllSketchIterator

+
+
Packages that use KllSketchIterator
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/package-summary.html b/docs/621/merge/org/apache/datasketches/kll/package-summary.html new file mode 100644 index 000000000..d9f32cb76 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/package-summary.html @@ -0,0 +1,157 @@ + + + + +org.apache.datasketches.kll (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.kll

+
+
+
package org.apache.datasketches.kll
+
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    This variation of the KllSketch implements primitive doubles.
    +
    + +
    +
    Iterator over KllDoublesSketch.
    +
    + +
    +
    This variation of the KllSketch implements primitive floats.
    +
    + +
    +
    Iterator over KllFloatsSketch.
    +
    + +
    +
    This variation of the KllSketch implements generic data types.
    +
    + +
    +
    Iterator over KllItemsSketch.
    +
    + +
    +
    This variation of the KllSketch implements primitive longs.
    +
    + +
    +
    Iterator over KllLongsSketch.
    +
    + +
    +
    This class is the root of the KLL sketch class hierarchy.
    +
    + +
    +
    Used primarily to define the structure of the serialized sketch.
    +
    + +
    +
    Used to define the variable type of the current instance of this class.
    +
    + +
    +
    The base implementation for the KLL sketch iterator hierarchy used for viewing the + non-ordered quantiles retained by a sketch.
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/package-tree.html b/docs/621/merge/org/apache/datasketches/kll/package-tree.html new file mode 100644 index 000000000..8f68194f3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/package-tree.html @@ -0,0 +1,106 @@ + + + + +org.apache.datasketches.kll Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.kll

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/kll/package-use.html b/docs/621/merge/org/apache/datasketches/kll/package-use.html new file mode 100644 index 000000000..405862979 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/kll/package-use.html @@ -0,0 +1,118 @@ + + + + +Uses of Package org.apache.datasketches.kll (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.kll

+
+
Packages that use org.apache.datasketches.kll
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/package-summary.html b/docs/621/merge/org/apache/datasketches/package-summary.html new file mode 100644 index 000000000..41f8e6abf --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/package-summary.html @@ -0,0 +1,174 @@ + + + + +org.apache.datasketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches

+
+
+
package org.apache.datasketches
+
+
This package is the parent package for all sketch families and common code areas.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/package-tree.html b/docs/621/merge/org/apache/datasketches/package-tree.html new file mode 100644 index 000000000..cd0931a19 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/package-tree.html @@ -0,0 +1,66 @@ + + + + +org.apache.datasketches Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches

+Package Hierarchies: + +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/package-use.html b/docs/621/merge/org/apache/datasketches/package-use.html new file mode 100644 index 000000000..7a2267ea2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package org.apache.datasketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches

+
+No usage of org.apache.datasketches
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/BoundsRule.html b/docs/621/merge/org/apache/datasketches/partitions/BoundsRule.html new file mode 100644 index 000000000..7af453b68 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/BoundsRule.html @@ -0,0 +1,252 @@ + + + + +BoundsRule (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class BoundsRule

+
+
java.lang.Object +
java.lang.Enum<BoundsRule> +
org.apache.datasketches.partitions.BoundsRule
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<BoundsRule>, Constable
+
+
+
public enum BoundsRule +extends Enum<BoundsRule>
+
This instructs the user about which of the upper and lower bounds of a partition definition row + should be included with the returned data.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      INCLUDE_BOTH

      +
      public static final BoundsRule INCLUDE_BOTH
      +
      Include both the upper and lower bounds
      +
      +
    • +
    • +
      +

      INCLUDE_UPPER

      +
      public static final BoundsRule INCLUDE_UPPER
      +
      Include only the upper bound but not the lower bound
      +
      +
    • +
    • +
      +

      INCLUDE_LOWER

      +
      public static final BoundsRule INCLUDE_LOWER
      +
      Include only the lower bound but not the upper bound
      +
      +
    • +
    • +
      +

      INCLUDE_NEITHER

      +
      public static final BoundsRule INCLUDE_NEITHER
      +
      Include none
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static BoundsRule[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static BoundsRule valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/Partitioner.PartitionBoundsRow.html b/docs/621/merge/org/apache/datasketches/partitions/Partitioner.PartitionBoundsRow.html new file mode 100644 index 000000000..3d41385d6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/Partitioner.PartitionBoundsRow.html @@ -0,0 +1,240 @@ + + + + +Partitioner.PartitionBoundsRow (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Partitioner.PartitionBoundsRow<T>

+
+
java.lang.Object +
org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow<T>
+
+
+
+
Type Parameters:
+
T - the item class type
+
+
+
Enclosing class:
+
Partitioner<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>>
+
+
+
public static class Partitioner.PartitionBoundsRow<T> +extends Object
+
Defines a row for List of PartitionBounds.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      part

      +
      public int part
      +
      The partition index
      +
      +
    • +
    • +
      +

      levelPartId

      +
      public String levelPartId
      +
      A brief string description of the partition and its hierarchy
      +
      +
    • +
    • +
      +

      approxNumDeltaItems

      +
      public long approxNumDeltaItems
      +
      The approximate number of items represented by this partition description row.
      +
      +
    • +
    • +
      +

      rule

      +
      public BoundsRule rule
      +
      The BoundsRule for this partition description row.
      +
      +
    • +
    • +
      +

      lowerBound

      +
      public T lowerBound
      +
      The lower bound value
      +
      +
    • +
    • +
      +

      upperBound

      +
      public T upperBound
      +
      The upper bound value
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PartitionBoundsRow

      +
      public PartitionBoundsRow(Partitioner.StackElement<T> se)
      +
      The constructor for the StackElement class.
      +
      +
      Parameters:
      +
      se - the given stack element.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/Partitioner.StackElement.html b/docs/621/merge/org/apache/datasketches/partitions/Partitioner.StackElement.html new file mode 100644 index 000000000..314f99696 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/Partitioner.StackElement.html @@ -0,0 +1,210 @@ + + + + +Partitioner.StackElement (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Partitioner.StackElement<T>

+
+
java.lang.Object +
org.apache.datasketches.partitions.Partitioner.StackElement<T>
+
+
+
+
Type Parameters:
+
T - the item class type
+
+
+
Enclosing class:
+
Partitioner<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>>
+
+
+
public static class Partitioner.StackElement<T> +extends Object
+
Holds data for a Stack element
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      gpb

      +
      public final GenericPartitionBoundaries<T> gpb
      +
      A reference to the relevant GenericPartitionBoundaries class
      +
      +
    • +
    • +
      +

      part

      +
      public int part
      +
      The partition index
      +
      +
    • +
    • +
      +

      levelPartId

      +
      public String levelPartId
      +
      A brief string description of the partition and its hierarchy
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      StackElement

      +
      public StackElement(GenericPartitionBoundaries<T> gpb, + int part, + String levelPartId)
      +
      Constructs this StackElement
      +
      +
      Parameters:
      +
      gpb - the given GenericPartitionBoundarie reference
      +
      part - The partition index
      +
      levelPartId - A brief string description of the partition and its hierarchy
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/Partitioner.html b/docs/621/merge/org/apache/datasketches/partitions/Partitioner.html new file mode 100644 index 000000000..300eec16f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/Partitioner.html @@ -0,0 +1,249 @@ + + + + +Partitioner (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Partitioner<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>>

+
+
java.lang.Object +
org.apache.datasketches.partitions.Partitioner<T,S>
+
+
+
+
Type Parameters:
+
T - the data type
+
S - the quantiles sketch that implements both QuantilesGenericAPI and PartitioningFeature.
+
+
+
public class Partitioner<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>> +extends Object
+
A partitioning process that can partition very large data sets into thousands + of partitions of approximately the same size. + +

The code included here does work fine for moderate sized partitioning tasks. + As an example, using the test code in the test branch with the partitioning task of splitting + a data set of 1 billion items into 324 partitions of size 3M items completed in under 3 minutes, which was + performed on a single CPU. For much larger partitioning tasks, it is recommended that this code be leveraged into a + parallelized systems environment.

+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Partitioner

      +
      public Partitioner(long tgtPartitionSize, + int maxPartsPerPass, + SketchFillRequest<T,S> fillReq)
      +
      This constructor assumes a QuantileSearchCriteria of INCLUSIVE.
      +
      +
      Parameters:
      +
      tgtPartitionSize - the target size of the resulting partitions in number of items.
      +
      maxPartsPerPass - The maximum number of partitions to request from the sketch. The smaller this number is + the smaller the variance will be of the resulting partitions, but this will increase the number of passes of the + source data set.
      +
      fillReq - The is an implementation of the SketchFillRequest call-back supplied by the user and implements + the SketchFillRequest interface.
      +
      +
      +
    • +
    • +
      +

      Partitioner

      +
      public Partitioner(long tgtPartitionSize, + int maxPartsPerSk, + SketchFillRequest<T,S> fillReq, + QuantileSearchCriteria criteria)
      +
      This constructor includes the QuantileSearchCriteria criteria as a parameter.
      +
      +
      Parameters:
      +
      tgtPartitionSize - the target size of the resulting partitions in number of items.
      +
      maxPartsPerSk - The maximum number of partitions to request from the sketch. The smaller this number is + the smaller the variance will be of the resulting partitions, but this will increase the number of passes of the + source data set.
      +
      fillReq - The is an implementation of the SketchFillRequest call-back supplied by the user.
      +
      criteria - This is the desired QuantileSearchCriteria to be used.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      partition

      +
      public List<Partitioner.PartitionBoundsRow<T>> partition(S sk)
      +
      This initiates the partitioning process
      +
      +
      Parameters:
      +
      sk - A sketch of the entire data set.
      +
      Returns:
      +
      the final partitioning list
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/SketchFillRequest.html b/docs/621/merge/org/apache/datasketches/partitions/SketchFillRequest.html new file mode 100644 index 000000000..f61300846 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/SketchFillRequest.html @@ -0,0 +1,160 @@ + + + + +SketchFillRequest (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SketchFillRequest<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>>

+
+
+
+
Type Parameters:
+
T - the item class type
+
S - the sketch type
+
+
+
public interface SketchFillRequest<T,S extends QuantilesGenericAPI<T> & PartitioningFeature<T>>
+
This is a callback request to the data source to fill a quantiles sketch, + which is returned to the caller.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    getRange(T lowerQuantile, + T upperQuantile, + BoundsRule boundsRule)
    +
    +
    This is a callback request to the data source to fill a quantiles sketch + with a range of data between upper and lower bounds.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getRange

      +
      S getRange(T lowerQuantile, + T upperQuantile, + BoundsRule boundsRule)
      +
      This is a callback request to the data source to fill a quantiles sketch + with a range of data between upper and lower bounds. Which of these bounds are to be included is determined by + the BoundsRule. + +

      This range of data may or may not be subsequently further partitioned.

      +
      +
      Parameters:
      +
      lowerQuantile - the lowest quantile of a range
      +
      upperQuantile - the highest quantile of a range
      +
      boundsRule - determines which quantile bounds to include
      +
      Returns:
      +
      a quantiles sketch filled from the given upper and lower bounds.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/class-use/BoundsRule.html b/docs/621/merge/org/apache/datasketches/partitions/class-use/BoundsRule.html new file mode 100644 index 000000000..0a48a044f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/class-use/BoundsRule.html @@ -0,0 +1,120 @@ + + + + +Uses of Enum Class org.apache.datasketches.partitions.BoundsRule (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.partitions.BoundsRule

+
+
Packages that use BoundsRule
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.PartitionBoundsRow.html b/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.PartitionBoundsRow.html new file mode 100644 index 000000000..f7d68159c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.PartitionBoundsRow.html @@ -0,0 +1,89 @@ + + + + +Uses of Class org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.partitions.Partitioner.PartitionBoundsRow

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.StackElement.html b/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.StackElement.html new file mode 100644 index 000000000..5a894e26b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.StackElement.html @@ -0,0 +1,89 @@ + + + + +Uses of Class org.apache.datasketches.partitions.Partitioner.StackElement (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.partitions.Partitioner.StackElement

+
+
Packages that use Partitioner.StackElement
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.html b/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.html new file mode 100644 index 000000000..d1e40c215 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/class-use/Partitioner.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.partitions.Partitioner (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.partitions.Partitioner

+
+No usage of org.apache.datasketches.partitions.Partitioner
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/class-use/SketchFillRequest.html b/docs/621/merge/org/apache/datasketches/partitions/class-use/SketchFillRequest.html new file mode 100644 index 000000000..250fc424f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/class-use/SketchFillRequest.html @@ -0,0 +1,99 @@ + + + + +Uses of Interface org.apache.datasketches.partitions.SketchFillRequest (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.partitions.SketchFillRequest

+
+
Packages that use SketchFillRequest
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/package-summary.html b/docs/621/merge/org/apache/datasketches/partitions/package-summary.html new file mode 100644 index 000000000..34c767cd8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/package-summary.html @@ -0,0 +1,127 @@ + + + + +org.apache.datasketches.partitions (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.partitions

+
+
+
package org.apache.datasketches.partitions
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    This instructs the user about which of the upper and lower bounds of a partition definition row + should be included with the returned data.
    +
    + +
    +
    A partitioning process that can partition very large data sets into thousands + of partitions of approximately the same size.
    +
    + +
    +
    Defines a row for List of PartitionBounds.
    +
    + +
    +
    Holds data for a Stack element
    +
    + +
    +
    This is a callback request to the data source to fill a quantiles sketch, + which is returned to the caller.
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/package-tree.html b/docs/621/merge/org/apache/datasketches/partitions/package-tree.html new file mode 100644 index 000000000..aab1deb2e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/package-tree.html @@ -0,0 +1,98 @@ + + + + +org.apache.datasketches.partitions Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.partitions

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/partitions/package-use.html b/docs/621/merge/org/apache/datasketches/partitions/package-use.html new file mode 100644 index 000000000..298b8b56d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/partitions/package-use.html @@ -0,0 +1,100 @@ + + + + +Uses of Package org.apache.datasketches.partitions (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.partitions

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/ClassicUtil.html b/docs/621/merge/org/apache/datasketches/quantiles/ClassicUtil.html new file mode 100644 index 000000000..1f42cddf7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/ClassicUtil.html @@ -0,0 +1,182 @@ + + + + +ClassicUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ClassicUtil

+
+
java.lang.Object +
org.apache.datasketches.quantiles.ClassicUtil
+
+
+
+
public final class ClassicUtil +extends Object
+
Utilities for the classic quantiles sketches and independent of the type.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getNormalizedRankError

      +
      public static double getNormalizedRankError(int k, + boolean pmf)
      +
      Used by Classic Quantiles. + Gets the normalized rank error given k and pmf for the Quantiles DoubleSketch and ItemsSketch.
      +
      +
      Parameters:
      +
      k - the configuration parameter
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, the normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getKFromEpsilon

      +
      public static int getKFromEpsilon(double epsilon, + boolean pmf)
      +
      Used by Classic Quantiles. + Gets the approximate k to use given epsilon, the normalized rank error + for the Quantiles DoubleSketch and ItemsSketch.
      +
      +
      Parameters:
      +
      epsilon - the normalized rank error between zero and one.
      +
      pmf - if true, this function returns k assuming the input epsilon + is the desired "double-sided" epsilon for the getPMF() function. Otherwise, this function + returns k assuming the input epsilon is the desired "single-sided" + epsilon for all the other queries.
      +
      Returns:
      +
      k given epsilon.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/CompactDoublesSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/CompactDoublesSketch.html new file mode 100644 index 000000000..5b2f8cf99 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/CompactDoublesSketch.html @@ -0,0 +1,215 @@ + + + + +CompactDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CompactDoublesSketch

+
+
java.lang.Object +
org.apache.datasketches.quantiles.DoublesSketch +
org.apache.datasketches.quantiles.CompactDoublesSketch
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI, QuantilesDoublesAPI
+
+
+
public abstract class CompactDoublesSketch +extends DoublesSketch
+
Compact sketches are inherently read only.
+
+
Author:
+
Jon Malkin
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isReadOnly

      +
      public boolean isReadOnly()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is read only.
      +
      +
      Specified by:
      +
      isReadOnly in interface QuantilesAPI
      +
      Specified by:
      +
      isReadOnly in class DoublesSketch
      +
      Returns:
      +
      true if this sketch is read only.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Description copied from class: DoublesSketch
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      + +

      The parameter k will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      Specified by:
      +
      reset in class DoublesSketch
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double quantile)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Updates this sketch with the given item.
      +
      +
      Parameters:
      +
      quantile - from a stream of items. NaNs are ignored.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketch.html new file mode 100644 index 000000000..24dca3a25 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketch.html @@ -0,0 +1,1244 @@ + + + + +DoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoublesSketch

+
+
java.lang.Object +
org.apache.datasketches.quantiles.DoublesSketch
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI, QuantilesDoublesAPI
+
+
+
Direct Known Subclasses:
+
CompactDoublesSketch, UpdateDoublesSketch
+
+
+
public abstract class DoublesSketch +extends Object +implements QuantilesDoublesAPI
+
This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using doubles, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi: + +

Reference:

+ +

A k of 128 produces a normalized, rank error of about 1.7%. + For example, the median returned from getQuantile(0.5) will be between the actual quantiles + from the hypothetically sorted array of input quantiles at normalized ranks of 0.483 and 0.517, with + a confidence of about 99%.

+ +
+Table Guide for DoublesSketch Size in Bytes and Approximate Error:
+          K => |      16      32      64     128     256     512   1,024
+    ~ Error => | 12.145%  6.359%  3.317%  1.725%  0.894%  0.463%  0.239%
+             N | Size in Bytes ->
+------------------------------------------------------------------------
+             0 |       8       8       8       8       8       8       8
+             1 |      72      72      72      72      72      72      72
+             3 |      72      72      72      72      72      72      72
+             7 |     104     104     104     104     104     104     104
+            15 |     168     168     168     168     168     168     168
+            31 |     296     296     296     296     296     296     296
+            63 |     424     552     552     552     552     552     552
+           127 |     552     808   1,064   1,064   1,064   1,064   1,064
+           255 |     680   1,064   1,576   2,088   2,088   2,088   2,088
+           511 |     808   1,320   2,088   3,112   4,136   4,136   4,136
+         1,023 |     936   1,576   2,600   4,136   6,184   8,232   8,232
+         2,047 |   1,064   1,832   3,112   5,160   8,232  12,328  16,424
+         4,095 |   1,192   2,088   3,624   6,184  10,280  16,424  24,616
+         8,191 |   1,320   2,344   4,136   7,208  12,328  20,520  32,808
+        16,383 |   1,448   2,600   4,648   8,232  14,376  24,616  41,000
+        32,767 |   1,576   2,856   5,160   9,256  16,424  28,712  49,192
+        65,535 |   1,704   3,112   5,672  10,280  18,472  32,808  57,384
+       131,071 |   1,832   3,368   6,184  11,304  20,520  36,904  65,576
+       262,143 |   1,960   3,624   6,696  12,328  22,568  41,000  73,768
+       524,287 |   2,088   3,880   7,208  13,352  24,616  45,096  81,960
+     1,048,575 |   2,216   4,136   7,720  14,376  26,664  49,192  90,152
+     2,097,151 |   2,344   4,392   8,232  15,400  28,712  53,288  98,344
+     4,194,303 |   2,472   4,648   8,744  16,424  30,760  57,384 106,536
+     8,388,607 |   2,600   4,904   9,256  17,448  32,808  61,480 114,728
+    16,777,215 |   2,728   5,160   9,768  18,472  34,856  65,576 122,920
+    33,554,431 |   2,856   5,416  10,280  19,496  36,904  69,672 131,112
+    67,108,863 |   2,984   5,672  10,792  20,520  38,952  73,768 139,304
+   134,217,727 |   3,112   5,928  11,304  21,544  41,000  77,864 147,496
+   268,435,455 |   3,240   6,184  11,816  22,568  43,048  81,960 155,688
+   536,870,911 |   3,368   6,440  12,328  23,592  45,096  86,056 163,880
+ 1,073,741,823 |   3,496   6,696  12,840  24,616  47,144  90,152 172,072
+ 2,147,483,647 |   3,624   6,952  13,352  25,640  49,192  94,248 180,264
+ 4,294,967,295 |   3,752   7,208  13,864  26,664  51,240  98,344 188,456
+ 
+
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface org.apache.datasketches.quantilescommon.QuantilesAPI

    +EMPTY_MSG, MEM_REQ_SVR_NULL_MSG, NOT_SINGLE_ITEM_MSG, SELF_MERGE_MSG, TGT_IS_READ_ONLY_MSG, UNSUPPORTED_MSG
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns a new builder
    +
    + +
    downSample(DoublesSketch srcSketch, + int smallerK, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    From an source sketch, create a new sketch that must have a smaller K.
    +
    +
    double[]
    +
    getCDF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    static int
    +
    getCompactSerialiedSizeBytes(int k, + long n)
    +
    +
    Returns the number of bytes a DoublesSketch would require to store in compact form + given k and n.
    +
    +
    int
    + +
    +
    Returns the current number of bytes this sketch would require to store in the compact Memory Format.
    +
    +
    int
    + +
    +
    Returns the current number of bytes this sketch would require to store in the updatable Memory Format.
    +
    +
    int
    + +
    +
    Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
    +
    +
    static int
    +
    getKFromEpsilon(double epsilon, + boolean pmf)
    +
    +
    Gets the approximate k to use given epsilon, the normalized rank error.
    +
    +
    abstract double
    + +
    +
    Returns the maximum item of the stream.
    +
    +
    abstract double
    + +
    +
    Returns the minimum item of the stream.
    +
    +
    abstract long
    + +
    +
    Gets the length of the input stream offered to the sketch..
    +
    +
    double
    + +
    +
    Gets the approximate rank error of this sketch normalized as a fraction between zero and one.
    +
    +
    static double
    +
    getNormalizedRankError(int k, + boolean pmf)
    +
    +
    Gets the normalized rank error given k and pmf.
    +
    +
    int
    + +
    +
    Gets the number of quantiles retained by the sketch.
    +
    +
    double[]
    +
    getPMF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    double
    +
    getQuantile(double rank, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the approximate quantile of the given normalized rank and the given search criterion.
    +
    +
    double
    +
    getQuantileLowerBound(double rank)
    +
    +
    Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
    +
    +
    double[]
    +
    getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets an array of quantiles from the given array of normalized ranks.
    +
    +
    double
    +
    getQuantileUpperBound(double rank)
    +
    +
    Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
    +
    +
    double
    +
    getRank(double quantile, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the normalized rank corresponding to the given a quantile.
    +
    +
    double
    +
    getRankLowerBound(double rank)
    +
    +
    Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
    +
    +
    double[]
    +
    getRanks(double[] quantiles, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
    +
    +
    double
    +
    getRankUpperBound(double rank)
    +
    +
    Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
    +
    +
    int
    + +
    +
    Returns the current number of bytes this Sketch would require if serialized.
    +
    + + +
    +
    Gets the sorted view of this sketch
    +
    +
    static int
    +
    getUpdatableStorageBytes(int k, + long n)
    +
    +
    Returns the number of bytes a sketch would require to store in updatable form.
    +
    +
    abstract boolean
    + +
    +
    Returns true if this sketch's data structure is backed by Memory or WritableMemory.
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
    +
    +
    abstract boolean
    + +
    +
    Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is empty.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is in estimation mode.
    +
    +
    abstract boolean
    + +
    +
    Returns true if this sketch is read only.
    +
    +
    boolean
    +
    isSameResource(org.apache.datasketches.memory.Memory that)
    +
    +
    Returns true if the backing resource of this is identical with the backing resource + of that.
    +
    + + +
    +
    Gets the iterator for this sketch, which is not sorted.
    +
    +
    void
    +
    putMemory(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Puts the current sketch into the given Memory in compact form if there is sufficient space, + otherwise, it throws an error.
    +
    +
    void
    +
    putMemory(org.apache.datasketches.memory.WritableMemory dstMem, + boolean compact)
    +
    +
    Puts the current sketch into the given Memory if there is sufficient space, otherwise, + throws an error.
    +
    +
    abstract void
    + +
    +
    Resets this sketch to the empty state.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch.
    +
    +
    byte[]
    +
    toByteArray(boolean compact)
    +
    +
    Serialize this sketch in a byte array form.
    +
    + + +
    +
    Returns human readable summary information about this sketch.
    +
    + +
    toString(boolean withLevels, + boolean withLevelsAndItems)
    +
    +
    Returns human readable summary information about this sketch.
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a DoublesSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a DoublesSketch.
    +
    + +
    wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap this sketch around the given Memory image of a DoublesSketch, compact or updatable.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI

    +getCDF, getPMF, getQuantile, getQuantiles, getRank, getRanks, update
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      builder

      +
      public static final DoublesSketchBuilder builder()
      +
      Returns a new builder
      +
      +
      Returns:
      +
      a new builder
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static DoublesSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify takes the sketch image in Memory and instantiates an on-heap Sketch. + The resulting sketch will not retain any link to the source Memory.
      +
      +
      Parameters:
      +
      srcMem - a Memory image of a Sketch. + See Memory
      +
      Returns:
      +
      a heap-based Sketch based on the given Memory
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static DoublesSketch wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap this sketch around the given Memory image of a DoublesSketch, compact or updatable. + A DirectUpdateDoublesSketch can only wrap an updatable array, and a + DirectCompactDoublesSketch can only wrap a compact array.
      +
      +
      Parameters:
      +
      srcMem - the given Memory image of a DoublesSketch that may have data,
      +
      Returns:
      +
      a sketch that wraps the given srcMem
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Specified by:
      +
      getCDF in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public abstract double getMaxItem()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns the maximum item of the stream. This is provided for convenience and may be different from the + item returned by getQuantile(1.0).
      +
      +
      Specified by:
      +
      getMaxItem in interface QuantilesDoublesAPI
      +
      Returns:
      +
      the maximum item of the stream
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public abstract double getMinItem()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns the minimum item of the stream. This is provided for convenience and may be different from the + item returned by getQuantile(0.0).
      +
      +
      Specified by:
      +
      getMinItem in interface QuantilesDoublesAPI
      +
      Returns:
      +
      the minimum item of the stream
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Specified by:
      +
      getPMF in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public double getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public double[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Specified by:
      +
      getQuantiles in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public double getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileLowerBound in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public double getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getQuantileUpperBound in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(double quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank)
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankLowerBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank)
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.99.
      +
      +
      Specified by:
      +
      getRankUpperBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      public double[] getRanks(double[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Specified by:
      +
      getRanks in interface QuantilesDoublesAPI
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      Specified by:
      +
      getK in interface QuantilesAPI
      +
      Returns:
      +
      the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public abstract long getN()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the length of the input stream offered to the sketch..
      +
      +
      Specified by:
      +
      getN in interface QuantilesAPI
      +
      Returns:
      +
      the length of the input stream offered to the sketch.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      public double getNormalizedRankError(boolean pmf)
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the approximate rank error of this sketch normalized as a fraction between zero and one. + The epsilon returned is a best fit to 99 percent confidence empirically measured max error + in thousands of trials.
      +
      +
      Specified by:
      +
      getNormalizedRankError in interface QuantilesAPI
      +
      Parameters:
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      public static double getNormalizedRankError(int k, + boolean pmf)
      +
      Gets the normalized rank error given k and pmf. + Static method version of the getNormalizedRankError(boolean). + The epsilon returned is a best fit to 99 percent confidence empirically measured max error + in thousands of trials.
      +
      +
      Parameters:
      +
      k - the configuration parameter
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, the normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getKFromEpsilon

      +
      public static int getKFromEpsilon(double epsilon, + boolean pmf)
      +
      Gets the approximate k to use given epsilon, the normalized rank error.
      +
      +
      Parameters:
      +
      epsilon - the normalized rank error between zero and one.
      +
      pmf - if true, this function returns k assuming the input epsilon + is the desired "double-sided" epsilon for the getPMF() function. Otherwise, this function + returns k assuming the input epsilon is the desired "single-sided" + epsilon for all the other queries.
      +
      Returns:
      +
      k given epsilon.
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      public abstract boolean hasMemory()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      Specified by:
      +
      hasMemory in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      public abstract boolean isDirect()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      Specified by:
      +
      isDirect in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is empty.
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is in estimation mode.
      +
      +
      Specified by:
      +
      isEstimationMode in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      public abstract boolean isReadOnly()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is read only.
      +
      +
      Specified by:
      +
      isReadOnly in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is read only.
      +
      +
      +
    • +
    • +
      +

      isSameResource

      +
      public boolean isSameResource(org.apache.datasketches.memory.Memory that)
      +
      Returns true if the backing resource of this is identical with the backing resource + of that. The capacities must be the same. If this is a region, + the region offset must also be the same.
      +
      +
      Parameters:
      +
      that - A different non-null object
      +
      Returns:
      +
      true if the backing resource of this is the same as the backing resource + of that.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns a byte array representation of this sketch.
      +
      +
      Specified by:
      +
      toByteArray in interface QuantilesDoublesAPI
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(boolean compact)
      +
      Serialize this sketch in a byte array form.
      +
      +
      Parameters:
      +
      compact - if true the sketch will be serialized in compact form. + DirectCompactDoublesSketch can wrap() only a compact byte array; + DirectUpdateDoublesSketch can wrap() only a updatable byte array.
      +
      Returns:
      +
      this sketch in a byte array form.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Specified by:
      +
      toString in interface QuantilesAPI
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a summary of the key parameters of the sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean withLevels, + boolean withLevelsAndItems)
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Parameters:
      +
      withLevels - if true includes sketch levels array summary information
      +
      withLevelsAndItems - if true include detail of levels array and items array together
      +
      Returns:
      +
      human readable summary information about this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of a DoublesSketch. + Used for debugging.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a DoublesSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of a DoublesSketch. + Used for debugging.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a DoublesSketch.
      +
      +
      +
    • +
    • +
      +

      downSample

      +
      public DoublesSketch downSample(DoublesSketch srcSketch, + int smallerK, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      From an source sketch, create a new sketch that must have a smaller K. + The original sketch is not modified.
      +
      +
      Parameters:
      +
      srcSketch - the sourcing sketch
      +
      smallerK - the new sketch's K that must be smaller than this K. + It is required that this.getK() = smallerK * 2^(nonnegative integer).
      +
      dstMem - the destination Memory. It must not overlap the Memory of this sketch. + If null, a heap sketch will be returned, otherwise it will be off-heap.
      +
      Returns:
      +
      the new sketch.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public int getNumRetained()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the number of quantiles retained by the sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface QuantilesAPI
      +
      Returns:
      +
      the number of quantiles retained by the sketch
      +
      +
      +
    • +
    • +
      +

      getCurrentCompactSerializedSizeBytes

      +
      public int getCurrentCompactSerializedSizeBytes()
      +
      Returns the current number of bytes this sketch would require to store in the compact Memory Format.
      +
      +
      Returns:
      +
      the current number of bytes this sketch would require to store in the compact Memory Format.
      +
      +
      +
    • +
    • +
      +

      getCompactSerialiedSizeBytes

      +
      public static int getCompactSerialiedSizeBytes(int k, + long n)
      +
      Returns the number of bytes a DoublesSketch would require to store in compact form + given k and n. The compact form is not updatable.
      +
      +
      Parameters:
      +
      k - the size configuration parameter for the sketch
      +
      n - the number of quantiles input into the sketch
      +
      Returns:
      +
      the number of bytes required to store this sketch in compact form.
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      public int getSerializedSizeBytes()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Returns the current number of bytes this Sketch would require if serialized.
      +
      +
      Specified by:
      +
      getSerializedSizeBytes in interface QuantilesDoublesAPI
      +
      Returns:
      +
      the number of bytes this sketch would require if serialized.
      +
      +
      +
    • +
    • +
      +

      getCurrentUpdatableSerializedSizeBytes

      +
      public int getCurrentUpdatableSerializedSizeBytes()
      +
      Returns the current number of bytes this sketch would require to store in the updatable Memory Format.
      +
      +
      Returns:
      +
      the current number of bytes this sketch would require to store in the updatable Memory Format.
      +
      +
      +
    • +
    • +
      +

      getUpdatableStorageBytes

      +
      public static int getUpdatableStorageBytes(int k, + long n)
      +
      Returns the number of bytes a sketch would require to store in updatable form. + This uses roughly 2X the storage of the compact form + given k and n.
      +
      +
      Parameters:
      +
      k - the size configuration parameter for the sketch
      +
      n - the number of quantiles input into the sketch
      +
      Returns:
      +
      the number of bytes this sketch would require to store in updatable form.
      +
      +
      +
    • +
    • +
      +

      putMemory

      +
      public void putMemory(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Puts the current sketch into the given Memory in compact form if there is sufficient space, + otherwise, it throws an error.
      +
      +
      Parameters:
      +
      dstMem - the given memory.
      +
      +
      +
    • +
    • +
      +

      putMemory

      +
      public void putMemory(org.apache.datasketches.memory.WritableMemory dstMem, + boolean compact)
      +
      Puts the current sketch into the given Memory if there is sufficient space, otherwise, + throws an error.
      +
      +
      Parameters:
      +
      dstMem - the given memory.
      +
      compact - if true, compacts and sorts the base buffer, which optimizes merge + performance at the cost of slightly increased serialization time.
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public QuantilesDoublesSketchIterator iterator()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Specified by:
      +
      iterator in interface QuantilesDoublesAPI
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public abstract void reset()
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      + +

      The parameter k will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      public final DoublesSketchSortedView getSortedView()
      +
      Description copied from interface: QuantilesDoublesAPI
      +
      Gets the sorted view of this sketch
      +
      +
      Specified by:
      +
      getSortedView in interface QuantilesDoublesAPI
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchBuilder.html b/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchBuilder.html new file mode 100644 index 000000000..207aa1950 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchBuilder.html @@ -0,0 +1,255 @@ + + + + +DoublesSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoublesSketchBuilder

+
+
java.lang.Object +
org.apache.datasketches.quantiles.DoublesSketchBuilder
+
+
+
+
public class DoublesSketchBuilder +extends Object
+
For building a new quantiles DoublesSketch.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructor for a new DoublesSketchBuilder.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns an UpdateDoublesSketch with the current configuration of this Builder.
    +
    + +
    build(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns a quantiles UpdateDoublesSketch with the current configuration of this builder + and the specified backing destination Memory store.
    +
    +
    int
    + +
    +
    Gets the current configured k
    +
    + +
    setK(int k)
    +
    +
    Sets the parameter k that determines the accuracy and size of the sketch.
    +
    + + +
    +
    Creates a human readable string that describes the current configuration of this builder.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoublesSketchBuilder

      +
      public DoublesSketchBuilder()
      +
      Constructor for a new DoublesSketchBuilder. The default configuration is +
        +
      • k: 128. This produces a normalized rank error of about 1.7%
      • +
      • Memory: null
      • +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setK

      +
      public DoublesSketchBuilder setK(int k)
      +
      Sets the parameter k that determines the accuracy and size of the sketch.
      +
      +
      Parameters:
      +
      k - determines the accuracy and size of the sketch. + It is recommended that k be a power of 2 to enable unioning of sketches with + different k. It is only possible to union from + larger k to smaller k.
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Gets the current configured k
      +
      +
      Returns:
      +
      the current configured k
      +
      +
      +
    • +
    • +
      +

      build

      +
      public UpdateDoublesSketch build()
      +
      Returns an UpdateDoublesSketch with the current configuration of this Builder.
      +
      +
      Returns:
      +
      a UpdateDoublesSketch
      +
      +
      +
    • +
    • +
      +

      build

      +
      public UpdateDoublesSketch build(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns a quantiles UpdateDoublesSketch with the current configuration of this builder + and the specified backing destination Memory store.
      +
      +
      Parameters:
      +
      dstMem - destination memory for use by the sketch
      +
      Returns:
      +
      an UpdateDoublesSketch
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Creates a human readable string that describes the current configuration of this builder.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchIterator.html new file mode 100644 index 000000000..e2031aaf1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/DoublesSketchIterator.html @@ -0,0 +1,197 @@ + + + + +DoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoublesSketchIterator

+
+
java.lang.Object +
org.apache.datasketches.quantiles.DoublesSketchIterator
+
+
+
+
All Implemented Interfaces:
+
QuantilesDoublesSketchIterator, QuantilesSketchIterator
+
+
+
public final class DoublesSketchIterator +extends Object +implements QuantilesDoublesSketchIterator
+
Iterator over DoublesSketch. The order is not defined.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double
    + +
    +
    Gets the double quantile at the current index.
    +
    +
    long
    + +
    +
    Gets the natural weight at the current index.
    +
    +
    boolean
    + +
    +
    Advances the index and checks if it is valid.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public double getQuantile()
      +
      Description copied from interface: QuantilesDoublesSketchIterator
      +
      Gets the double quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesDoublesSketchIterator
      +
      Returns:
      +
      the double quantile at the current index.
      +
      +
      +
    • +
    • +
      +

      getWeight

      +
      public long getWeight()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Gets the natural weight at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getWeight in interface QuantilesSketchIterator
      +
      Returns:
      +
      the natural weight at the current index.
      +
      +
      +
    • +
    • +
      +

      next

      +
      public boolean next()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Advances the index and checks if it is valid. + The state of this iterator is undefined before the first call of this method.
      +
      +
      Specified by:
      +
      next in interface QuantilesSketchIterator
      +
      Returns:
      +
      true if the next index is valid.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/DoublesUnion.html b/docs/621/merge/org/apache/datasketches/quantiles/DoublesUnion.html new file mode 100644 index 000000000..8617f7fef --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/DoublesUnion.html @@ -0,0 +1,547 @@ + + + + +DoublesUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoublesUnion

+
+
java.lang.Object +
org.apache.datasketches.quantiles.DoublesUnion
+
+
+
+
public abstract class DoublesUnion +extends Object
+
The API for Union operations for quantiles DoublesSketches
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns a new UnionBuilder
    +
    +
    abstract int
    + +
    +
    Returns the effective k of this Union.
    +
    +
    abstract int
    + +
    +
    Returns the configured maxK of this Union.
    +
    + + +
    +
    Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch.
    +
    + +
    getResult(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Places the result of this Union into the provided memory as an UpdateDoublesSketch, + which enables further update operations on the resulting sketch.
    +
    + + +
    +
    Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch.
    +
    +
    abstract boolean
    + +
    +
    Returns true if this union's data structure is backed by Memory or WritableMemory.
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Returns a Heap Union object that has been initialized with the data from the given memory + image of a sketch.
    +
    + + +
    +
    Returns a Heap Union object that has been initialized with the data from the given sketch.
    +
    +
    abstract boolean
    + +
    +
    Returns true if this union is off-heap (direct)
    +
    +
    abstract boolean
    + +
    +
    Returns true if this union is empty
    +
    +
    abstract boolean
    +
    isSameResource(org.apache.datasketches.memory.Memory that)
    +
    +
    Returns true if the backing resource of this is identical with the backing resource + of that.
    +
    +
    abstract void
    + +
    +
    Resets this Union to a virgin state.
    +
    +
    abstract byte[]
    + +
    +
    Serialize this union to a byte array.
    +
    +
    abstract String
    + +
    +
    Returns summary information about the backing sketch.
    +
    +
    abstract String
    +
    toString(boolean sketchSummary, + boolean dataDetail)
    +
    +
    Returns summary information about the backing sketch.
    +
    +
    abstract void
    +
    union(org.apache.datasketches.memory.Memory mem)
    +
    +
    Iterative union operation, which means this method can be repeatedly called.
    +
    +
    abstract void
    +
    union(DoublesSketch sketchIn)
    +
    +
    Iterative union operation, which means this method can be repeatedly called.
    +
    +
    abstract void
    +
    update(double dataItem)
    +
    +
    Update this union with the given double (or float) data Item.
    +
    + +
    wrap(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a read-only Union object that wraps off-heap data of the given memory image of + a sketch.
    +
    + +
    wrap(org.apache.datasketches.memory.WritableMemory mem)
    +
    +
    Returns an updatable Union object that wraps off-heap data of the given memory image of + a sketch.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoublesUnion

      +
      public DoublesUnion()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      builder

      +
      public static DoublesUnionBuilder builder()
      +
      Returns a new UnionBuilder
      +
      +
      Returns:
      +
      a new UnionBuilder
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static DoublesUnion heapify(DoublesSketch sketch)
      +
      Returns a Heap Union object that has been initialized with the data from the given sketch.
      +
      +
      Parameters:
      +
      sketch - A DoublesSketch to be used as a source of data only and will not be modified.
      +
      Returns:
      +
      a DoublesUnion object
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static DoublesUnion heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Returns a Heap Union object that has been initialized with the data from the given memory + image of a sketch.
      +
      +
      Parameters:
      +
      srcMem - A memory image of a DoublesSketch to be used as a source of data, + but will not be modified.
      +
      Returns:
      +
      a Union object
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static DoublesUnion wrap(org.apache.datasketches.memory.Memory mem)
      +
      Returns a read-only Union object that wraps off-heap data of the given memory image of + a sketch. The data structures of the Union remain off-heap.
      +
      +
      Parameters:
      +
      mem - A memory region to be used as the data structure for the sketch + and will be modified.
      +
      Returns:
      +
      a Union object
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static DoublesUnion wrap(org.apache.datasketches.memory.WritableMemory mem)
      +
      Returns an updatable Union object that wraps off-heap data of the given memory image of + a sketch. The data structures of the Union remain off-heap.
      +
      +
      Parameters:
      +
      mem - A memory region to be used as the data structure for the sketch + and will be modified.
      +
      Returns:
      +
      a Union object
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      public abstract boolean hasMemory()
      +
      Returns true if this union's data structure is backed by Memory or WritableMemory.
      +
      +
      Returns:
      +
      true if this union's data structure is backed by Memory or WritableMemory.
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      public abstract boolean isDirect()
      +
      Returns true if this union is off-heap (direct)
      +
      +
      Returns:
      +
      true if this union is off-heap (direct)
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public abstract boolean isEmpty()
      +
      Returns true if this union is empty
      +
      +
      Returns:
      +
      true if this union is empty
      +
      +
      +
    • +
    • +
      +

      getMaxK

      +
      public abstract int getMaxK()
      +
      Returns the configured maxK of this Union.
      +
      +
      Returns:
      +
      the configured maxK of this Union.
      +
      +
      +
    • +
    • +
      +

      getEffectiveK

      +
      public abstract int getEffectiveK()
      +
      Returns the effective k of this Union.
      +
      +
      Returns:
      +
      the effective k of this Union.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public abstract void union(DoublesSketch sketchIn)
      +
      Iterative union operation, which means this method can be repeatedly called. + Merges the given sketch into this union object. + The given sketch is not modified. + It is required that the ratio of the two K's be a power of 2. + This is easily satisfied if each of the K's are already a power of 2. + If the given sketch is null or empty it is ignored. + +

      It is required that the results of the union operation, which can be obtained at any time, + is obtained from getResult().

      +
      +
      Parameters:
      +
      sketchIn - the sketch to be merged into this one.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public abstract void union(org.apache.datasketches.memory.Memory mem)
      +
      Iterative union operation, which means this method can be repeatedly called. + Merges the given Memory image of a DoublesSketch into this union object. + The given Memory object is not modified and a link to it is not retained. + It is required that the ratio of the two K's be a power of 2. + This is easily satisfied if each of the K's are already a power of 2. + If the given sketch is null or empty it is ignored. + +

      It is required that the results of the union operation, which can be obtained at any time, + is obtained from getResult().

      +
      +
      Parameters:
      +
      mem - Memory image of sketch to be merged
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(double dataItem)
      +
      Update this union with the given double (or float) data Item.
      +
      +
      Parameters:
      +
      dataItem - The given double datum.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract UpdateDoublesSketch getResult()
      +
      Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch. The Union state has not been changed, which allows + further union operations.
      +
      +
      Returns:
      +
      the result of this Union operation
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract UpdateDoublesSketch getResult(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Places the result of this Union into the provided memory as an UpdateDoublesSketch, + which enables further update operations on the resulting sketch. The Union state has not + been changed, which allows further union operations.
      +
      +
      Parameters:
      +
      dstMem - the destination memory for the result
      +
      Returns:
      +
      the result of this Union operation
      +
      +
      +
    • +
    • +
      +

      getResultAndReset

      +
      public abstract UpdateDoublesSketch getResultAndReset()
      +
      Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch. The Union is reset to the virgin state.
      +
      +
      Returns:
      +
      the result of this Union operation and reset.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public abstract void reset()
      +
      Resets this Union to a virgin state.
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public abstract byte[] toByteArray()
      +
      Serialize this union to a byte array. Result is an UpdateDoublesSketch, serialized in an + unordered, non-compact form. The resulting byte[] can be heapified or wrapped as either a + sketch or a union.
      +
      +
      Returns:
      +
      byte array of this union
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public abstract String toString()
      +
      Returns summary information about the backing sketch.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public abstract String toString(boolean sketchSummary, + boolean dataDetail)
      +
      Returns summary information about the backing sketch. Used for debugging.
      +
      +
      Parameters:
      +
      sketchSummary - if true includes sketch summary
      +
      dataDetail - if true includes data detail
      +
      Returns:
      +
      summary information about the sketch.
      +
      +
      +
    • +
    • +
      +

      isSameResource

      +
      public abstract boolean isSameResource(org.apache.datasketches.memory.Memory that)
      +
      Returns true if the backing resource of this is identical with the backing resource + of that. The capacities must be the same. If this is a region, + the region offset must also be the same.
      +
      +
      Parameters:
      +
      that - A different non-null object
      +
      Returns:
      +
      true if the backing resource of this is the same as the backing resource + of that.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/DoublesUnionBuilder.html b/docs/621/merge/org/apache/datasketches/quantiles/DoublesUnionBuilder.html new file mode 100644 index 000000000..71ede8e8d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/DoublesUnionBuilder.html @@ -0,0 +1,241 @@ + + + + +DoublesUnionBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoublesUnionBuilder

+
+
java.lang.Object +
org.apache.datasketches.quantiles.DoublesUnionBuilder
+
+
+
+
public class DoublesUnionBuilder +extends Object
+
For building a new DoublesSketch Union operation.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructor for a new DoublesUnionBuilder.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns a new empty Union object with the current configuration of this Builder.
    +
    + +
    build(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns a new empty Union object with the current configuration of this Builder + and the specified backing destination Memory store.
    +
    +
    int
    + +
    +
    Gets the current configured maxK
    +
    + +
    setMaxK(int maxK)
    +
    +
    Sets the parameter masK that determines the maximum size of the sketch that + results from a union and its accuracy.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoublesUnionBuilder

      +
      public DoublesUnionBuilder()
      +
      Constructor for a new DoublesUnionBuilder. The default configuration is +
        +
      • k: 128. This produces a normalized rank error of about 1.7%
      • +
      • Memory: null
      • +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setMaxK

      +
      public DoublesUnionBuilder setMaxK(int maxK)
      +
      Sets the parameter masK that determines the maximum size of the sketch that + results from a union and its accuracy.
      +
      +
      Parameters:
      +
      maxK - determines the accuracy and size of the union and is a maximum. + The effective k can be smaller due to unions with smaller k sketches. + It is recommended that maxK be a power of 2 to enable unioning of sketches with + different k.
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      getMaxK

      +
      public int getMaxK()
      +
      Gets the current configured maxK
      +
      +
      Returns:
      +
      the current configured maxK
      +
      +
      +
    • +
    • +
      +

      build

      +
      public DoublesUnion build()
      +
      Returns a new empty Union object with the current configuration of this Builder.
      +
      +
      Returns:
      +
      a Union object
      +
      +
      +
    • +
    • +
      +

      build

      +
      public DoublesUnion build(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns a new empty Union object with the current configuration of this Builder + and the specified backing destination Memory store.
      +
      +
      Parameters:
      +
      dstMem - the destination memory
      +
      Returns:
      +
      a Union object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/ItemsSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/ItemsSketch.html new file mode 100644 index 000000000..57f70aade --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/ItemsSketch.html @@ -0,0 +1,1248 @@ + + + + +ItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ItemsSketch<T>

+
+
java.lang.Object +
org.apache.datasketches.quantiles.ItemsSketch<T>
+
+
+
+
Type Parameters:
+
T - The sketch data type
+
+
+
All Implemented Interfaces:
+
PartitioningFeature<T>, QuantilesAPI, QuantilesGenericAPI<T>, SketchPartitionLimits
+
+
+
public final class ItemsSketch<T> +extends Object +implements QuantilesGenericAPI<T>
+
This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using generic items, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi: + +

Reference:

+ +

A k of 128 produces a normalized, rank error of about 1.7%. + For example, the median returned from getQuantile(0.5) will be between the actual quantiles + from the hypothetically sorted array of input quantiles at normalized ranks of 0.483 and 0.517, with + a confidence of about 99%.

+ +

The size of an ItemsSketch is very dependent on the size of the generic Items input into the sketch, + so there is no comparable size table as there is for the DoublesSketch.

+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      rand

      +
      public static final Random rand
      +
      Setting the seed makes the results of the sketch deterministic if the input items are + received in exactly the same order. This is only useful when performing test comparisons, + otherwise, it is not recommended.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstance

      +
      public static <T> ItemsSketch<T> getInstance(Class<T> clazz, + Comparator<? super T> comparator)
      +
      Obtains a new instance of an ItemsSketch using the DEFAULT_K.
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      clazz - the given class of T
      +
      comparator - to compare items
      +
      Returns:
      +
      an ItemSketch<T>.
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      public static <T> ItemsSketch<T> getInstance(Class<T> clazz, + int k, + Comparator<? super T> comparator)
      +
      Obtains a new instance of an ItemsSketch.
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      clazz - the given class of T
      +
      k - Parameter that controls space usage of sketch and accuracy of estimates. + Must be greater than 2 and less than 65536 and a power of 2.
      +
      comparator - to compare items
      +
      Returns:
      +
      an ItemSketch<T>.
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      public static <T> ItemsSketch<T> getInstance(Class<T> clazz, + org.apache.datasketches.memory.Memory srcMem, + Comparator<? super T> comparator, + ArrayOfItemsSerDe<T> serDe)
      +
      Heapifies the given srcMem, which must be a Memory image of a ItemsSketch
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      clazz - the given class of T
      +
      srcMem - a Memory image of a sketch. + See Memory
      +
      comparator - to compare items
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a ItemSketch<T> on the Java heap.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Specified by:
      +
      getCDF in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      public Class<T> getClassOfT()
      +
      +
      Specified by:
      +
      getClassOfT in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the sketch item class
      +
      +
      +
    • +
    • +
      +

      getComparator

      +
      public Comparator<? super T> getComparator()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns the Comparator of T
      +
      +
      Specified by:
      +
      getComparator in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      Comparator of the sketch
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public T getMaxItem()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMaxItem in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the maximum item of the stream
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public T getMinItem()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMinItem in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the minimum item of the stream
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromNumParts

      +
      public GenericPartitionBoundaries<T> getPartitionBoundariesFromNumParts(int numEquallySizedParts, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: PartitioningFeature
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Specified by:
      +
      getPartitionBoundariesFromNumParts in interface PartitioningFeature<T>
      +
      Parameters:
      +
      numEquallySizedParts - an integer that specifies the number of equally sized partitions between + getMinItem() and + getMaxItem(). + This must be a positive integer less than + getMaxPartitions() +
        +
      • A 1 will return: minItem, maxItem.
      • +
      • A 2 will return: minItem, median quantile, maxItem.
      • +
      • Etc.
      • +
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromPartSize

      +
      public GenericPartitionBoundaries<T> getPartitionBoundariesFromPartSize(long nominalPartSizeItems, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: PartitioningFeature
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Specified by:
      +
      getPartitionBoundariesFromPartSize in interface PartitioningFeature<T>
      +
      Parameters:
      +
      nominalPartSizeItems - an integer that specifies the nominal size, in items, of each target partition. + This must be a positive integer greater than + getMinPartitionSizeItems().
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Specified by:
      +
      getPMF in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public T getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public T getQuantileLowerBound(double rank)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Specified by:
      +
      getQuantileLowerBound in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public T getQuantileUpperBound(double rank)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Specified by:
      +
      getQuantileUpperBound in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public T[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Specified by:
      +
      getQuantiles in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(T quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank)
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      Specified by:
      +
      getRankLowerBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank)
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      Specified by:
      +
      getRankUpperBound in interface QuantilesAPI
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      public double[] getRanks(T[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Specified by:
      +
      getRanks in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public QuantilesGenericSketchIterator<T> iterator()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Specified by:
      +
      iterator in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      Specified by:
      +
      getK in interface QuantilesAPI
      +
      Returns:
      +
      the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the length of the input stream offered to the sketch..
      +
      +
      Specified by:
      +
      getN in interface QuantilesAPI
      +
      Specified by:
      +
      getN in interface SketchPartitionLimits
      +
      Returns:
      +
      the length of the input stream offered to the sketch.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      public double getNormalizedRankError(boolean pmf)
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the approximate rank error of this sketch normalized as a fraction between zero and one. + The epsilon returned is a best fit to 99 percent confidence empirically measured max error + in thousands of trials.
      +
      +
      Specified by:
      +
      getNormalizedRankError in interface QuantilesAPI
      +
      Parameters:
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      public static double getNormalizedRankError(int k, + boolean pmf)
      +
      Gets the normalized rank error given k and pmf. + Static method version of the getNormalizedRankError(boolean).
      +
      +
      Parameters:
      +
      k - the configuration parameter
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, the normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getKFromEpsilon

      +
      public static int getKFromEpsilon(double epsilon, + boolean pmf)
      +
      Gets the approximate k to use given epsilon, the normalized rank error.
      +
      +
      Parameters:
      +
      epsilon - the normalized rank error between zero and one.
      +
      pmf - if true, this function returns k assuming the input epsilon + is the desired "double-sided" epsilon for the getPMF() function. Otherwise, this function + returns k assuming the input epsilon is the desired "single-sided" + epsilon for all the other queries.
      +
      Returns:
      +
      k given epsilon.
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      public boolean hasMemory()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      Specified by:
      +
      hasMemory in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is empty.
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      public boolean isDirect()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      Specified by:
      +
      isDirect in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is in estimation mode.
      +
      +
      Specified by:
      +
      isEstimationMode in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      public boolean isReadOnly()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is read only.
      +
      +
      Specified by:
      +
      isReadOnly in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is read only.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Description copied from interface: QuantilesAPI
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<T> serDe)
      +
      Serialize this sketch to a byte array form.
      +
      +
      Parameters:
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      byte array of this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(boolean ordered, + ArrayOfItemsSerDe<T> serDe)
      +
      Serialize this sketch to a byte array form.
      +
      +
      Parameters:
      +
      ordered - if true the base buffer will be ordered (default == false).
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      this sketch in a byte array form.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Specified by:
      +
      toString in interface QuantilesAPI
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a summary of the key parameters of the sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean withLevels, + boolean withLevelsAndItems)
      +
      Returns human readable summary information about this sketch. + Used for debugging.
      +
      +
      Parameters:
      +
      withLevels - if true includes sketch levels array summary information
      +
      withLevelsAndItems - if true include detail of levels array and items array together
      +
      Returns:
      +
      human readable summary information about this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of an ItemsSketch. + Used for debugging.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of an ItemsSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of an ItemsSketch. + Used for debugging.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of an ItemsSketch.
      +
      +
      +
    • +
    • +
      +

      downSample

      +
      public ItemsSketch<T> downSample(int newK)
      +
      From an existing sketch, this creates a new sketch that can have a smaller K. + The original sketch is not modified.
      +
      +
      Parameters:
      +
      newK - the new K that must be smaller than current K. + It is required that this.getK() = newK * 2^(nonnegative integer).
      +
      Returns:
      +
      the new sketch.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public int getNumRetained()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the number of quantiles retained by the sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface QuantilesAPI
      +
      Returns:
      +
      the number of quantiles retained by the sketch
      +
      +
      +
    • +
    • +
      +

      putMemory

      +
      public void putMemory(org.apache.datasketches.memory.WritableMemory dstMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Puts the current sketch into the given Memory if there is sufficient space. + Otherwise, throws an error.
      +
      +
      Parameters:
      +
      dstMem - the given memory.
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item)
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Updates this sketch with the given item.
      +
      +
      Specified by:
      +
      update in interface QuantilesGenericAPI<T>
      +
      Parameters:
      +
      item - from a stream of items. Nulls are ignored.
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      public ItemsSketchSortedView<T> getSortedView()
      +
      Description copied from interface: QuantilesGenericAPI
      +
      Gets the sorted view of this sketch
      +
      +
      Specified by:
      +
      getSortedView in interface QuantilesGenericAPI<T>
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/ItemsSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantiles/ItemsSketchIterator.html new file mode 100644 index 000000000..b48feaea6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/ItemsSketchIterator.html @@ -0,0 +1,201 @@ + + + + +ItemsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ItemsSketchIterator<T>

+
+
java.lang.Object +
org.apache.datasketches.quantiles.ItemsSketchIterator<T>
+
+
+
+
Type Parameters:
+
T - type of item
+
+
+
All Implemented Interfaces:
+
QuantilesGenericSketchIterator<T>, QuantilesSketchIterator
+
+
+
public final class ItemsSketchIterator<T> +extends Object +implements QuantilesGenericSketchIterator<T>
+
Iterator over ItemsSketch. The order is not defined.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Gets the generic quantile at the current index.
    +
    +
    long
    + +
    +
    Gets the natural weight at the current index.
    +
    +
    boolean
    + +
    +
    Advances the index and checks if it is valid.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public T getQuantile()
      +
      Description copied from interface: QuantilesGenericSketchIterator
      +
      Gets the generic quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesGenericSketchIterator<T>
      +
      Returns:
      +
      the generic quantile at the current index.
      +
      +
      +
    • +
    • +
      +

      getWeight

      +
      public long getWeight()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Gets the natural weight at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getWeight in interface QuantilesSketchIterator
      +
      Returns:
      +
      the natural weight at the current index.
      +
      +
      +
    • +
    • +
      +

      next

      +
      public boolean next()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Advances the index and checks if it is valid. + The state of this iterator is undefined before the first call of this method.
      +
      +
      Specified by:
      +
      next in interface QuantilesSketchIterator
      +
      Returns:
      +
      true if the next index is valid.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/ItemsUnion.html b/docs/621/merge/org/apache/datasketches/quantiles/ItemsUnion.html new file mode 100644 index 000000000..bb93262bd --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/ItemsUnion.html @@ -0,0 +1,474 @@ + + + + +ItemsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ItemsUnion<T>

+
+
java.lang.Object +
org.apache.datasketches.quantiles.ItemsUnion<T>
+
+
+
+
Type Parameters:
+
T - type of item
+
+
+
public final class ItemsUnion<T> +extends Object
+
The API for Union operations for generic ItemsSketches
+
+
Author:
+
Lee Rhodes, Alexander Saydakov
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Returns the effective k of this Union.
    +
    +
    static <T> ItemsUnion<T>
    +
    getInstance(Class<T> clazz, + int maxK, + Comparator<? super T> comparator)
    +
    +
    Create an instance of ItemsUnion
    +
    +
    static <T> ItemsUnion<T>
    +
    getInstance(Class<T> clazz, + Comparator<? super T> comparator)
    +
    +
    Create an instance of ItemsUnion with the default k
    +
    +
    static <T> ItemsUnion<T>
    +
    getInstance(Class<T> clazz, + org.apache.datasketches.memory.Memory srcMem, + Comparator<? super T> comparator, + ArrayOfItemsSerDe<T> serDe)
    +
    +
    Heapify the given srcMem into a Union object.
    +
    +
    static <T> ItemsUnion<T>
    + +
    +
    Create an instance of ItemsUnion based on ItemsSketch
    +
    +
    int
    + +
    +
    Returns the configured maxK of this Union.
    +
    + + +
    +
    Gets the result of this Union operation as a copy of the internal state.
    +
    + + +
    +
    Gets the result of this Union operation (without a copy) and resets this Union to the + virgin state.
    +
    +
    boolean
    + +
    +
    Returns true if this union is direct
    +
    +
    boolean
    + +
    +
    Returns true if this union is empty
    +
    +
    void
    + +
    +
    Resets this Union to a virgin state.
    +
    +
    byte[]
    + +
    +
    Serialize this union to a byte array.
    +
    + + +
    +
    Returns summary information about the backing sketch.
    +
    + +
    toString(boolean sketchSummary, + boolean dataDetail)
    +
    +
    Returns summary information about the backing sketch.
    +
    +
    void
    +
    union(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
    +
    +
    Iterative union operation, which means this method can be repeatedly called.
    +
    +
    void
    +
    union(ItemsSketch<T> sketchIn)
    +
    +
    Iterative union operation, which means this method can be repeatedly called.
    +
    +
    void
    +
    update(T dataItem)
    +
    +
    Update this union with the given dataItem.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInstance

      +
      public static <T> ItemsUnion<T> getInstance(Class<T> clazz, + Comparator<? super T> comparator)
      +
      Create an instance of ItemsUnion with the default k
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      clazz - The sketch class type
      +
      comparator - to compare items
      +
      Returns:
      +
      an instance of ItemsUnion
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      public static <T> ItemsUnion<T> getInstance(Class<T> clazz, + int maxK, + Comparator<? super T> comparator)
      +
      Create an instance of ItemsUnion
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      clazz - The sketch class type
      +
      maxK - determines the accuracy and size of the union and is a maximum. + The effective k can be smaller due to unions with smaller k sketches. + It is recommended that maxK be a power of 2 to enable unioning of sketches with a + different k.
      +
      comparator - to compare items
      +
      Returns:
      +
      an instance of ItemsUnion
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      public static <T> ItemsUnion<T> getInstance(Class<T> clazz, + org.apache.datasketches.memory.Memory srcMem, + Comparator<? super T> comparator, + ArrayOfItemsSerDe<T> serDe)
      +
      Heapify the given srcMem into a Union object.
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      clazz - The sketch class type + A reference to srcMem will not be maintained internally.
      +
      srcMem - the given srcMem.
      +
      comparator - to compare items
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      an instance of ItemsUnion
      +
      +
      +
    • +
    • +
      +

      getInstance

      +
      public static <T> ItemsUnion<T> getInstance(ItemsSketch<T> sketch)
      +
      Create an instance of ItemsUnion based on ItemsSketch
      +
      +
      Type Parameters:
      +
      T - The sketch data type
      +
      Parameters:
      +
      sketch - the basis of the union
      +
      Returns:
      +
      an instance of ItemsUnion
      +
      +
      +
    • +
    • +
      +

      union

      +
      public void union(ItemsSketch<T> sketchIn)
      +
      Iterative union operation, which means this method can be repeatedly called. + Merges the given sketch into this union object. + The given sketch is not modified. + It is required that the ratio of the two K's be a power of 2. + This is easily satisfied if each of the K's are already a power of 2. + If the given sketch is null or empty it is ignored. + +

      It is required that the results of the union operation, which can be obtained at any time, + is obtained from getResult().

      +
      +
      Parameters:
      +
      sketchIn - the sketch to be merged into this one.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public void union(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Iterative union operation, which means this method can be repeatedly called. + Merges the given Memory image of a ItemsSketch into this union object. + The given Memory object is not modified and a link to it is not retained. + It is required that the ratio of the two K's be a power of 2. + This is easily satisfied if each of the K's are already a power of 2. + If the given sketch is null or empty it is ignored. + +

      It is required that the results of the union operation, which can be obtained at any time, + is obtained from getResult().

      +
      +
      Parameters:
      +
      srcMem - Memory image of sketch to be merged
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T dataItem)
      +
      Update this union with the given dataItem.
      +
      +
      Parameters:
      +
      dataItem - The given datum.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ItemsSketch<T> getResult()
      +
      Gets the result of this Union operation as a copy of the internal state. + This enables further union update operations on this state.
      +
      +
      Returns:
      +
      the result of this Union operation
      +
      +
      +
    • +
    • +
      +

      getResultAndReset

      +
      public ItemsSketch<T> getResultAndReset()
      +
      Gets the result of this Union operation (without a copy) and resets this Union to the + virgin state.
      +
      +
      Returns:
      +
      the result of this Union operation and reset.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this Union to a virgin state. + Keeps maxK, comparator and clazz
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Returns true if this union is empty
      +
      +
      Returns:
      +
      true if this union is empty
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      public boolean isDirect()
      +
      Returns true if this union is direct
      +
      +
      Returns:
      +
      true if this union is direct
      +
      +
      +
    • +
    • +
      +

      getMaxK

      +
      public int getMaxK()
      +
      Returns the configured maxK of this Union.
      +
      +
      Returns:
      +
      the configured maxK of this Union.
      +
      +
      +
    • +
    • +
      +

      getEffectiveK

      +
      public int getEffectiveK()
      +
      Returns the effective k of this Union.
      +
      +
      Returns:
      +
      the effective k of this Union.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns summary information about the backing sketch.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean sketchSummary, + boolean dataDetail)
      +
      Returns summary information about the backing sketch. Used for debugging.
      +
      +
      Parameters:
      +
      sketchSummary - if true includes sketch summary
      +
      dataDetail - if true includes data detail
      +
      Returns:
      +
      summary information about the sketch.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<T> serDe)
      +
      Serialize this union to a byte array. Result is an ItemsSketch, serialized in an + unordered, non-compact form. The resulting byte[] can be passed to getInstance for either a + sketch or union.
      +
      +
      Parameters:
      +
      serDe - an instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      byte array of this union
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/UpdateDoublesSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/UpdateDoublesSketch.html new file mode 100644 index 000000000..003be5e82 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/UpdateDoublesSketch.html @@ -0,0 +1,238 @@ + + + + +UpdateDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UpdateDoublesSketch

+
+
java.lang.Object +
org.apache.datasketches.quantiles.DoublesSketch +
org.apache.datasketches.quantiles.UpdateDoublesSketch
+
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI, QuantilesDoublesAPI
+
+
+
public abstract class UpdateDoublesSketch +extends DoublesSketch
+
+
Author:
+
Jon Malkin
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      wrap

      +
      public static UpdateDoublesSketch wrap(org.apache.datasketches.memory.WritableMemory srcMem)
      +
      Wrap this sketch around the given non-compact Memory image of a DoublesSketch.
      +
      +
      Parameters:
      +
      srcMem - the given Memory image of a DoublesSketch that may have data,
      +
      Returns:
      +
      a sketch that wraps the given srcMem
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(double item)
      +
      Updates this sketch with the given double data item
      +
      +
      Parameters:
      +
      item - an item from a stream of items. NaNs are ignored.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static UpdateDoublesSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch. + The resulting sketch will not retain any link to the source Memory.
      +
      +
      Parameters:
      +
      srcMem - a compact Memory image of a sketch serialized by this sketch. + See Memory
      +
      Returns:
      +
      a heap-based sketch based on the given Memory.
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public CompactDoublesSketch compact()
      +
      +
      Returns:
      +
      a CompactDoublesSketch of this class
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public CompactDoublesSketch compact(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns a compact version of this sketch. If passing in a Memory object, the compact sketch + will use that direct memory; otherwise, an on-heap sketch will be returned.
      +
      +
      Parameters:
      +
      dstMem - An optional target memory to hold the sketch.
      +
      Returns:
      +
      A compact version of this sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/ClassicUtil.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ClassicUtil.html new file mode 100644 index 000000000..23818ded8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ClassicUtil.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.ClassicUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.ClassicUtil

+
+No usage of org.apache.datasketches.quantiles.ClassicUtil
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/CompactDoublesSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/CompactDoublesSketch.html new file mode 100644 index 000000000..b4aacf675 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/CompactDoublesSketch.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.CompactDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.CompactDoublesSketch

+
+
Packages that use CompactDoublesSketch
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketch.html new file mode 100644 index 000000000..f03dd0467 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketch.html @@ -0,0 +1,141 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.DoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.DoublesSketch

+
+
Packages that use DoublesSketch
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchBuilder.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchBuilder.html new file mode 100644 index 000000000..4bf621c13 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchBuilder.html @@ -0,0 +1,97 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.DoublesSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.DoublesSketchBuilder

+
+
Packages that use DoublesSketchBuilder
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchIterator.html new file mode 100644 index 000000000..d618cf2c7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesSketchIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.DoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.DoublesSketchIterator

+
+No usage of org.apache.datasketches.quantiles.DoublesSketchIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnion.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnion.html new file mode 100644 index 000000000..0357b1395 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnion.html @@ -0,0 +1,121 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.DoublesUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.DoublesUnion

+
+
Packages that use DoublesUnion
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+
    +
  • +
    +

    Uses of DoublesUnion in org.apache.datasketches.quantiles

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    DoublesUnionBuilder.build()
    +
    +
    Returns a new empty Union object with the current configuration of this Builder.
    +
    + +
    DoublesUnionBuilder.build(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns a new empty Union object with the current configuration of this Builder + and the specified backing destination Memory store.
    +
    + +
    DoublesUnion.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Returns a Heap Union object that has been initialized with the data from the given memory + image of a sketch.
    +
    + +
    DoublesUnion.heapify(DoublesSketch sketch)
    +
    +
    Returns a Heap Union object that has been initialized with the data from the given sketch.
    +
    + +
    DoublesUnion.wrap(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a read-only Union object that wraps off-heap data of the given memory image of + a sketch.
    +
    + +
    DoublesUnion.wrap(org.apache.datasketches.memory.WritableMemory mem)
    +
    +
    Returns an updatable Union object that wraps off-heap data of the given memory image of + a sketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnionBuilder.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnionBuilder.html new file mode 100644 index 000000000..f0e42a1d7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/DoublesUnionBuilder.html @@ -0,0 +1,98 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.DoublesUnionBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.DoublesUnionBuilder

+
+
Packages that use DoublesUnionBuilder
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketch.html new file mode 100644 index 000000000..f3cd59588 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketch.html @@ -0,0 +1,140 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.ItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.ItemsSketch

+
+
Packages that use ItemsSketch
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketchIterator.html new file mode 100644 index 000000000..f6b88a05c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsSketchIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.ItemsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.ItemsSketchIterator

+
+No usage of org.apache.datasketches.quantiles.ItemsSketchIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsUnion.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsUnion.html new file mode 100644 index 000000000..5c1e8516c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/ItemsUnion.html @@ -0,0 +1,113 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.ItemsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.ItemsUnion

+
+
Packages that use ItemsUnion
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/class-use/UpdateDoublesSketch.html b/docs/621/merge/org/apache/datasketches/quantiles/class-use/UpdateDoublesSketch.html new file mode 100644 index 000000000..065c699ed --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/class-use/UpdateDoublesSketch.html @@ -0,0 +1,126 @@ + + + + +Uses of Class org.apache.datasketches.quantiles.UpdateDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantiles.UpdateDoublesSketch

+
+
Packages that use UpdateDoublesSketch
+
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+
    +
  • +
    +

    Uses of UpdateDoublesSketch in org.apache.datasketches.quantiles

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    DoublesSketchBuilder.build()
    +
    +
    Returns an UpdateDoublesSketch with the current configuration of this Builder.
    +
    + +
    DoublesSketchBuilder.build(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns a quantiles UpdateDoublesSketch with the current configuration of this builder + and the specified backing destination Memory store.
    +
    + +
    DoublesUnion.getResult()
    +
    +
    Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch.
    +
    + +
    DoublesUnion.getResult(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Places the result of this Union into the provided memory as an UpdateDoublesSketch, + which enables further update operations on the resulting sketch.
    +
    + +
    DoublesUnion.getResultAndReset()
    +
    +
    Gets the result of this Union as an UpdateDoublesSketch, which enables further update + operations on the resulting sketch.
    +
    + +
    UpdateDoublesSketch.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Factory heapify takes a compact sketch image in Memory and instantiates an on-heap sketch.
    +
    + +
    UpdateDoublesSketch.wrap(org.apache.datasketches.memory.WritableMemory srcMem)
    +
    +
    Wrap this sketch around the given non-compact Memory image of a DoublesSketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/package-summary.html b/docs/621/merge/org/apache/datasketches/quantiles/package-summary.html new file mode 100644 index 000000000..d5184444a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/package-summary.html @@ -0,0 +1,157 @@ + + + + +org.apache.datasketches.quantiles (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.quantiles

+
+
+
package org.apache.datasketches.quantiles
+
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
See Also:
+
+ +
+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Utilities for the classic quantiles sketches and independent of the type.
    +
    + +
    +
    Compact sketches are inherently read only.
    +
    + +
    +
    This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using doubles, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
    +
    + +
    +
    For building a new quantiles DoublesSketch.
    +
    + +
    +
    Iterator over DoublesSketch.
    +
    + +
    +
    The API for Union operations for quantiles DoublesSketches
    +
    + +
    +
    For building a new DoublesSketch Union operation.
    +
    + +
    +
    This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using generic items, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
    +
    + +
    +
    Iterator over ItemsSketch.
    +
    + +
    +
    The API for Union operations for generic ItemsSketches
    +
    + +
     
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/package-tree.html b/docs/621/merge/org/apache/datasketches/quantiles/package-tree.html new file mode 100644 index 000000000..67a835df8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/package-tree.html @@ -0,0 +1,89 @@ + + + + +org.apache.datasketches.quantiles Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.quantiles

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantiles/package-use.html b/docs/621/merge/org/apache/datasketches/quantiles/package-use.html new file mode 100644 index 000000000..07ee45173 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantiles/package-use.html @@ -0,0 +1,119 @@ + + + + +Uses of Package org.apache.datasketches.quantiles (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.quantiles

+
+ +
+
Package
+
Description
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Compact sketches are inherently read only.
    +
    + +
    +
    This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using doubles, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
    +
    + +
    +
    For building a new quantiles DoublesSketch.
    +
    + +
    +
    The API for Union operations for quantiles DoublesSketches
    +
    + +
    +
    For building a new DoublesSketch Union operation.
    +
    + +
    +
    This is an implementation of the Low Discrepancy Mergeable Quantiles Sketch, using generic items, + described in section 3.2 of the journal version of the paper "Mergeable Summaries" + by Agarwal, Cormode, Huang, Phillips, Wei, and Yi:
    +
    + +
    +
    The API for Union operations for generic ItemsSketches
    +
    + +
     
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/BinarySearch.html b/docs/621/merge/org/apache/datasketches/quantilescommon/BinarySearch.html new file mode 100644 index 000000000..17c6b5170 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/BinarySearch.html @@ -0,0 +1,243 @@ + + + + +BinarySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BinarySearch

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.BinarySearch
+
+
+
+
public final class BinarySearch +extends Object
+
Contains common equality binary search algorithms.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static int
    +
    find(double[] arr, + int low, + int high, + double v)
    +
    +
    Binary Search for the index of the exact double value in the given search range.
    +
    +
    static int
    +
    find(float[] arr, + int low, + int high, + float v)
    +
    +
    Binary Search for the index of the exact float value in the given search range.
    +
    +
    static int
    +
    find(long[] arr, + int low, + int high, + long v)
    +
    +
    Binary Search for the index of the exact long value in the given search range.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BinarySearch

      +
      public BinarySearch()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      find

      +
      public static int find(float[] arr, + int low, + int high, + float v)
      +
      Binary Search for the index of the exact float value in the given search range. + If -1 is returned there are no values in the search range that equals the given value.
      +
      +
      Parameters:
      +
      arr - The given ordered array to search.
      +
      low - the index of the lowest value of the search range
      +
      high - the index of the highest value of the search range
      +
      v - the value to search for
      +
      Returns:
      +
      return the index of the value, if found, otherwise, return -1;
      +
      +
      +
    • +
    • +
      +

      find

      +
      public static int find(double[] arr, + int low, + int high, + double v)
      +
      Binary Search for the index of the exact double value in the given search range. + If -1 is returned there are no values in the search range that equals the given value.
      +
      +
      Parameters:
      +
      arr - The given ordered array to search.
      +
      low - the index of the lowest value of the search range
      +
      high - the index of the highest value of the search range
      +
      v - the value to search for
      +
      Returns:
      +
      return the index of the value, if found, otherwise, return -1;
      +
      +
      +
    • +
    • +
      +

      find

      +
      public static int find(long[] arr, + int low, + int high, + long v)
      +
      Binary Search for the index of the exact long value in the given search range. + If -1 is returned there are no values in the search range that equals the given value.
      +
      +
      Parameters:
      +
      arr - The given ordered array to search.
      +
      low - the index of the lowest value of the search range
      +
      high - the index of the highest value of the search range
      +
      v - the value to search for
      +
      Returns:
      +
      return the index of the value, if found, otherwise, return -1;
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSketchSortedView.html new file mode 100644 index 000000000..2ba90faf1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSketchSortedView.html @@ -0,0 +1,401 @@ + + + + +DoublesSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoublesSketchSortedView

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.DoublesSketchSortedView
+
+
+
+
All Implemented Interfaces:
+
DoublesSortedView, SortedView
+
+
+
public final class DoublesSketchSortedView +extends Object +implements DoublesSortedView
+
The SortedView of the Quantiles Classic DoublesSketch and the KllDoublesSketch.
+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    DoublesSketchSortedView(double[] quantiles, + long[] cumWeights, + QuantilesDoublesAPI sk)
    +
    +
    Construct from elements, also used in testing.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long[]
    + +
    +
    Returns the array of cumulative weights from the sketch.
    +
    +
    double
    + +
    +
    Returns the maximum item of the stream.
    +
    +
    double
    + +
    +
    Returns the minimum item of the stream.
    +
    +
    long
    + +
    +
    Returns the total number of items presented to the sourcing sketch.
    +
    +
    int
    + +
    +
    Gets the number of quantiles retained by this sorted view.
    +
    +
    double
    +
    getQuantile(double rank, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the approximate quantile of the given normalized rank and the given search criterion.
    +
    +
    double[]
    + +
    +
    Returns an array of all retained quantiles by the sketch.
    +
    +
    double
    +
    getRank(double quantile, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the normalized rank corresponding to the given a quantile.
    +
    +
    boolean
    + +
    +
    Returns true if this sorted view is empty.
    +
    + + +
    +
    Returns an iterator for this Sorted View.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.DoublesSortedView

    +getCDF, getPMF
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoublesSketchSortedView

      +
      public DoublesSketchSortedView(double[] quantiles, + long[] cumWeights, + QuantilesDoublesAPI sk)
      +
      Construct from elements, also used in testing.
      +
      +
      Parameters:
      +
      quantiles - sorted array of quantiles
      +
      cumWeights - sorted, monotonically increasing cumulative weights.
      +
      sk - the underlying quantile sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCumulativeWeights

      +
      public long[] getCumulativeWeights()
      +
      Description copied from interface: SortedView
      +
      Returns the array of cumulative weights from the sketch. + Also known as the natural ranks, which are the Natural Numbers on the interval [1, N].
      +
      +
      Specified by:
      +
      getCumulativeWeights in interface SortedView
      +
      Returns:
      +
      the array of cumulative weights (or natural ranks).
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public double getMaxItem()
      +
      Description copied from interface: DoublesSortedView
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMaxItem in interface DoublesSortedView
      +
      Returns:
      +
      the maximum item of the stream
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public double getMinItem()
      +
      Description copied from interface: DoublesSortedView
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMinItem in interface DoublesSortedView
      +
      Returns:
      +
      the minimum item of the stream
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Description copied from interface: SortedView
      +
      Returns the total number of items presented to the sourcing sketch.
      +
      +
      Specified by:
      +
      getN in interface SortedView
      +
      Returns:
      +
      the total number of items presented to the sourcing sketch.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public int getNumRetained()
      +
      Description copied from interface: SortedView
      +
      Gets the number of quantiles retained by this sorted view. + This may be slightly different from the function with the same name when called from the originating sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface SortedView
      +
      Returns:
      +
      the number of quantiles retained by this sorted view
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public double getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: DoublesSortedView
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface DoublesSortedView
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public double[] getQuantiles()
      +
      Description copied from interface: DoublesSortedView
      +
      Returns an array of all retained quantiles by the sketch.
      +
      +
      Specified by:
      +
      getQuantiles in interface DoublesSortedView
      +
      Returns:
      +
      an array of all retained quantiles by the sketch.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(double quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: DoublesSortedView
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface DoublesSortedView
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Description copied from interface: SortedView
      +
      Returns true if this sorted view is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface SortedView
      +
      Returns:
      +
      true if this sorted view is empty.
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public DoublesSortedViewIterator iterator()
      +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface DoublesSortedView
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedView.html new file mode 100644 index 000000000..169e7f650 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedView.html @@ -0,0 +1,384 @@ + + + + +DoublesSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface DoublesSortedView

+
+
+
+
All Superinterfaces:
+
SortedView
+
+
+
All Known Implementing Classes:
+
DoublesSketchSortedView
+
+
+
public interface DoublesSortedView +extends SortedView
+
The Sorted View for quantile sketches of primitive type double.
+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default double[]
    +
    getCDF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    double
    + +
    +
    Returns the maximum item of the stream.
    +
    +
    double
    + +
    +
    Returns the minimum item of the stream.
    +
    +
    default double[]
    +
    getPMF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    double
    +
    getQuantile(double rank, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the approximate quantile of the given normalized rank and the given search criterion.
    +
    +
    double[]
    + +
    +
    Returns an array of all retained quantiles by the sketch.
    +
    +
    double
    +
    getRank(double quantile, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the normalized rank corresponding to the given a quantile.
    +
    + + +
    +
    Returns an iterator for this Sorted View.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.SortedView

    +getCumulativeWeights, getN, getNumRetained, isEmpty
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      double getMaxItem()
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      double getMinItem()
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      double getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      double[] getQuantiles()
      +
      Returns an array of all retained quantiles by the sketch.
      +
      +
      Returns:
      +
      an array of all retained quantiles by the sketch.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(double quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedViewIterator.html new file mode 100644 index 000000000..e76a1a3e4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/DoublesSortedViewIterator.html @@ -0,0 +1,190 @@ + + + + +DoublesSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoublesSortedViewIterator

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.SortedViewIterator +
org.apache.datasketches.quantilescommon.DoublesSortedViewIterator
+
+
+
+
+
public final class DoublesSortedViewIterator +extends SortedViewIterator
+
Iterator over quantile sketches of primitive type double.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoublesSortedViewIterator

      +
      public DoublesSortedViewIterator(double[] quantiles, + long[] cumWeights)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles, which must be ordered.
      +
      cumWeights - the given array of cumulative weights, which must be ordered, start with the value one, and + the last value must be equal to N, the total number of items updated to the sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public double getQuantile()
      +
      Gets the quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSketchSortedView.html new file mode 100644 index 000000000..67a54ac1e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSketchSortedView.html @@ -0,0 +1,401 @@ + + + + +FloatsSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FloatsSketchSortedView

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.FloatsSketchSortedView
+
+
+
+
All Implemented Interfaces:
+
FloatsSortedView, SortedView
+
+
+
public class FloatsSketchSortedView +extends Object +implements FloatsSortedView
+
The SortedView for the KllFloatsSketch and the ReqSketch.
+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FloatsSketchSortedView

      +
      public FloatsSketchSortedView(float[] quantiles, + long[] cumWeights, + QuantilesFloatsAPI sk)
      +
      Construct Sorted View.
      +
      +
      Parameters:
      +
      quantiles - sorted array of quantiles
      +
      cumWeights - sorted, monotonically increasing cumulative weights.
      +
      sk - the underlying quantile sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCumulativeWeights

      +
      public long[] getCumulativeWeights()
      +
      Description copied from interface: SortedView
      +
      Returns the array of cumulative weights from the sketch. + Also known as the natural ranks, which are the Natural Numbers on the interval [1, N].
      +
      +
      Specified by:
      +
      getCumulativeWeights in interface SortedView
      +
      Returns:
      +
      the array of cumulative weights (or natural ranks).
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public float getMaxItem()
      +
      Description copied from interface: FloatsSortedView
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMaxItem in interface FloatsSortedView
      +
      Returns:
      +
      the maximum item of the stream
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public float getMinItem()
      +
      Description copied from interface: FloatsSortedView
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMinItem in interface FloatsSortedView
      +
      Returns:
      +
      the minimum item of the stream
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Description copied from interface: SortedView
      +
      Returns the total number of items presented to the sourcing sketch.
      +
      +
      Specified by:
      +
      getN in interface SortedView
      +
      Returns:
      +
      the total number of items presented to the sourcing sketch.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public int getNumRetained()
      +
      Description copied from interface: SortedView
      +
      Gets the number of quantiles retained by this sorted view. + This may be slightly different from the function with the same name when called from the originating sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface SortedView
      +
      Returns:
      +
      the number of quantiles retained by this sorted view
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public float getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: FloatsSortedView
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface FloatsSortedView
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public float[] getQuantiles()
      +
      Description copied from interface: FloatsSortedView
      +
      Returns an array of all retained quantiles by the sketch.
      +
      +
      Specified by:
      +
      getQuantiles in interface FloatsSortedView
      +
      Returns:
      +
      an array of all retained quantiles by the sketch.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(float quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: FloatsSortedView
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface FloatsSortedView
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Description copied from interface: SortedView
      +
      Returns true if this sorted view is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface SortedView
      +
      Returns:
      +
      true if this sorted view is empty.
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public FloatsSortedViewIterator iterator()
      +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface FloatsSortedView
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedView.html new file mode 100644 index 000000000..f7f85596c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedView.html @@ -0,0 +1,384 @@ + + + + +FloatsSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface FloatsSortedView

+
+
+
+
All Superinterfaces:
+
SortedView
+
+
+
All Known Implementing Classes:
+
FloatsSketchSortedView
+
+
+
public interface FloatsSortedView +extends SortedView
+
The Sorted View for quantiles of primitive type float.
+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default double[]
    +
    getCDF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    float
    + +
    +
    Returns the maximum item of the stream.
    +
    +
    float
    + +
    +
    Returns the minimum item of the stream.
    +
    +
    default double[]
    +
    getPMF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    float
    +
    getQuantile(double rank, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the approximate quantile of the given normalized rank and the given search criterion.
    +
    +
    float[]
    + +
    +
    Returns an array of all retained quantiles by the sketch.
    +
    +
    double
    +
    getRank(float quantile, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the normalized rank corresponding to the given a quantile.
    +
    + + +
    +
    Returns an iterator for this Sorted View.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.SortedView

    +getCumulativeWeights, getN, getNumRetained, isEmpty
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      float getMaxItem()
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      float getMinItem()
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      float getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      float[] getQuantiles()
      +
      Returns an array of all retained quantiles by the sketch.
      +
      +
      Returns:
      +
      an array of all retained quantiles by the sketch.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(float quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedViewIterator.html new file mode 100644 index 000000000..b2b795dad --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/FloatsSortedViewIterator.html @@ -0,0 +1,190 @@ + + + + +FloatsSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FloatsSortedViewIterator

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.SortedViewIterator +
org.apache.datasketches.quantilescommon.FloatsSortedViewIterator
+
+
+
+
+
public final class FloatsSortedViewIterator +extends SortedViewIterator
+
Iterator over quantile sketches of primitive type float.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FloatsSortedViewIterator

      +
      public FloatsSortedViewIterator(float[] quantiles, + long[] cumWeights)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles, which must be ordered.
      +
      cumWeights - the given array of cumulative weights, which must be ordered, start with the value one, and + the last value must be equal to N, the total number of items updated to the sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public float getQuantile()
      +
      Gets the quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.Inequality.html b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.Inequality.html new file mode 100644 index 000000000..7b960c49a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.Inequality.html @@ -0,0 +1,320 @@ + + + + +GenericInequalitySearch.Inequality (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class GenericInequalitySearch.Inequality

+
+
java.lang.Object +
java.lang.Enum<GenericInequalitySearch.Inequality> +
org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<GenericInequalitySearch.Inequality>, Constable
+
+
+
Enclosing class:
+
GenericInequalitySearch
+
+
+
public static enum GenericInequalitySearch.Inequality +extends Enum<GenericInequalitySearch.Inequality>
+
The enumerator of inequalities
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the adjacent pair of + values {A,B} such that A ≤ V ≤ B.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A < V ≤ B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A ≤ V < B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A ≤ V < B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value v, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A < v ≤ B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    + + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Enum

    +compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      LT

      +
      public static final GenericInequalitySearch.Inequality LT
      +
      Given a sorted array of increasing values arr[] and a key value v, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A < v ≤ B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v > arr[high], return arr[high].
      + If v ≤ arr[low], return -1.
      + Else return index of A.

      +
      +
    • +
    • +
      +

      LE

      +
      public static final GenericInequalitySearch.Inequality LE
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A ≤ V < B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v ≥ arr[high], return arr[high].
      + If v < arr[low], return -1.
      + Else return index of A.

      +
      +
    • +
    • +
      +

      EQ

      +
      public static final GenericInequalitySearch.Inequality EQ
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the adjacent pair of + values {A,B} such that A ≤ V ≤ B. + The returned value from the binary search algorithm will be the index of A or B, + if one of them is equal to V, or -1 if V is not equal to either one.
      +
      +
    • +
    • +
      +

      GE

      +
      public static final GenericInequalitySearch.Inequality GE
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A < V ≤ B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v ≤ arr[low], return arr[low].
      + If v > arr[high], return -1.
      + Else return index of B.

      +
      +
    • +
    • +
      +

      GT

      +
      public static final GenericInequalitySearch.Inequality GT
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A ≤ V < B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v < arr[low], return arr[low].
      + If v ≥ arr[high], return -1.
      + Else return index of B.

      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static GenericInequalitySearch.Inequality[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static GenericInequalitySearch.Inequality valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.html b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.html new file mode 100644 index 000000000..77742df1f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericInequalitySearch.html @@ -0,0 +1,238 @@ + + + + +GenericInequalitySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GenericInequalitySearch

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.GenericInequalitySearch
+
+
+
+
public final class GenericInequalitySearch +extends Object
+
This provides efficient, unique and unambiguous binary searching for inequality comparison criteria + for ordered arrays of values that may include duplicate values. The inequality criteria include + <, ≤, ==, ≥, >. All the inequality criteria use the same search algorithm. + (Although == is not an inequality, it is included for convenience.) + +

In order to make the searching unique and unambiguous, we modified the traditional binary + search algorithm to search for adjacent pairs of values {A, B} in the values array + instead of just a single value, where a and b are the array indices of two + adjacent values in the array. For all the search criteria, when the algorithm has narrowed the + search down to a single value or adjacent pair of values, the resolve() method provides the + final result of the search. If there is no valid value in the array that satisfies the search + criterion, the algorithm will return -1 to the caller.

+ +

Given a sorted array of values arr[] and a search key value v, the algorithms for + the searching criteria are given with each enum criterion.

+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GenericInequalitySearch

      +
      public GenericInequalitySearch()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      find

      +
      public static <T> int find(T[] arr, + int low, + int high, + T v, + GenericInequalitySearch.Inequality crit, + Comparator<T> comparator)
      +
      Binary Search for the index of the generic value in the given search range that satisfies + the given Inequality criterion. + If -1 is returned there are no values in the search range that satisfy the inequality.
      +
      +
      Type Parameters:
      +
      T - The generic type of value to be used in the search process.
      +
      Parameters:
      +
      arr - the given array of comparable values that must be sorted. + The array must not be null or empty and the values of the array must not be null (or NaN) + in the range [low, high].
      +
      low - the lowest index of the lowest value in the search range, inclusive.
      +
      high - the highest index of the highest value in the search range, inclusive.
      +
      v - the value to search for. It must not be null (or NaN).
      +
      crit - one of the Inequality criteria: LT, LE, EQ, GE, GT. It must not be null.
      +
      comparator - for the type T. + It must not be null. It must return: -1 if A < B, 0 if A == B, and +1 if A > B.
      +
      Returns:
      +
      the index of the value in the given search range that satisfies the Inequality criterion.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/GenericPartitionBoundaries.html b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericPartitionBoundaries.html new file mode 100644 index 000000000..c0f4c9fb5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericPartitionBoundaries.html @@ -0,0 +1,364 @@ + + + + +GenericPartitionBoundaries (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GenericPartitionBoundaries<T>

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.GenericPartitionBoundaries<T>
+
+
+
+
Type Parameters:
+
T - the item class type
+
+
+
public final class GenericPartitionBoundaries<T> +extends Object
+
This defines the returned results of the getParitionBoundaries() function and + includes the basic methods needed to construct actual partitions.
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    GenericPartitionBoundaries(long totalN, + T[] boundaries, + long[] natRanks, + double[] normRanks, + T maxItem, + T minItem, + QuantileSearchCriteria searchCrit)
    +
    +
    Constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    T[]
    + +
    +
    Gets an ordered array of boundaries that sequentially define the upper and lower boundaries of partitions.
    +
    + + +
    +
    Returns the maximum item of the stream.
    +
    + + +
    +
    Returns the minimum item of the stream.
    +
    +
    long
    + +
    +
    Gets the length of the input stream offered to the underlying sketch.
    +
    +
    long[]
    + +
    +
    Gets an ordered array of natural ranks of the associated array of partition boundaries utilizing + a specified search criterion.
    +
    +
    double[]
    + +
    +
    Gets an ordered array of normalized ranks of the associated array of partition boundaries utilizing + a specified search criterion.
    +
    +
    long[]
    + +
    +
    Gets the number of items to be included for each partition as an array.
    +
    +
    int
    + +
    +
    Gets the number of partitions
    +
    + + +
    +
    Gets the search criteria specified for the source sketch
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GenericPartitionBoundaries

      +
      public GenericPartitionBoundaries(long totalN, + T[] boundaries, + long[] natRanks, + double[] normRanks, + T maxItem, + T minItem, + QuantileSearchCriteria searchCrit)
      +
      Constructor.
      +
      +
      Parameters:
      +
      totalN - the total number of items input to the sketch.
      +
      boundaries - The quantile boundaries between partitions
      +
      natRanks - The array of natural Ranks corresponding to the array of boundaries.
      +
      normRanks - The normalized Ranks corresponding to the array of boundaries.
      +
      maxItem - the maximum item of the stream.
      +
      minItem - the minimum item of the stream.
      +
      searchCrit - the user defined search criteria
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getN

      +
      public long getN()
      +
      Gets the length of the input stream offered to the underlying sketch.
      +
      +
      Returns:
      +
      the length of the input stream offered to the underlying sketch.
      +
      +
      +
    • +
    • +
      +

      getBoundaries

      +
      public T[] getBoundaries()
      +
      Gets an ordered array of boundaries that sequentially define the upper and lower boundaries of partitions. + These partitions are to be constructed by an external process. Each boundary is essentially a reference and + should uniquely identify an item or a set of identical items from the original stream of data fed to the + originating sketch. + +

      Assume boundaries array has size N + 1. Let the indicies be sequentially numbered from 0 to N. + The number of partitions is always one less than the size of the boundaries array. + Let the the partitions be sequentially numbered from 1 to N. + +

      If these results were computed using QuantileSearchCriteria.INCLUSIVE then these sequential boundaries + are to be interpreted as follows: +

        +
      • Partition 1: include all items ≥ index 0 and ≤ index 1.
      • +
      • Partition 2: include all items > index 1 and ≤ index 2.
      • +
      • Partition N: include all items > index N-1 and ≤ index N.
      • +
      + +

      If these results were computed using QuantileSearchCriteria.EXCLUSIVE then these sequential boundaries + are to be interpreted as follows: +

        +
      • Partition 1: include all items ≥ index 0 and < index 1.
      • +
      • Partition 2: include all items ≥ index 1 and < index 2.
      • +
      • Partition N: include all items ≥ index N-1 and ≤ index N.
      • +
      +
      +
      Returns:
      +
      an array of boundaries that sequentially define the upper and lower boundaries of partitions.
      +
      +
      +
    • +
    • +
      +

      getNaturalRanks

      +
      public long[] getNaturalRanks()
      +
      Gets an ordered array of natural ranks of the associated array of partition boundaries utilizing + a specified search criterion. Natural ranks are integral values on the interval [1, N]
      +
      +
      Returns:
      +
      an array of natural ranks.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRanks

      +
      public double[] getNormalizedRanks()
      +
      Gets an ordered array of normalized ranks of the associated array of partition boundaries utilizing + a specified search criterion. Normalized ranks are double values on the interval [0.0, 1.0].
      +
      +
      Returns:
      +
      an array of normalized ranks.
      +
      +
      +
    • +
    • +
      +

      getNumDeltaItems

      +
      public long[] getNumDeltaItems()
      +
      Gets the number of items to be included for each partition as an array. + The count at index 0 is 0. The number of items included in the first partition, defined by the boundaries at + index 0 and index 1, is at index 1 in this array, etc.
      +
      +
      Returns:
      +
      the number of items to be included for each partition as an array.
      +
      +
      +
    • +
    • +
      +

      getNumPartitions

      +
      public int getNumPartitions()
      +
      Gets the number of partitions
      +
      +
      Returns:
      +
      the number of partitions
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public T getMaxItem()
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public T getMinItem()
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getSearchCriteria

      +
      public QuantileSearchCriteria getSearchCriteria()
      +
      Gets the search criteria specified for the source sketch
      +
      +
      Returns:
      +
      The search criteria specified for the source sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedView.html new file mode 100644 index 000000000..73dafeafb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedView.html @@ -0,0 +1,434 @@ + + + + +GenericSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface GenericSortedView<T>

+
+
+
+
Type Parameters:
+
T - The generic quantile type.
+
+
+
All Superinterfaces:
+
PartitioningFeature<T>, SketchPartitionLimits, SortedView
+
+
+
All Known Implementing Classes:
+
ItemsSketchSortedView
+
+
+
public interface GenericSortedView<T> +extends PartitioningFeature<T>, SketchPartitionLimits, SortedView
+
The Sorted View for quantiles of generic type.
+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      If the sketch is empty this returns null.

      + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getComparator

      +
      Comparator<? super T> getComparator()
      +
      Gets the Comparator for this generic type.
      +
      +
      Returns:
      +
      the Comparator for this generic type.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      T getMaxItem()
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      T getMinItem()
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      T getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      T[] getQuantiles()
      +
      Returns the full array of quantiles.
      +
      +
      Returns:
      +
      the full array of quantiles.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(T quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    • +
      +

      validateItems

      +
      static <T> void validateItems(T[] items, + Comparator<? super T> comparator)
      +
      Checks the sequential validity of the given array of generic items. + They must be unique, monotonically increasing and not null.
      +
      +
      Type Parameters:
      +
      T - the data type
      +
      Parameters:
      +
      items - given array of generic items
      +
      comparator - the comparator for generic item data type T
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedViewIterator.html new file mode 100644 index 000000000..b7c20dca0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/GenericSortedViewIterator.html @@ -0,0 +1,220 @@ + + + + +GenericSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class GenericSortedViewIterator<T>

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.SortedViewIterator +
org.apache.datasketches.quantilescommon.GenericSortedViewIterator<T>
+
+
+
+
+
Type Parameters:
+
T - The generic item class type
+
+
+
public class GenericSortedViewIterator<T> +extends SortedViewIterator
+
Iterator over quantile sketches of generic type.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      GenericSortedViewIterator

      +
      public GenericSortedViewIterator(T[] quantiles, + long[] cumWeights)
      +
      Constructor
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      cumWeights - the array of cumulative weights, corresponding to the array of quantiles, + starting with the value one and the end value must equal N, the total number of items input to the sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public T getQuantile()
      +
      Gets the quantile at the current index + This is equivalent to getQuantile(INCLUSIVE). + +

      Don't call this before calling next() for the first time or after getting false from next().

      +
      +
      Returns:
      +
      the quantile at the current index.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public T getQuantile(QuantileSearchCriteria searchCrit)
      +
      Gets the quantile at the current index (or previous index) + based on the chosen search criterion. + +

      Don't call this before calling next() for the first time or after getting false from next().

      +
      +
      Parameters:
      +
      searchCrit - if INCLUSIVE, includes the quantile at the current index. + Otherwise, returns the quantile of the previous index.
      +
      Returns:
      +
      the quantile at the current index (or previous index) + based on the chosen search criterion. If the chosen search criterion is EXCLUSIVE and + the current index is at zero, this will return null.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.DoublesPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.DoublesPair.html new file mode 100644 index 000000000..24fe6e90b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.DoublesPair.html @@ -0,0 +1,191 @@ + + + + +IncludeMinMax.DoublesPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IncludeMinMax.DoublesPair

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.IncludeMinMax.DoublesPair
+
+
+
+
Enclosing class:
+
IncludeMinMax
+
+
+
public static class IncludeMinMax.DoublesPair +extends Object
+
A simple structure to hold a pair of arrays
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    long[]
    + +
    +
    the array of associated cumulative weights
    +
    +
    double[]
    + +
    +
    the array of quantiles
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    DoublesPair(double[] quantiles, + long[] cumWeights)
    +
    +
    Constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      quantiles

      +
      public double[] quantiles
      +
      the array of quantiles
      +
      +
    • +
    • +
      +

      cumWeights

      +
      public long[] cumWeights
      +
      the array of associated cumulative weights
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoublesPair

      +
      public DoublesPair(double[] quantiles, + long[] cumWeights)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the array of quantiles
      +
      cumWeights - the array of associated cumulative weights
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.FloatsPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.FloatsPair.html new file mode 100644 index 000000000..2943dcb26 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.FloatsPair.html @@ -0,0 +1,191 @@ + + + + +IncludeMinMax.FloatsPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IncludeMinMax.FloatsPair

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.IncludeMinMax.FloatsPair
+
+
+
+
Enclosing class:
+
IncludeMinMax
+
+
+
public static class IncludeMinMax.FloatsPair +extends Object
+
A simple structure to hold a pair of arrays
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    long[]
    + +
    +
    The array of associated cumulative weights
    +
    +
    float[]
    + +
    +
    The array of quantiles
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    FloatsPair(float[] quantiles, + long[] cumWeights)
    +
    +
    Constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      quantiles

      +
      public float[] quantiles
      +
      The array of quantiles
      +
      +
    • +
    • +
      +

      cumWeights

      +
      public long[] cumWeights
      +
      The array of associated cumulative weights
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FloatsPair

      +
      public FloatsPair(float[] quantiles, + long[] cumWeights)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the array of quantiles
      +
      cumWeights - the array of associated cumulative weights
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.ItemsPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.ItemsPair.html new file mode 100644 index 000000000..b0468cbb1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.ItemsPair.html @@ -0,0 +1,195 @@ + + + + +IncludeMinMax.ItemsPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IncludeMinMax.ItemsPair<T>

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.IncludeMinMax.ItemsPair<T>
+
+
+
+
Type Parameters:
+
T - the item class type
+
+
+
Enclosing class:
+
IncludeMinMax
+
+
+
public static class IncludeMinMax.ItemsPair<T> +extends Object
+
A simple structure to hold a pair of arrays
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    long[]
    + +
    +
    The array of associated cumulative weights
    +
    +
    T[]
    + +
    +
    The array of quantiles
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    ItemsPair(T[] quantiles, + long[] cumWeights)
    +
    +
    Constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      quantiles

      +
      public T[] quantiles
      +
      The array of quantiles
      +
      +
    • +
    • +
      +

      cumWeights

      +
      public long[] cumWeights
      +
      The array of associated cumulative weights
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ItemsPair

      +
      public ItemsPair(T[] quantiles, + long[] cumWeights)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the array of quantiles
      +
      cumWeights - the array of associated cumulative weights
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.LongsPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.LongsPair.html new file mode 100644 index 000000000..276e8b27c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.LongsPair.html @@ -0,0 +1,191 @@ + + + + +IncludeMinMax.LongsPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IncludeMinMax.LongsPair

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.IncludeMinMax.LongsPair
+
+
+
+
Enclosing class:
+
IncludeMinMax
+
+
+
public static class IncludeMinMax.LongsPair +extends Object
+
A simple structure to hold a pair of arrays
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    long[]
    + +
    +
    the array of associated cumulative weights
    +
    +
    long[]
    + +
    +
    the array of quantiles
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    LongsPair(long[] quantiles, + long[] cumWeights)
    +
    +
    Constructor.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      quantiles

      +
      public long[] quantiles
      +
      the array of quantiles
      +
      +
    • +
    • +
      +

      cumWeights

      +
      public long[] cumWeights
      +
      the array of associated cumulative weights
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LongsPair

      +
      public LongsPair(long[] quantiles, + long[] cumWeights)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the array of quantiles
      +
      cumWeights - the array of associated cumulative weights
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.html b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.html new file mode 100644 index 000000000..ee27af328 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/IncludeMinMax.html @@ -0,0 +1,300 @@ + + + + +IncludeMinMax (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IncludeMinMax

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.IncludeMinMax
+
+
+
+
public class IncludeMinMax +extends Object
+
This class reinserts the min and max values into the sorted view arrays as required.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IncludeMinMax

      +
      public IncludeMinMax()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      includeDoublesMinMax

      +
      public static IncludeMinMax.DoublesPair includeDoublesMinMax(double[] quantilesIn, + long[] cumWeightsIn, + double maxItem, + double minItem)
      +
      The logic to include the min and max of type double.
      +
      +
      Parameters:
      +
      quantilesIn - The array of quantiles
      +
      cumWeightsIn - The array of associated cumulative weights
      +
      maxItem - the maximum item of the stream
      +
      minItem - the minimum item of the stream
      +
      Returns:
      +
      a DoublesPair
      +
      +
      +
    • +
    • +
      +

      includeLongsMinMax

      +
      public static IncludeMinMax.LongsPair includeLongsMinMax(long[] quantilesIn, + long[] cumWeightsIn, + long maxItem, + long minItem)
      +
      The logic to include the min and max of type double.
      +
      +
      Parameters:
      +
      quantilesIn - The array of quantiles
      +
      cumWeightsIn - The array of associated cumulative weights
      +
      maxItem - the maximum item of the stream
      +
      minItem - the minimum item of the stream
      +
      Returns:
      +
      a DoublesPair
      +
      +
      +
    • +
    • +
      +

      includeFloatsMinMax

      +
      public static IncludeMinMax.FloatsPair includeFloatsMinMax(float[] quantilesIn, + long[] cumWeightsIn, + float maxItem, + float minItem)
      +
      The logic to include the min and max of type float.
      +
      +
      Parameters:
      +
      quantilesIn - The array of quantiles
      +
      cumWeightsIn - The array of associated cumulative weights
      +
      maxItem - the maximum item of the stream
      +
      minItem - the minimum item of the stream
      +
      Returns:
      +
      a FloatsPair
      +
      +
      +
    • +
    • +
      +

      includeItemsMinMax

      +
      public static <T> IncludeMinMax.ItemsPair<T> includeItemsMinMax(T[] quantilesIn, + long[] cumWeightsIn, + T maxItem, + T minItem, + Comparator<? super T> comparator)
      +
      The logic to include the min and max of type T.
      +
      +
      Type Parameters:
      +
      T - the item class type
      +
      Parameters:
      +
      quantilesIn - The array of quantiles
      +
      cumWeightsIn - The array of associated cumulative weights
      +
      maxItem - the maximum item of the stream
      +
      minItem - the minimum item of the stream
      +
      comparator - a comparator for type T
      +
      Returns:
      +
      an ItemsPair
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/InequalitySearch.html b/docs/621/merge/org/apache/datasketches/quantilescommon/InequalitySearch.html new file mode 100644 index 000000000..9714a2451 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/InequalitySearch.html @@ -0,0 +1,599 @@ + + + + +InequalitySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class InequalitySearch

+
+
java.lang.Object +
java.lang.Enum<InequalitySearch> +
org.apache.datasketches.quantilescommon.InequalitySearch
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<InequalitySearch>, Constable
+
+
+
public enum InequalitySearch +extends Enum<InequalitySearch>
+
This provides efficient, unique and unambiguous binary searching for inequality comparison criteria + for ordered arrays of values that may include duplicate values. The inequality criteria include + <, ≤, ==, ≥, >. All the inequality criteria use the same search algorithm. + (Although == is not an inequality, it is included for convenience.) + +

In order to make the searching unique and unambiguous, we modified the traditional binary + search algorithm to search for adjacent pairs of values {A, B} in the values array + instead of just a single value, where a and b are the array indices of two + adjacent values in the array. For all the search criteria, when the algorithm has narrowed the + search down to a single value or adjacent pair of values, the resolve() method provides the + final result of the search. If there is no valid value in the array that satisfies the search + criterion, the algorithm will return -1 to the caller.

+ +

Given a sorted array of values arr[] and a search key value v, the algorithms for + the searching criteria are given with each enum criterion.

+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the adjacent pair of + values {A,B} such that A ≤ V ≤ B.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A < V ≤ B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A ≤ V < B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A ≤ V < B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    + +
    +
    Given a sorted array of increasing values arr[] and a key value v, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A < v ≤ B.
    + Let low = index of the lowest value in the range.
    + Let high = index of the highest value in the range.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    abstract String
    +
    desc(double[] arr, + int low, + int high, + double v, + int idx)
    +
    +
    Optional call that describes the details of the results of the search.
    +
    +
    abstract String
    +
    desc(float[] arr, + int low, + int high, + float v, + int idx)
    +
    +
    Optional call that describes the details of the results of the search.
    +
    +
    abstract String
    +
    desc(long[] arr, + int low, + int high, + double v, + int idx)
    +
    +
    Optional call that describes the details of the results of the search.
    +
    +
    abstract String
    +
    desc(long[] arr, + int low, + int high, + long v, + int idx)
    +
    +
    Optional call that describes the details of the results of the search.
    +
    +
    static int
    +
    find(double[] arr, + int low, + int high, + double v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    +
    static int
    +
    find(float[] arr, + int low, + int high, + float v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the float value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    +
    static int
    +
    find(long[] arr, + int low, + int high, + double v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    +
    static int
    +
    find(long[] arr, + int low, + int high, + long v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the long value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    + + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Enum

    +compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      LT

      +
      public static final InequalitySearch LT
      +
      Given a sorted array of increasing values arr[] and a key value v, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A < v ≤ B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v > arr[high], return arr[high].
      + If v ≤ arr[low], return -1.
      + Else return index of A.

      +
      +
    • +
    • +
      +

      LE

      +
      public static final InequalitySearch LE
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the highest adjacent pair of + values {A,B} such that A ≤ V < B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v ≥ arr[high], return arr[high].
      + If v < arr[low], return -1.
      + Else return index of A.

      +
      +
    • +
    • +
      +

      EQ

      +
      public static final InequalitySearch EQ
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the adjacent pair of + values {A,B} such that A ≤ V ≤ B. + The returned value from the binary search algorithm will be the index of A or B, + if one of them is equal to V, or -1 if V is not equal to either one.
      +
      +
    • +
    • +
      +

      GE

      +
      public static final InequalitySearch GE
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A < V ≤ B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v ≤ arr[low], return arr[low].
      + If v > arr[high], return -1.
      + Else return index of B.

      +
      +
    • +
    • +
      +

      GT

      +
      public static final InequalitySearch GT
      +
      Given a sorted array of increasing values arr[] and a key value V, + this criterion instructs the binary search algorithm to find the lowest adjacent pair of + values {A,B} such that A ≤ V < B.
      + Let low = index of the lowest value in the range.
      + Let high = index of the highest value in the range. + +

      If v < arr[low], return arr[low].
      + If v ≥ arr[high], return -1.
      + Else return index of B.

      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static InequalitySearch[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static InequalitySearch valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      desc

      +
      public abstract String desc(double[] arr, + int low, + int high, + double v, + int idx)
      +
      Optional call that describes the details of the results of the search. + Used primarily for debugging.
      +
      +
      Parameters:
      +
      arr - The underlying sorted array of values
      +
      low - the low index of the range
      +
      high - the high index of the range
      +
      v - the value to search for
      +
      idx - the resolved index from the search
      +
      Returns:
      +
      the descriptive string.
      +
      +
      +
    • +
    • +
      +

      desc

      +
      public abstract String desc(float[] arr, + int low, + int high, + float v, + int idx)
      +
      Optional call that describes the details of the results of the search. + Used primarily for debugging.
      +
      +
      Parameters:
      +
      arr - The underlying sorted array of values
      +
      low - the low index of the range
      +
      high - the high index of the range
      +
      v - the value to search for
      +
      idx - the resolved index from the search
      +
      Returns:
      +
      the descriptive string.
      +
      +
      +
    • +
    • +
      +

      desc

      +
      public abstract String desc(long[] arr, + int low, + int high, + long v, + int idx)
      +
      Optional call that describes the details of the results of the search. + Used primarily for debugging.
      +
      +
      Parameters:
      +
      arr - The underlying sorted array of values
      +
      low - the low index of the range
      +
      high - the high index of the range
      +
      v - the value to search for
      +
      idx - the resolved index from the search
      +
      Returns:
      +
      the descriptive string.
      +
      +
      +
    • +
    • +
      +

      desc

      +
      public abstract String desc(long[] arr, + int low, + int high, + double v, + int idx)
      +
      Optional call that describes the details of the results of the search. + Used primarily for debugging.
      +
      +
      Parameters:
      +
      arr - The underlying sorted array of values
      +
      low - the low index of the range
      +
      high - the high index of the range
      +
      v - the value to search for
      +
      idx - the resolved index from the search
      +
      Returns:
      +
      the descriptive string.
      +
      +
      +
    • +
    • +
      +

      find

      +
      public static int find(double[] arr, + int low, + int high, + double v, + InequalitySearch crit)
      +
      Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion. + If -1 is returned there are no values in the search range that satisfy the criterion.
      +
      +
      Parameters:
      +
      arr - the given array of comparable values that must be sorted with increasing values. + The array must not be null and the values of the array must not be NaN in the range [low, high].
      +
      low - the lowest index of the lowest value in the search range, inclusive.
      +
      high - the highest index of the highest value in the search range, inclusive.
      +
      v - the value to search for. It must not be NaN.
      +
      crit - one of the InequalitySearch criteria: LT, LE, EQ, GT, GE. It must not be null.
      +
      Returns:
      +
      the index of the value in the given search range that satisfies the InequalitySearch criterion
      +
      +
      +
    • +
    • +
      +

      find

      +
      public static int find(float[] arr, + int low, + int high, + float v, + InequalitySearch crit)
      +
      Binary Search for the index of the float value in the given search range that satisfies + the given InequalitySearch criterion. + If -1 is returned there are no values in the search range that satisfy the criterion.
      +
      +
      Parameters:
      +
      arr - the given array that must be sorted. + It must not be null and must not contain any NaN values in the range {low, high} inclusive.
      +
      low - the lowest index of the lowest value in the search range, inclusive.
      +
      high - the highest index of the highest value in the search range, inclusive.
      +
      v - the value to search for. It must not be NaN.
      +
      crit - one of LT, LE, EQ, GT, GE
      +
      Returns:
      +
      the index of the value in the given search range that satisfies the criterion
      +
      +
      +
    • +
    • +
      +

      find

      +
      public static int find(long[] arr, + int low, + int high, + long v, + InequalitySearch crit)
      +
      Binary Search for the index of the long value in the given search range that satisfies + the given InequalitySearch criterion. + If -1 is returned there are no values in the search range that satisfy the criterion.
      +
      +
      Parameters:
      +
      arr - the given array that must be sorted.
      +
      low - the lowest index of the lowest value in the search range, inclusive.
      +
      high - the highest index of the highest value in the search range, inclusive.
      +
      v - the value to search for.
      +
      crit - one of LT, LE, EQ, GT, GE
      +
      Returns:
      +
      the index of the value in the given search range that satisfies the criterion
      +
      +
      +
    • +
    • +
      +

      find

      +
      public static int find(long[] arr, + int low, + int high, + double v, + InequalitySearch crit)
      +
      Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion. + If -1 is returned there are no values in the search range that satisfy the criterion.
      +
      +
      Parameters:
      +
      arr - the given array that must be sorted.
      +
      low - the lowest index of the lowest value in the search range, inclusive.
      +
      high - the highest index of the highest value in the search range, inclusive.
      +
      v - the value to search for.
      +
      crit - one of LT, LE, EQ, GT, GE
      +
      Returns:
      +
      the index of the value in the given search range that satisfies the criterion
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/ItemsSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/ItemsSketchSortedView.html new file mode 100644 index 000000000..2cc28fff5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/ItemsSketchSortedView.html @@ -0,0 +1,556 @@ + + + + +ItemsSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ItemsSketchSortedView<T>

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.ItemsSketchSortedView<T>
+
+
+
+
Type Parameters:
+
T - The sketch data type
+
+
+
All Implemented Interfaces:
+
GenericSortedView<T>, PartitioningFeature<T>, SketchPartitionLimits, SortedView
+
+
+
public class ItemsSketchSortedView<T> +extends Object +implements GenericSortedView<T>
+
The SortedView for the KllItemsSketch and the classic ItemsSketch.
+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ItemsSketchSortedView

      +
      public ItemsSketchSortedView(T[] quantiles, + long[] cumWeights, + QuantilesGenericAPI<T> sk)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles, which must be ordered.
      +
      cumWeights - the given array of cumulative weights, which must be ordered, start with the value one, and + the last value must be equal to N, the total number of items updated to the sketch.
      +
      sk - the underlying quantile sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getComparator

      +
      public Comparator<? super T> getComparator()
      +
      Description copied from interface: GenericSortedView
      +
      Gets the Comparator for this generic type.
      +
      +
      Specified by:
      +
      getComparator in interface GenericSortedView<T>
      +
      Returns:
      +
      the Comparator for this generic type.
      +
      +
      +
    • +
    • +
      +

      getCumulativeWeights

      +
      public long[] getCumulativeWeights()
      +
      Description copied from interface: SortedView
      +
      Returns the array of cumulative weights from the sketch. + Also known as the natural ranks, which are the Natural Numbers on the interval [1, N].
      +
      +
      Specified by:
      +
      getCumulativeWeights in interface SortedView
      +
      Returns:
      +
      the array of cumulative weights (or natural ranks).
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public T getMaxItem()
      +
      Description copied from interface: GenericSortedView
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMaxItem in interface GenericSortedView<T>
      +
      Returns:
      +
      the maximum item of the stream
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public T getMinItem()
      +
      Description copied from interface: GenericSortedView
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMinItem in interface GenericSortedView<T>
      +
      Returns:
      +
      the minimum item of the stream
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Description copied from interface: SketchPartitionLimits
      +
      Gets the length of the input stream offered to the sketch..
      +
      +
      Specified by:
      +
      getN in interface SketchPartitionLimits
      +
      Specified by:
      +
      getN in interface SortedView
      +
      Returns:
      +
      the length of the input stream offered to the sketch.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public int getNumRetained()
      +
      Description copied from interface: SortedView
      +
      Gets the number of quantiles retained by this sorted view. + This may be slightly different from the function with the same name when called from the originating sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface SortedView
      +
      Returns:
      +
      the number of quantiles retained by this sorted view
      +
      +
      +
    • +
    • +
      +

      getMaxPartitions

      +
      public int getMaxPartitions()
      +
      Description copied from interface: SketchPartitionLimits
      +
      Gets the maximum number of partitions this sketch will support based on the configured size K + and the number of retained values of this sketch.
      +
      +
      Specified by:
      +
      getMaxPartitions in interface SketchPartitionLimits
      +
      Returns:
      +
      the maximum number of partitions this sketch will support.
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromPartSize

      +
      public GenericPartitionBoundaries<T> getPartitionBoundariesFromPartSize(long nominalPartitionSize, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: PartitioningFeature
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Specified by:
      +
      getPartitionBoundariesFromPartSize in interface PartitioningFeature<T>
      +
      Parameters:
      +
      nominalPartitionSize - an integer that specifies the nominal size, in items, of each target partition. + This must be a positive integer greater than + getMinPartitionSizeItems().
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromNumParts

      +
      public GenericPartitionBoundaries<T> getPartitionBoundariesFromNumParts(int numEquallySizedParts, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: PartitioningFeature
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Specified by:
      +
      getPartitionBoundariesFromNumParts in interface PartitioningFeature<T>
      +
      Parameters:
      +
      numEquallySizedParts - an integer that specifies the number of equally sized partitions between + getMinItem() and + getMaxItem(). + This must be a positive integer less than + getMaxPartitions() +
        +
      • A 1 will return: minItem, maxItem.
      • +
      • A 2 will return: minItem, median quantile, maxItem.
      • +
      • Etc.
      • +
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public T getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: GenericSortedView
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface GenericSortedView<T>
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public T[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of quantiles corresponding to the given array of ranks.
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks
      +
      searchCrit - The search criterion: either INCLUSIVE or EXCLUSIVE.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of ranks.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public T[] getQuantiles()
      +
      Description copied from interface: GenericSortedView
      +
      Returns the full array of quantiles.
      +
      +
      Specified by:
      +
      getQuantiles in interface GenericSortedView<T>
      +
      Returns:
      +
      the full array of quantiles.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(T quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: GenericSortedView
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface GenericSortedView<T>
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Description copied from interface: SortedView
      +
      Returns true if this sorted view is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface SortedView
      +
      Returns:
      +
      true if this sorted view is empty.
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public GenericSortedViewIterator<T> iterator()
      +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface GenericSortedView<T>
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/KolmogorovSmirnov.html b/docs/621/merge/org/apache/datasketches/quantilescommon/KolmogorovSmirnov.html new file mode 100644 index 000000000..c22347ca3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/KolmogorovSmirnov.html @@ -0,0 +1,254 @@ + + + + +KolmogorovSmirnov (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class KolmogorovSmirnov

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.KolmogorovSmirnov
+
+
+
+
public final class KolmogorovSmirnov +extends Object
+
Kolmogorov-Smirnov Test + See Kolmogorov–Smirnov Test
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      KolmogorovSmirnov

      +
      public KolmogorovSmirnov()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      computeKSDelta

      +
      public static double computeKSDelta(QuantilesDoublesAPI sketch1, + QuantilesDoublesAPI sketch2)
      +
      Computes the raw delta between two QuantilesDoublesAPI sketches for the kolmogorovSmirnovTest(...) method.
      +
      +
      Parameters:
      +
      sketch1 - first Input QuantilesDoublesAPI
      +
      sketch2 - second Input QuantilesDoublesAPI
      +
      Returns:
      +
      the raw delta area between two QuantilesDoublesAPI sketches
      +
      +
      +
    • +
    • +
      +

      computeKSDelta

      +
      public static double computeKSDelta(QuantilesFloatsAPI sketch1, + QuantilesFloatsAPI sketch2)
      +
      Computes the raw delta between two QuantilesFloatsAPI sketches for the kolmogorovSmirnovTest(...) method. + method.
      +
      +
      Parameters:
      +
      sketch1 - first Input QuantilesFloatsAPI sketch
      +
      sketch2 - second Input QuantilesFloatsAPI sketch
      +
      Returns:
      +
      the raw delta area between two QuantilesFloatsAPI sketches
      +
      +
      +
    • +
    • +
      +

      computeKSThreshold

      +
      public static double computeKSThreshold(QuantilesAPI sketch1, + QuantilesAPI sketch2, + double tgtPvalue)
      +
      Computes the adjusted delta height threshold for the kolmogorovSmirnovTest(...) method. + This adjusts the computed threshold by the error epsilons of the two given sketches. + The two sketches must be of the same primitive type, double or float. + This will not work with the REQ sketch.
      +
      +
      Parameters:
      +
      sketch1 - first Input QuantilesAPI sketch
      +
      sketch2 - second Input QuantilesAPI sketch
      +
      tgtPvalue - Target p-value. Typically .001 to .1, e.g., .05.
      +
      Returns:
      +
      the adjusted threshold to be compared with the raw delta area.
      +
      +
      +
    • +
    • +
      +

      kolmogorovSmirnovTest

      +
      public static boolean kolmogorovSmirnovTest(QuantilesAPI sketch1, + QuantilesAPI sketch2, + double tgtPvalue)
      +
      Performs the Kolmogorov-Smirnov Test between two QuantilesAPI sketches. + Note: if the given sketches have insufficient data or if the sketch sizes are too small, + this will return false. The two sketches must be of the same primitive type, double or float. + This will not work with the REQ sketch.
      +
      +
      Parameters:
      +
      sketch1 - first Input QuantilesAPI
      +
      sketch2 - second Input QuantilesAPI
      +
      tgtPvalue - Target p-value. Typically .001 to .1, e.g., .05.
      +
      Returns:
      +
      Boolean indicating whether we can reject the null hypothesis (that the sketches + reflect the same underlying distribution) using the provided tgtPValue.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSketchSortedView.html new file mode 100644 index 000000000..8e8c8de2b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSketchSortedView.html @@ -0,0 +1,401 @@ + + + + +LongsSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LongsSketchSortedView

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.LongsSketchSortedView
+
+
+
+
All Implemented Interfaces:
+
LongsSortedView, SortedView
+
+
+
public final class LongsSketchSortedView +extends Object +implements LongsSortedView
+
The SortedView of the KllLongsSketch.
+
+
Author:
+
Lee Rhodes, Zac Blanco
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    LongsSketchSortedView(long[] quantiles, + long[] cumWeights, + QuantilesLongsAPI sk)
    +
    +
    Construct from elements, also used in testing.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long[]
    + +
    +
    Returns the array of cumulative weights from the sketch.
    +
    +
    long
    + +
    +
    Returns the maximum item of the stream.
    +
    +
    long
    + +
    +
    Returns the minimum item of the stream.
    +
    +
    long
    + +
    +
    Returns the total number of items presented to the sourcing sketch.
    +
    +
    int
    + +
    +
    Gets the number of quantiles retained by this sorted view.
    +
    +
    long
    +
    getQuantile(double rank, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the approximate quantile of the given normalized rank and the given search criterion.
    +
    +
    long[]
    + +
    +
    Returns an array of all retained quantiles by the sketch.
    +
    +
    double
    +
    getRank(long quantile, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the normalized rank corresponding to the given a quantile.
    +
    +
    boolean
    + +
    +
    Returns true if this sorted view is empty.
    +
    + + +
    +
    Returns an iterator for this Sorted View.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.LongsSortedView

    +getCDF, getPMF
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LongsSketchSortedView

      +
      public LongsSketchSortedView(long[] quantiles, + long[] cumWeights, + QuantilesLongsAPI sk)
      +
      Construct from elements, also used in testing.
      +
      +
      Parameters:
      +
      quantiles - sorted array of quantiles
      +
      cumWeights - sorted, monotonically increasing cumulative weights.
      +
      sk - the underlying quantile sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCumulativeWeights

      +
      public long[] getCumulativeWeights()
      +
      Description copied from interface: SortedView
      +
      Returns the array of cumulative weights from the sketch. + Also known as the natural ranks, which are the Natural Numbers on the interval [1, N].
      +
      +
      Specified by:
      +
      getCumulativeWeights in interface SortedView
      +
      Returns:
      +
      the array of cumulative weights (or natural ranks).
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public long getMaxItem()
      +
      Description copied from interface: LongsSortedView
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMaxItem in interface LongsSortedView
      +
      Returns:
      +
      the maximum item of the stream
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public long getMinItem()
      +
      Description copied from interface: LongsSortedView
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Specified by:
      +
      getMinItem in interface LongsSortedView
      +
      Returns:
      +
      the minimum item of the stream
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Description copied from interface: SortedView
      +
      Returns the total number of items presented to the sourcing sketch.
      +
      +
      Specified by:
      +
      getN in interface SortedView
      +
      Returns:
      +
      the total number of items presented to the sourcing sketch.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public int getNumRetained()
      +
      Description copied from interface: SortedView
      +
      Gets the number of quantiles retained by this sorted view. + This may be slightly different from the function with the same name when called from the originating sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface SortedView
      +
      Returns:
      +
      the number of quantiles retained by this sorted view
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public long getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: LongsSortedView
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface LongsSortedView
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public long[] getQuantiles()
      +
      Description copied from interface: LongsSortedView
      +
      Returns an array of all retained quantiles by the sketch.
      +
      +
      Specified by:
      +
      getQuantiles in interface LongsSortedView
      +
      Returns:
      +
      an array of all retained quantiles by the sketch.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(long quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: LongsSortedView
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface LongsSortedView
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Description copied from interface: SortedView
      +
      Returns true if this sorted view is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface SortedView
      +
      Returns:
      +
      true if this sorted view is empty.
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public LongsSortedViewIterator iterator()
      +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface LongsSortedView
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedView.html new file mode 100644 index 000000000..eb2d554aa --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedView.html @@ -0,0 +1,384 @@ + + + + +LongsSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface LongsSortedView

+
+
+
+
All Superinterfaces:
+
SortedView
+
+
+
All Known Implementing Classes:
+
LongsSketchSortedView
+
+
+
public interface LongsSortedView +extends SortedView
+
The Sorted View for quantile sketches of primitive type long.
+
+
Author:
+
Lee Rhodes, Zac Blanco
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default double[]
    +
    getCDF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    long
    + +
    +
    Returns the maximum item of the stream.
    +
    +
    long
    + +
    +
    Returns the minimum item of the stream.
    +
    +
    default double[]
    +
    getPMF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    long
    +
    getQuantile(double rank, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the approximate quantile of the given normalized rank and the given search criterion.
    +
    +
    long[]
    + +
    +
    Returns an array of all retained quantiles by the sketch.
    +
    +
    double
    +
    getRank(long quantile, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the normalized rank corresponding to the given a quantile.
    +
    + + +
    +
    Returns an iterator for this Sorted View.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.SortedView

    +getCumulativeWeights, getN, getNumRetained, isEmpty
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      long getMaxItem()
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      long getMinItem()
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      long getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      long[] getQuantiles()
      +
      Returns an array of all retained quantiles by the sketch.
      +
      +
      Returns:
      +
      an array of all retained quantiles by the sketch.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(long quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Description copied from interface: SortedView
      +
      Returns an iterator for this Sorted View.
      +
      +
      Specified by:
      +
      iterator in interface SortedView
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedViewIterator.html new file mode 100644 index 000000000..5a3afe6f8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/LongsSortedViewIterator.html @@ -0,0 +1,190 @@ + + + + +LongsSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LongsSortedViewIterator

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.SortedViewIterator +
org.apache.datasketches.quantilescommon.LongsSortedViewIterator
+
+
+
+
+
public final class LongsSortedViewIterator +extends SortedViewIterator
+
Iterator over quantile sketches of primitive type long.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LongsSortedViewIterator

      +
      public LongsSortedViewIterator(long[] quantiles, + long[] cumWeights)
      +
      Constructor.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles, which must be ordered.
      +
      cumWeights - the given array of cumulative weights, which must be ordered, start with the value one, and + the last value must be equal to N, the total number of items updated to the sketch.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public long getQuantile()
      +
      Gets the quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/PartitioningFeature.html b/docs/621/merge/org/apache/datasketches/quantilescommon/PartitioningFeature.html new file mode 100644 index 000000000..1c15ea716 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/PartitioningFeature.html @@ -0,0 +1,279 @@ + + + + +PartitioningFeature (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface PartitioningFeature<T>

+
+
+
+
Type Parameters:
+
T - the item class type
+
+
+
All Known Subinterfaces:
+
GenericSortedView<T>, QuantilesGenericAPI<T>
+
+
+
All Known Implementing Classes:
+
ItemsSketch, ItemsSketchSortedView, KllItemsSketch
+
+
+
public interface PartitioningFeature<T>
+
This enables the special functions for performing efficient partitioning of massive data.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getPartitionBoundariesFromNumParts

      +
      default GenericPartitionBoundaries<T> getPartitionBoundariesFromNumParts(int numEquallySizedParts)
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      This method is equivalent to + getPartitionBoundariesFromNumParts(numEquallySizedParts, INCLUSIVE). +

      + +

      The sketch must not be empty.

      +
      +
      Parameters:
      +
      numEquallySizedParts - an integer that specifies the number of equally sized partitions between + getMinItem() and + getMaxItem(). + This must be a positive integer less than + getMaxPartitions() +
        +
      • A 1 will return: minItem, maxItem.
      • +
      • A 2 will return: minItem, median quantile, maxItem.
      • +
      • Etc.
      • +
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromNumParts

      +
      GenericPartitionBoundaries<T> getPartitionBoundariesFromNumParts(int numEquallySizedParts, + QuantileSearchCriteria searchCrit)
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Parameters:
      +
      numEquallySizedParts - an integer that specifies the number of equally sized partitions between + getMinItem() and + getMaxItem(). + This must be a positive integer less than + getMaxPartitions() +
        +
      • A 1 will return: minItem, maxItem.
      • +
      • A 2 will return: minItem, median quantile, maxItem.
      • +
      • Etc.
      • +
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromPartSize

      +
      default GenericPartitionBoundaries<T> getPartitionBoundariesFromPartSize(long nominalPartSizeItems)
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      This method is equivalent to + getPartitionBoundariesFromPartSize(nominalPartSizeItems, INCLUSIVE). +

      + +

      The sketch must not be empty.

      +
      +
      Parameters:
      +
      nominalPartSizeItems - an integer that specifies the nominal size, in items, of each target partition. + This must be a positive integer greater than + getMinPartitionSizeItems()
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    • +
      +

      getPartitionBoundariesFromPartSize

      +
      GenericPartitionBoundaries<T> getPartitionBoundariesFromPartSize(long nominalPartSizeItems, + QuantileSearchCriteria searchCrit)
      +
      This method returns an instance of + GenericPartitionBoundaries which provides + sufficient information for the user to create the given number of equally sized partitions, where "equally sized" + refers to an approximately equal number of items per partition. + +

      The sketch must not be empty.

      +
      +
      Parameters:
      +
      nominalPartSizeItems - an integer that specifies the nominal size, in items, of each target partition. + This must be a positive integer greater than + getMinPartitionSizeItems().
      +
      searchCrit - If INCLUSIVE, all the returned quantiles are the upper boundaries of the equally sized partitions + with the exception of the lowest returned quantile, which is the lowest boundary of the lowest ranked partition. + If EXCLUSIVE, all the returned quantiles are the lower boundaries of the equally sized partitions + with the exception of the highest returned quantile, which is the upper boundary of the highest ranked partition.
      +
      Returns:
      +
      an instance of GenericPartitionBoundaries.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantileSearchCriteria.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantileSearchCriteria.html new file mode 100644 index 000000000..162968909 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantileSearchCriteria.html @@ -0,0 +1,262 @@ + + + + +QuantileSearchCriteria (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class QuantileSearchCriteria

+
+
java.lang.Object +
java.lang.Enum<QuantileSearchCriteria> +
org.apache.datasketches.quantilescommon.QuantileSearchCriteria
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<QuantileSearchCriteria>, Constable
+
+
+
public enum QuantileSearchCriteria +extends Enum<QuantileSearchCriteria>
+
These search criteria are used by the KLL, REQ and Classic Quantiles sketches in the DataSketches library.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class java.lang.Enum

    +Enum.EnumDesc<E extends Enum<E>>
    +
    +
  • + +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
    +
    Definition of EXCLUSIVE getQuantile(r) search:
    + Given rank r, return the quantile of the smallest rank that is + strictly greater than r.
    +
    + +
    +
    Definition of INCLUSIVE getQuantile(r) search:
    + Given rank r, return the quantile of the smallest rank that is + strictly greater than or equal to r.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    + + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Enum

    +compareTo, describeConstable, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      INCLUSIVE

      +
      public static final QuantileSearchCriteria INCLUSIVE
      +
      Definition of INCLUSIVE getQuantile(r) search:
      + Given rank r, return the quantile of the smallest rank that is + strictly greater than or equal to r. + +

      Definition of INCLUSIVE getRank(q) search:
      + Given quantile q, return the rank, r, of the largest quantile that is + less than or equal to q.

      +
      +
    • +
    • +
      +

      EXCLUSIVE

      +
      public static final QuantileSearchCriteria EXCLUSIVE
      +
      Definition of EXCLUSIVE getQuantile(r) search:
      + Given rank r, return the quantile of the smallest rank that is + strictly greater than r. + +

      However, if the given rank is is equal to 1.0, or there is no quantile that satisfies this criterion + the method will return a NaN or null.

      + +

      Definition of EXCLUSIVE getRank(q) search:
      + Given quantile q, return the rank, r, of the largest quantile that is + strictly less than q.

      + +

      If there is no quantile value that is strictly less than q, + the method will return a rank of zero.

      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static QuantileSearchCriteria[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static QuantileSearchCriteria valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesAPI.html new file mode 100644 index 000000000..8c6785dc1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesAPI.html @@ -0,0 +1,681 @@ + + + + +QuantilesAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesAPI

+
+
+
+
All Known Subinterfaces:
+
QuantilesDoublesAPI, QuantilesFloatsAPI, QuantilesGenericAPI<T>, QuantilesLongsAPI
+
+
+
All Known Implementing Classes:
+
CompactDoublesSketch, DoublesSketch, ItemsSketch, KllDoublesSketch, KllFloatsSketch, KllItemsSketch, KllLongsSketch, KllSketch, ReqSketch, UpdateDoublesSketch
+
+
+
public interface QuantilesAPI
+
This is a stochastic streaming sketch that enables near-real time analysis of the + approximate distribution of items from a very large stream in a single pass, requiring only + that the items are comparable. + The analysis is obtained using the getQuantile() function or the + inverse functions getRank(), getPMF() (the Probability Mass Function), and getCDF() + (the Cumulative Distribution Function). + +

Given an input stream of N items, the natural rank of any specific + item is defined as its index (1 to N) in the hypothetical sorted stream of all + N input items.

+ +

The normalized rank (rank) of any specific item is defined as its + natural rank divided by N, which is a number in the interval [0.0, 1.0]. + In the Javadocs for all the quantile sketches natural rank is seldom used + so any reference to just rank should be interpreted as normalized rank.

+ +

Inputs into a quantile sketch are called "items" that can be either generic or specific + primitives, like float or double depending on the sketch implementation. + In order to keep its size small, sketches don't retain all the items offered and retain only + a small fraction of all the items, thus purging most of the items. The items retained are + then sorted and associated with a rank. At this point we call the retained items quantiles. + Thus, all quantiles are items, but only a few items become quantiles. Depending on the context + the two terms can be interchangeable.

+ +

All quantile sketches are configured with a parameter k, which affects the size of + the sketch and its estimation error.

+ +

In the research literature, the estimation error is commonly called epsilon + (or eps) and is a fraction between zero and one. + Larger sizes of k result in a smaller epsilon, but also a larger sketch. + The epsilon error is always with respect to the rank domain. Estimating the confidence interval + in the quantile domain can be done by first computing the error in the rank domain and then + translating that to the quantile domain. The sketch provides methods to assist with that.

+ +

The relationship between the normalized rank and the corresponding quantiles can be viewed + as a two dimensional monotonic plot with the normalized rank on one axis and the + corresponding quantiles on the other axis. Let q := quantile and r := rank then both + q = getQuantile(r) and r = getRank(q) are monotonically increasing functions. + If the y-axis is used for the rank domain and the x-axis for the quantile domain, + then y = getRank(x) is also the single point Cumulative Distribution Function (CDF).

+ +

The functions getQuantile() translate ranks into corresponding quantiles. + The functions getRank(), getCDF(), and getPMF() (Probability Mass Function) + perform the opposite operation and translate quantiles into ranks (or cumulative probabilities, + or probability masses, depending on the context).

+ +

As an example, consider a large stream of one million items such as packet sizes coming into a network node. + The absolute rank of any specific item size is simply its index in the hypothetical sorted + array of such items. + The normalized rank is the natural rank divided by the stream size, or N, + in this case one million. + The quantile corresponding to the normalized rank of 0.5 represents the 50th percentile or median + of the distribution, obtained from getQuantile(0.5). Similarly, the 95th percentile is obtained from + getQuantile(0.95).

+ +

From the min and max quantiles, for example, say 1 and 1000 bytes, + you can obtain the PMF from getPMF(100, 500, 900) that will result in an array of + 4 probability masses such as {.4, .3, .2, .1}, which means that +

    +
  • 40% of the mass was < 100,
  • +
  • 30% of the mass was ≥ 100 and < 500,
  • +
  • 20% of the mass was ≥ 500 and < 900, and
  • +
  • 10% of the mass was ≥ 900.
  • +
+ A frequency histogram can be obtained by simply multiplying these probability masses by getN(), + which is the total count of items received. + The getCDF() works similarly, but produces the cumulative distribution instead. + +

The accuracy of this sketch is a function of the configured k, which also affects + the overall size of the sketch. Accuracy of this quantile sketch is always with respect to + the normalized rank. + +

The getPMF() function has about 13 to 47% worse rank error (depending + on k) than the other queries because the mass of each "bin" of the PMF has + "double-sided" error from the upper and lower edges of the bin as a result of a subtraction + of random variables where the errors from the two edges can sometimes add.

+ +

A getQuantile(rank) query has the following probabilistic guarantees:

+
    +
  • Let q = getQuantile(r) where r is the rank between zero and one.
  • +
  • The quantile q will be a quantile from the input stream.
  • +
  • Let trueRank be the true rank of q derived from the hypothetical sorted + stream of all N quantiles.
  • +
  • Let eps = getNormalizedRankError(false)[*].
  • +
  • Then r - eps ≤ trueRank ≤ r + eps. + Note that the error is on the rank, not the quantile.
  • +
+ +

A getRank(quantile) query has the following probabilistic guarantees:

+
    +
  • Let r = getRank(q) where q is a quantile between the min and max quantiles of + the input stream.
  • +
  • Let trueRank be the true rank of q derived from the hypothetical sorted + stream of all N quantiles.
  • +
  • Let eps = getNormalizedRankError(false)[*].
  • +
  • Then r - eps ≤ trueRank ≤ r + eps.
  • +
+ +

A getPMF() query has the following probabilistic guarantees:

+
    +
  • Let {r1, r2, ..., rm+1} + = getPMF(v1, v2, ..., vm) where + q1, q2, ..., qm are monotonically increasing quantiles + supplied by the user that are part of the monotonic sequence + q0 = min, q1, q2, ..., qm, qm+1 = max, + and where min and max are the actual minimum and maximum quantiles of the input + stream automatically included in the sequence by the getPMF(...) function. + +
  • Let ri = massi = estimated mass between + vi-1 and qi where q0 = min + and qm+1 = max.
  • + +
  • Let trueMass be the true mass between the quantiles of qi, + qi+1 derived from the hypothetical sorted stream of all N quantiles.
  • +
  • Let eps = getNormalizedRankError(true)[*].
  • +
  • Then mass - eps ≤ trueMass ≤ mass + eps.
  • +
  • r1 includes the mass of all points between min = q0 and + q1.
  • +
  • rm+1 includes the mass of all points between qm and + max = qm+1.
  • +
+ +

A getCDF(...) query has the following probabilistic guarantees:

+
    +
  • Let {r1, r2, ..., rm+1} + = getCDF(q1, q2, ..., qm) where + q1, q2, ..., qm) are monotonically increasing quantiles + supplied by the user that are part of the monotonic sequence + {q0 = min, q1, q2, ..., qm, qm+1 = max}, + and where min and max are the actual minimum and maximum quantiles of the input + stream automatically included in the sequence by the getCDF(...) function. + +
  • Let ri = massi = estimated mass between + q0 = min and qi.
  • + +
  • Let trueMass be the true mass between the true ranks of qi, + qi+1 derived from the hypothetical sorted stream of all N quantiles.
  • +
  • Let eps = getNormalizedRankError(true)[*].
  • +
  • then mass - eps ≤ trueMass ≤ mass + eps.
  • +
  • r1 includes the mass of all points between min = q0 and + q1.
  • +
  • rm+1 includes the mass of all points between min = q0 and + max = qm+1.
  • +
+ +

Because errors are independent, we can make some estimates of the size of the confidence bounds + for the quantile returned from a call to getQuantile(), but not error bounds. + These confidence bounds may be quite large for certain distributions.

+ +
    +
  • Let q = getQuantile(r), the estimated quantile of rank r.
  • +
  • Let eps = getNormalizedRankError(false)[*].
  • +
  • Let qlo = estimated quantile of rank (r - eps).
  • +
  • Let qhi = estimated quantile of rank (r + eps).
  • +
  • Then qlo ≤ q ≤ qhi.
  • +
+ +

This sketch is order and distribution insensitive

+ +

This algorithm intentionally inserts randomness into the sampling process for items that + ultimately get retained in the sketch. Thus, the results produced by this algorithm are not + deterministic. For example, if the same stream is inserted into two different instances of this + sketch, the answers obtained from the two sketches should be close, but may not be be identical.

+ +

Similarly, there may be directional inconsistencies. For example, if a quantile obtained + from getQuantile(rank) is input into the reverse query + getRank(quantile), the resulting rank should be close, but may not exactly equal the original rank.

+ +

Please visit our website: DataSketches Home Page + and specific Javadocs for more information.

+ +

[*] Note that obtaining epsilon may require using a similar function but with more parameters + based on the specific sketch implementation.

+
+
Author:
+
Lee Rhodes, Kevin Lang, Alexander Saydakov
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final String
    + +
    +
    The sketch must not be empty for this operation.
    +
    +
    static final String
    + +
    +
    MemoryRequestServer must not be null.
    +
    +
    static final String
    + +
    +
    Sketch does not have just one item.
    +
    +
    static final String
    + +
    +
    A sketch cannot merge with itself.
    +
    +
    static final String
    + +
    +
    Target sketch is Read Only, cannot write.
    +
    +
    static final String
    + +
    +
    Unsupported operation for this Sketch Type.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
    +
    +
    long
    + +
    +
    Gets the length of the input stream offered to the sketch..
    +
    +
    double
    + +
    +
    Gets the approximate rank error of this sketch normalized as a fraction between zero and one.
    +
    +
    int
    + +
    +
    Gets the number of quantiles retained by the sketch.
    +
    +
    double
    +
    getRankLowerBound(double rank)
    +
    +
    Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
    +
    +
    double
    +
    getRankUpperBound(double rank)
    +
    +
    Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch's data structure is backed by Memory or WritableMemory.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is empty.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is in estimation mode.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is read only.
    +
    +
    void
    + +
    +
    Resets this sketch to the empty state.
    +
    + + +
    +
    Returns a summary of the key parameters of the sketch.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      EMPTY_MSG

      +
      static final String EMPTY_MSG
      +
      The sketch must not be empty for this operation.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      UNSUPPORTED_MSG

      +
      static final String UNSUPPORTED_MSG
      +
      Unsupported operation for this Sketch Type.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      NOT_SINGLE_ITEM_MSG

      +
      static final String NOT_SINGLE_ITEM_MSG
      +
      Sketch does not have just one item.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      MEM_REQ_SVR_NULL_MSG

      +
      static final String MEM_REQ_SVR_NULL_MSG
      +
      MemoryRequestServer must not be null.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      TGT_IS_READ_ONLY_MSG

      +
      static final String TGT_IS_READ_ONLY_MSG
      +
      Target sketch is Read Only, cannot write.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      SELF_MERGE_MSG

      +
      static final String SELF_MERGE_MSG
      +
      A sketch cannot merge with itself.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getK

      +
      int getK()
      +
      Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      Returns:
      +
      the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      +
    • +
    • +
      +

      getN

      +
      long getN()
      +
      Gets the length of the input stream offered to the sketch..
      +
      +
      Returns:
      +
      the length of the input stream offered to the sketch.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      double getNormalizedRankError(boolean pmf)
      +
      Gets the approximate rank error of this sketch normalized as a fraction between zero and one. + The epsilon returned is a best fit to 99 percent confidence empirically measured max error + in thousands of trials.
      +
      +
      Parameters:
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      int getNumRetained()
      +
      Gets the number of quantiles retained by the sketch.
      +
      +
      Returns:
      +
      the number of quantiles retained by the sketch
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      double getRankLowerBound(double rank)
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      double getRankUpperBound(double rank)
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      boolean hasMemory()
      +
      Returns true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      Returns:
      +
      true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      boolean isDirect()
      +
      Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      Returns:
      +
      true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      boolean isEmpty()
      +
      Returns true if this sketch is empty.
      +
      +
      Returns:
      +
      true if this sketch is empty.
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      boolean isEstimationMode()
      +
      Returns true if this sketch is in estimation mode.
      +
      +
      Returns:
      +
      true if this sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      boolean isReadOnly()
      +
      Returns true if this sketch is read only.
      +
      +
      Returns:
      +
      true if this sketch is read only.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      void reset()
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      +
      +
    • +
    • +
      +

      toString

      +
      String toString()
      +
      Returns a summary of the key parameters of the sketch.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a summary of the key parameters of the sketch.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesAPI.html new file mode 100644 index 000000000..243039f6b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesAPI.html @@ -0,0 +1,677 @@ + + + + +QuantilesDoublesAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesDoublesAPI

+
+
+
+
All Superinterfaces:
+
QuantilesAPI
+
+
+
All Known Implementing Classes:
+
CompactDoublesSketch, DoublesSketch, KllDoublesSketch, UpdateDoublesSketch
+
+
+
public interface QuantilesDoublesAPI +extends QuantilesAPI
+
The Quantiles API for item type double.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(double[] splitPoints)
      +
      This is equivalent to getCDF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      double[] getCDF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      double getMaxItem()
      +
      Returns the maximum item of the stream. This is provided for convenience and may be different from the + item returned by getQuantile(1.0).
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      double getMinItem()
      +
      Returns the minimum item of the stream. This is provided for convenience and may be different from the + item returned by getQuantile(0.0).
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(double[] splitPoints)
      +
      This is equivalent to getPMF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      double[] getPMF(double[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      default double getQuantile(double rank)
      +
      This is equivalent to getQuantile(rank, INCLUSIVE)
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      double getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      double getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      double getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      default double[] getQuantiles(double[] ranks)
      +
      This is equivalent to getQuantiles(ranks, INCLUSIVE)
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      double[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      default double getRank(double quantile)
      +
      This is equivalent to getRank(quantile, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(double quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      default double[] getRanks(double[] quantiles)
      +
      This is equivalent to getRanks(quantiles, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      double[] getRanks(double[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      int getSerializedSizeBytes()
      +
      Returns the current number of bytes this Sketch would require if serialized.
      +
      +
      Returns:
      +
      the number of bytes this sketch would require if serialized.
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      DoublesSortedView getSortedView()
      +
      Gets the sorted view of this sketch
      +
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      byte[] toByteArray()
      +
      Returns a byte array representation of this sketch.
      +
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      void update(double item)
      +
      Updates this sketch with the given item.
      +
      +
      Parameters:
      +
      item - from a stream of items. NaNs are ignored.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesSketchIterator.html new file mode 100644 index 000000000..c79835b82 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesDoublesSketchIterator.html @@ -0,0 +1,162 @@ + + + + +QuantilesDoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesDoublesSketchIterator

+
+
+
+
All Superinterfaces:
+
QuantilesSketchIterator
+
+
+
All Known Implementing Classes:
+
DoublesSketchIterator, KllDoublesSketchIterator
+
+
+
public interface QuantilesDoublesSketchIterator +extends QuantilesSketchIterator
+
The quantiles sketch iterator for primitive type double.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double
    + +
    +
    Gets the double quantile at the current index.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.QuantilesSketchIterator

    +getWeight, next
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      double getQuantile()
      +
      Gets the double quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the double quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsAPI.html new file mode 100644 index 000000000..514b7fe6b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsAPI.html @@ -0,0 +1,677 @@ + + + + +QuantilesFloatsAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesFloatsAPI

+
+
+
+
All Superinterfaces:
+
QuantilesAPI
+
+
+
All Known Implementing Classes:
+
KllFloatsSketch, ReqSketch
+
+
+
public interface QuantilesFloatsAPI +extends QuantilesAPI
+
The Quantiles API for item type float.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(float[] splitPoints)
      +
      This is equivalent to getCDF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      double[] getCDF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      float getMaxItem()
      +
      Returns the maximum item of the stream. This is provided for convenience, but may be different from the largest + item retained by the sketch algorithm.
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      float getMinItem()
      +
      Returns the minimum item of the stream. This is provided for convenience, but is distinct from the smallest + item retained by the sketch algorithm.
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(float[] splitPoints)
      +
      This is equivalent to getPMF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      double[] getPMF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      default float getQuantile(double rank)
      +
      This is equivalent to getQuantile(rank, INCLUSIVE)
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      float getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      float getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      float getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      default float[] getQuantiles(double[] ranks)
      +
      This is equivalent to getQuantiles(ranks, INCLUSIVE)
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      float[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      default double getRank(float quantile)
      +
      This is equivalent to getRank(quantile, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(float quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      default double[] getRanks(float[] quantiles)
      +
      This is equivalent to getRanks(quantiles, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      double[] getRanks(float[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      int getSerializedSizeBytes()
      +
      Returns the current number of bytes this Sketch would require if serialized.
      +
      +
      Returns:
      +
      the number of bytes this sketch would require if serialized.
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      FloatsSortedView getSortedView()
      +
      Gets the sorted view of this sketch
      +
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      byte[] toByteArray()
      +
      Returns a byte array representation of this sketch.
      +
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      void update(float item)
      +
      Updates this sketch with the given item.
      +
      +
      Parameters:
      +
      item - from a stream of quantiles. NaNs are ignored.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsSketchIterator.html new file mode 100644 index 000000000..0f845c649 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesFloatsSketchIterator.html @@ -0,0 +1,162 @@ + + + + +QuantilesFloatsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesFloatsSketchIterator

+
+
+
+
All Superinterfaces:
+
QuantilesSketchIterator
+
+
+
All Known Implementing Classes:
+
KllFloatsSketchIterator, ReqSketchIterator
+
+
+
public interface QuantilesFloatsSketchIterator +extends QuantilesSketchIterator
+
The quantiles sketch iterator for primitive type float.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    float
    + +
    +
    Gets the float quantile at the current index.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.QuantilesSketchIterator

    +getWeight, next
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      float getQuantile()
      +
      Gets the float quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the float quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericAPI.html new file mode 100644 index 000000000..ddf113738 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericAPI.html @@ -0,0 +1,705 @@ + + + + +QuantilesGenericAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesGenericAPI<T>

+
+
+
+
Type Parameters:
+
T - The given item type
+
+
+
All Superinterfaces:
+
PartitioningFeature<T>, QuantilesAPI, SketchPartitionLimits
+
+
+
All Known Implementing Classes:
+
ItemsSketch, KllItemsSketch
+
+
+
public interface QuantilesGenericAPI<T> +extends QuantilesAPI, PartitioningFeature<T>, SketchPartitionLimits
+
The Quantiles API for item type generic.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(T[] splitPoints)
      +
      This is equivalent to getCDF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      double[] getCDF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getClassOfT

      +
      Class<T> getClassOfT()
      +
      +
      Returns:
      +
      the sketch item class
      +
      +
      +
    • +
    • +
      +

      getComparator

      +
      Comparator<? super T> getComparator()
      +
      Returns the Comparator of T
      +
      +
      Returns:
      +
      Comparator of the sketch
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      T getMaxItem()
      +
      Returns the maximum item of the stream. This may be distinct from the largest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMaxPartitions

      +
      default int getMaxPartitions()
      +
      Description copied from interface: SketchPartitionLimits
      +
      Gets the maximum number of partitions this sketch will support based on the configured size K + and the number of retained values of this sketch.
      +
      +
      Specified by:
      +
      getMaxPartitions in interface SketchPartitionLimits
      +
      Returns:
      +
      the maximum number of partitions this sketch will support.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      T getMinItem()
      +
      Returns the minimum item of the stream. This may be distinct from the smallest item retained by the + sketch algorithm.
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(T[] splitPoints)
      +
      This is equivalent to getPMF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      double[] getPMF(T[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      default T getQuantile(double rank)
      +
      This is equivalent to getQuantile(rank, INCLUSIVE)
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      T getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      T getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      T getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      default T[] getQuantiles(double[] ranks)
      +
      This is equivalent to getQuantiles(ranks, INCLUSIVE)
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      T[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      default double getRank(T quantile)
      +
      This is equivalent to getRank(T quantile, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(T quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      default double[] getRanks(T[] quantiles)
      +
      This is equivalent to getRanks(quantiles, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      double[] getRanks(T[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      GenericSortedView<T> getSortedView()
      +
      Gets the sorted view of this sketch
      +
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      update

      +
      void update(T item)
      +
      Updates this sketch with the given item.
      +
      +
      Parameters:
      +
      item - from a stream of items. Nulls are ignored.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericSketchIterator.html new file mode 100644 index 000000000..02c30eaee --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesGenericSketchIterator.html @@ -0,0 +1,166 @@ + + + + +QuantilesGenericSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesGenericSketchIterator<T>

+
+
+
+
Type Parameters:
+
T - The generic quantile type
+
+
+
All Superinterfaces:
+
QuantilesSketchIterator
+
+
+
All Known Implementing Classes:
+
ItemsSketchIterator, KllItemsSketchIterator
+
+
+
public interface QuantilesGenericSketchIterator<T> +extends QuantilesSketchIterator
+
The quantiles sketch iterator for generic types.
+
+
Author:
+
Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Gets the generic quantile at the current index.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.QuantilesSketchIterator

    +getWeight, next
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      T getQuantile()
      +
      Gets the generic quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the generic quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsAPI.html new file mode 100644 index 000000000..55aafae3e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsAPI.html @@ -0,0 +1,677 @@ + + + + +QuantilesLongsAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesLongsAPI

+
+
+
+
All Superinterfaces:
+
QuantilesAPI
+
+
+
All Known Implementing Classes:
+
KllLongsSketch
+
+
+
public interface QuantilesLongsAPI +extends QuantilesAPI
+
The Quantiles API for item type long.
+
+
Author:
+
Lee Rhodes, Zac Blanco
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCDF

      +
      default double[] getCDF(long[] splitPoints)
      +
      This is equivalent to getCDF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      double[] getCDF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      long getMaxItem()
      +
      Returns the maximum item of the stream. This is provided for convenience and may be different from the + item returned by getQuantile(1.0).
      +
      +
      Returns:
      +
      the maximum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      long getMinItem()
      +
      Returns the minimum item of the stream. This is provided for convenience and may be different from the + item returned by getQuantile(0.0).
      +
      +
      Returns:
      +
      the minimum item of the stream
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      default double[] getPMF(long[] splitPoints)
      +
      This is equivalent to getPMF(splitPoints, INCLUSIVE)
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      double[] getPMF(long[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      default long getQuantile(double rank)
      +
      This is equivalent to getQuantile(rank, INCLUSIVE)
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      long getQuantile(double rank, + QuantileSearchCriteria searchCrit)
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      long getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      long getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      +
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      default long[] getQuantiles(double[] ranks)
      +
      This is equivalent to getQuantiles(ranks, INCLUSIVE)
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      long[] getQuantiles(double[] ranks, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Parameters:
      +
      ranks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      default double getRank(long quantile)
      +
      This is equivalent to getRank(quantile, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      double getRank(long quantile, + QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      default double[] getRanks(long[] quantiles)
      +
      This is equivalent to getRanks(quantiles, INCLUSIVE)
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      double[] getRanks(long[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      Throws:
      +
      IllegalArgumentException - if sketch is empty.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      int getSerializedSizeBytes()
      +
      Returns the current number of bytes this Sketch would require if serialized.
      +
      +
      Returns:
      +
      the number of bytes this sketch would require if serialized.
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      LongsSortedView getSortedView()
      +
      Gets the sorted view of this sketch
      +
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      byte[] toByteArray()
      +
      Returns a byte array representation of this sketch.
      +
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      void update(long item)
      +
      Updates this sketch with the given item.
      +
      +
      Parameters:
      +
      item - from a stream of items. NaNs are ignored.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsSketchIterator.html new file mode 100644 index 000000000..75b88fa97 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesLongsSketchIterator.html @@ -0,0 +1,162 @@ + + + + +QuantilesLongsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesLongsSketchIterator

+
+
+
+
All Superinterfaces:
+
QuantilesSketchIterator
+
+
+
All Known Implementing Classes:
+
KllLongsSketchIterator
+
+
+
public interface QuantilesLongsSketchIterator +extends QuantilesSketchIterator
+
The quantiles sketch iterator for primitive type long.
+
+
Author:
+
Zac Blanco
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    + +
    +
    Gets the long quantile at the current index.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.QuantilesSketchIterator

    +getWeight, next
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      long getQuantile()
      +
      Gets the long quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the long quantile at the current index.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesSketchIterator.html new file mode 100644 index 000000000..8302dcee6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesSketchIterator.html @@ -0,0 +1,178 @@ + + + + +QuantilesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface QuantilesSketchIterator

+
+
+
+
All Known Subinterfaces:
+
QuantilesDoublesSketchIterator, QuantilesFloatsSketchIterator, QuantilesGenericSketchIterator<T>, QuantilesLongsSketchIterator
+
+
+
All Known Implementing Classes:
+
DoublesSketchIterator, ItemsSketchIterator, KllDoublesSketchIterator, KllFloatsSketchIterator, KllItemsSketchIterator, KllLongsSketchIterator, KllSketchIterator, ReqSketchIterator
+
+
+
public interface QuantilesSketchIterator
+
This is the base interface for the SketchIterator hierarchy used for viewing the + non-ordered quantiles retained by a sketch. + +

Prototype example of the recommended iteration loop:

+

+   SketchIterator itr = sketch.iterator();
+   while (itr.next()) {
+     ...get*();
+   }
+ 
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    + +
    +
    Gets the natural weight at the current index.
    +
    +
    boolean
    + +
    +
    Advances the index and checks if it is valid.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getWeight

      +
      long getWeight()
      +
      Gets the natural weight at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Returns:
      +
      the natural weight at the current index.
      +
      +
      +
    • +
    • +
      +

      next

      +
      boolean next()
      +
      Advances the index and checks if it is valid. + The state of this iterator is undefined before the first call of this method.
      +
      +
      Returns:
      +
      true if the next index is valid.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesUtil.html b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesUtil.html new file mode 100644 index 000000000..fb8858597 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/QuantilesUtil.html @@ -0,0 +1,399 @@ + + + + +QuantilesUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class QuantilesUtil

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.QuantilesUtil
+
+
+
+
public final class QuantilesUtil +extends Object
+
Utilities for the quantiles sketches.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final double
    + +
    +
    used in search to improve rounding over a wide dynamic range
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static final void
    + +
    +
    Checks the sequential validity of the given array of double values.
    +
    +
    static final void
    + +
    +
    Checks the sequential validity of the given array of float values.
    +
    +
    static void
    + +
    +
    Checks the sequential validity of the given array of double values.
    +
    +
    static final void
    + +
    +
    Checks that the given normalized rank: 0 ≤ nRank ≤ 1.0.
    +
    +
    static double[]
    + +
    +
    Returns an array of (num + 1) values that define equally sized intervals between 0.0, inclusive, and 1.0, + inclusive.
    +
    +
    static long[]
    +
    equallySpacedLongs(long min, + long max, + int num)
    +
    +
    Returns an array of (num + 1) longs that define, approximately, equally spaced intervals between the given + max, inclusive, and min, inclusive.
    +
    +
    static double[]
    +
    evenlyLogSpaced(double value1, + double value2, + int num)
    +
    +
    Returns a double array of values between min and max inclusive where the log of the + returned values are evenly spaced.
    +
    +
    static double[]
    +
    evenlySpacedDoubles(double value1, + double value2, + int num)
    +
    +
    Returns a double array of evenly spaced values between value1, inclusive, and value2 inclusive.
    +
    +
    static float[]
    +
    evenlySpacedFloats(float value1, + float value2, + int num)
    +
    +
    Returns a float array of evenly spaced values between value1, inclusive, and value2 inclusive.
    +
    +
    static double
    +
    getNaturalRank(double normalizedRank, + long totalN, + QuantileSearchCriteria searchCrit)
    +
    +
    Computes the closest Natural Rank from a given Normalized Rank
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      tailRoundingFactor

      +
      public static final double tailRoundingFactor
      +
      used in search to improve rounding over a wide dynamic range
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      checkNormalizedRankBounds

      +
      public static final void checkNormalizedRankBounds(double nRank)
      +
      Checks that the given normalized rank: 0 ≤ nRank ≤ 1.0.
      +
      +
      Parameters:
      +
      nRank - the given normalized rank.
      +
      +
      +
    • +
    • +
      +

      checkDoublesSplitPointsOrder

      +
      public static final void checkDoublesSplitPointsOrder(double[] values)
      +
      Checks the sequential validity of the given array of double values. + They must be unique, monotonically increasing and not NaN.
      +
      +
      Parameters:
      +
      values - the given array of double values
      +
      +
      +
    • +
    • +
      +

      checkLongsSplitPointsOrder

      +
      public static void checkLongsSplitPointsOrder(long[] values)
      +
      Checks the sequential validity of the given array of double values. + They must be unique and monotonically increasing.
      +
      +
      Parameters:
      +
      values - the given array of double values
      +
      +
      +
    • +
    • +
      +

      checkFloatsSplitPointsOrder

      +
      public static final void checkFloatsSplitPointsOrder(float[] values)
      +
      Checks the sequential validity of the given array of float values. + They must be unique, monotonically increasing and not NaN.
      +
      +
      Parameters:
      +
      values - the given array of double values
      +
      +
      +
    • +
    • +
      +

      equallySpacedDoubles

      +
      public static double[] equallySpacedDoubles(int num)
      +
      Returns an array of (num + 1) values that define equally sized intervals between 0.0, inclusive, and 1.0, + inclusive. The end points 0.0 and 1.0 are part of the returned array. + +

      For example, if num == 2, three values will be returned: 0.0, .5, and 1, where the two equally sized regions + are {0.0,0.5}, and {0.5, 1.0}.

      +
      +
      Parameters:
      +
      num - the total number of equally sized intervals between 0.0, inclusive and 1.0, inclusive. + Must be 1 or greater.
      +
      Returns:
      +
      a double array of values that define (num + 1) equally sized intervals between 0.0, inclusive and 1.0, + inclusive.
      +
      Throws:
      +
      IllegalArgumentException - if num is less than 1.
      +
      +
      +
    • +
    • +
      +

      equallySpacedLongs

      +
      public static long[] equallySpacedLongs(long min, + long max, + int num)
      +
      Returns an array of (num + 1) longs that define, approximately, equally spaced intervals between the given + max, inclusive, and min, inclusive. The end points max and min are part of the + returned array. Because the range of the values may not exactly divide into num intervals, + the size of these intervals may vary by plus or minus one.
      +
      +
      Parameters:
      +
      min - the lowest positive valued (or zero) number of the range
      +
      max - the highest positive valued number of the range. max must be greater than min
      +
      num - Number of requested intervals. Must be greater or equal to one, and less than or equal to + max - min.
      +
      Returns:
      +
      an array of (num + 1) longs that are approximately equally spaced between the given min and max.
      +
      +
      +
    • +
    • +
      +

      evenlySpacedFloats

      +
      public static float[] evenlySpacedFloats(float value1, + float value2, + int num)
      +
      Returns a float array of evenly spaced values between value1, inclusive, and value2 inclusive. + If value2 > value1, the resulting sequence will be increasing. + If value2 < value1, the resulting sequence will be decreasing.
      +
      +
      Parameters:
      +
      value1 - will be in index 0 of the returned array
      +
      value2 - will be in the highest index of the returned array
      +
      num - the total number of values including value1 and value2. Must be 2 or greater.
      +
      Returns:
      +
      a float array of evenly spaced values between value1, inclusive, and value2 inclusive.
      +
      +
      +
    • +
    • +
      +

      evenlySpacedDoubles

      +
      public static double[] evenlySpacedDoubles(double value1, + double value2, + int num)
      +
      Returns a double array of evenly spaced values between value1, inclusive, and value2 inclusive. + If value2 > value1, the resulting sequence will be increasing. + If value2 < value1, the resulting sequence will be decreasing.
      +
      +
      Parameters:
      +
      value1 - will be in index 0 of the returned array
      +
      value2 - will be in the highest index of the returned array
      +
      num - the total number of values including value1 and value2. Must be 2 or greater.
      +
      Returns:
      +
      a float array of evenly spaced values between value1, inclusive, and value2 inclusive.
      +
      +
      +
    • +
    • +
      +

      evenlyLogSpaced

      +
      public static double[] evenlyLogSpaced(double value1, + double value2, + int num)
      +
      Returns a double array of values between min and max inclusive where the log of the + returned values are evenly spaced. + If value2 > value1, the resulting sequence will be increasing. + If value2 < value1, the resulting sequence will be decreasing.
      +
      +
      Parameters:
      +
      value1 - will be in index 0 of the returned array, and must be greater than zero.
      +
      value2 - will be in the highest index of the returned array, and must be greater than zero.
      +
      num - the total number of values including value1 and value2. Must be 2 or greater
      +
      Returns:
      +
      a double array of exponentially spaced values between value1 and value2 inclusive.
      +
      +
      +
    • +
    • +
      +

      getNaturalRank

      +
      public static double getNaturalRank(double normalizedRank, + long totalN, + QuantileSearchCriteria searchCrit)
      +
      Computes the closest Natural Rank from a given Normalized Rank
      +
      +
      Parameters:
      +
      normalizedRank - the given normalized rank
      +
      totalN - the total N
      +
      searchCrit - the search criterion.
      +
      Returns:
      +
      the closest Natural Rank from a given Normalized Rank
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/SketchPartitionLimits.html b/docs/621/merge/org/apache/datasketches/quantilescommon/SketchPartitionLimits.html new file mode 100644 index 000000000..f2018273d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/SketchPartitionLimits.html @@ -0,0 +1,181 @@ + + + + +SketchPartitionLimits (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SketchPartitionLimits

+
+
+
+
All Known Subinterfaces:
+
GenericSortedView<T>, QuantilesGenericAPI<T>
+
+
+
All Known Implementing Classes:
+
ItemsSketch, ItemsSketchSortedView, KllItemsSketch
+
+
+
public interface SketchPartitionLimits
+
This defines the methods required to compute the partition limits.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Gets the maximum number of partitions this sketch will support based on the configured size K + and the number of retained values of this sketch.
    +
    +
    default long
    + +
    +
    Gets the minimum partition size in items this sketch will support based on the configured size K of this + sketch and the number of retained values of this sketch.
    +
    +
    long
    + +
    +
    Gets the length of the input stream offered to the sketch..
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getMaxPartitions

      +
      int getMaxPartitions()
      +
      Gets the maximum number of partitions this sketch will support based on the configured size K + and the number of retained values of this sketch.
      +
      +
      Returns:
      +
      the maximum number of partitions this sketch will support.
      +
      +
      +
    • +
    • +
      +

      getMinPartitionSizeItems

      +
      default long getMinPartitionSizeItems()
      +
      Gets the minimum partition size in items this sketch will support based on the configured size K of this + sketch and the number of retained values of this sketch.
      +
      +
      Returns:
      +
      the minimum partition size in items this sketch will support.
      +
      +
      +
    • +
    • +
      +

      getN

      +
      long getN()
      +
      Gets the length of the input stream offered to the sketch..
      +
      +
      Returns:
      +
      the length of the input stream offered to the sketch.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/SortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/SortedView.html new file mode 100644 index 000000000..c454d94ba --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/SortedView.html @@ -0,0 +1,223 @@ + + + + +SortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SortedView

+
+
+
+
All Known Subinterfaces:
+
DoublesSortedView, FloatsSortedView, GenericSortedView<T>, LongsSortedView
+
+
+
All Known Implementing Classes:
+
DoublesSketchSortedView, FloatsSketchSortedView, ItemsSketchSortedView, LongsSketchSortedView
+
+
+
public interface SortedView
+
This is the base interface for the Sorted View interface hierarchy and defines the methods that are type independent. + +

The SortedView interface hierarchy provides a sorted view of the data retained by a quantiles-type sketch that + would be cumbersome to get any other way. + One could use the sketch's iterator to iterate over the contents of the sketch, + but the result would not be sorted.

+ +

The data from a Sorted view is an unbiased random sample of the input stream that can be used for other kinds of + analysis not directly provided by the sketch.

+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long[]
    + +
    +
    Returns the array of cumulative weights from the sketch.
    +
    +
    long
    + +
    +
    Returns the total number of items presented to the sourcing sketch.
    +
    +
    int
    + +
    +
    Gets the number of quantiles retained by this sorted view.
    +
    +
    boolean
    + +
    +
    Returns true if this sorted view is empty.
    +
    + + +
    +
    Returns an iterator for this Sorted View.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCumulativeWeights

      +
      long[] getCumulativeWeights()
      +
      Returns the array of cumulative weights from the sketch. + Also known as the natural ranks, which are the Natural Numbers on the interval [1, N].
      +
      +
      Returns:
      +
      the array of cumulative weights (or natural ranks).
      +
      +
      +
    • +
    • +
      +

      getN

      +
      long getN()
      +
      Returns the total number of items presented to the sourcing sketch.
      +
      +
      Returns:
      +
      the total number of items presented to the sourcing sketch.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      int getNumRetained()
      +
      Gets the number of quantiles retained by this sorted view. + This may be slightly different from the function with the same name when called from the originating sketch.
      +
      +
      Returns:
      +
      the number of quantiles retained by this sorted view
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      boolean isEmpty()
      +
      Returns true if this sorted view is empty.
      +
      +
      Returns:
      +
      true if this sorted view is empty.
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      SortedViewIterator iterator()
      +
      Returns an iterator for this Sorted View.
      +
      +
      Returns:
      +
      an iterator for this Sorted View.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/SortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/SortedViewIterator.html new file mode 100644 index 000000000..648045bab --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/SortedViewIterator.html @@ -0,0 +1,285 @@ + + + + +SortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SortedViewIterator

+
+
java.lang.Object +
org.apache.datasketches.quantilescommon.SortedViewIterator
+
+
+
+
Direct Known Subclasses:
+
DoublesSortedViewIterator, FloatsSortedViewIterator, GenericSortedViewIterator, LongsSortedViewIterator
+
+
+
public class SortedViewIterator +extends Object
+
This is the base interface for the SortedViewIterator hierarchy used with a SortedView obtained + from a quantile-type sketch. This provides an ordered iterator over the retained quantiles of + the associated quantile-type sketch. + +

Prototype example of the recommended iteration loop:

+

+   SortedViewIterator itr = sketch.getSortedView().iterator();
+   while (itr.next()) {
+     long weight = itr.getWeight();
+     ...
+   }
+ 
+
+
Author:
+
Alexander Saydakov, Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    + +
    +
    Gets the total count of all items presented to the sketch.
    +
    +
    long
    + +
    +
    Gets the natural rank at the current index.
    +
    +
    long
    + +
    +
    Gets the natural rank at the current index (or previous index) based on the chosen search criterion.
    +
    +
    double
    + +
    +
    Gets the normalized rank at the current index.
    +
    +
    double
    + +
    +
    Gets the normalized rank at the current index (or previous index) + based on the chosen search criterion.
    +
    +
    long
    + +
    +
    Gets the weight contribution of the item at the current index.
    +
    +
    boolean
    + +
    +
    Advances the index and checks if it is valid.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getNaturalRank

      +
      public long getNaturalRank()
      +
      Gets the natural rank at the current index. + This is equivalent to getNaturalRank(INCLUSIVE). + +

      Don't call this before calling next() for the first time or after getting false from next().

      +
      +
      Returns:
      +
      the natural rank at the current index.
      +
      +
      +
    • +
    • +
      +

      getNaturalRank

      +
      public long getNaturalRank(QuantileSearchCriteria searchCrit)
      +
      Gets the natural rank at the current index (or previous index) based on the chosen search criterion. + This is also referred to as the "cumulative weight". The natural rank is a number in the range [1, N], + where N (getN()) is the total number of items fed to the sketch. + +

      Don't call this before calling next() for the first time or after getting false from next().

      +
      +
      Parameters:
      +
      searchCrit - if INCLUSIVE, includes the weight of the item at the current index in the computation of + the natural rank. + Otherwise, it will return the natural rank of the previous index.
      +
      Returns:
      +
      the natural rank at the current index (or previous index) based on the chosen search criterion.
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Gets the total count of all items presented to the sketch.
      +
      +
      Returns:
      +
      the total count of all items presented to the sketch.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRank

      +
      public double getNormalizedRank()
      +
      Gets the normalized rank at the current index. + This is equivalent to getNormalizedRank(INCLUSIVE). + +

      Don't call this before calling next() for the first time or after getting false from next().

      +
      +
      Returns:
      +
      the normalized rank at the current index
      +
      +
      +
    • +
    • +
      +

      getNormalizedRank

      +
      public double getNormalizedRank(QuantileSearchCriteria searchCrit)
      +
      Gets the normalized rank at the current index (or previous index) + based on the chosen search criterion. Where normalized rank = natural rank / N (getN()) + and is a fraction in the range (0,1.0]. + +

      Don't call this before calling next() for the first time or after getting false from next().

      +
      +
      Parameters:
      +
      searchCrit - if INCLUSIVE, includes the normalized rank at the current index. + Otherwise, returns the normalized rank of the previous index.
      +
      Returns:
      +
      the normalized rank at the current index (or previous index) + based on the chosen search criterion.
      +
      +
      +
    • +
    • +
      +

      getWeight

      +
      public long getWeight()
      +
      Gets the weight contribution of the item at the current index. + +

      Don't call this before calling next() for the first time or after getting false from next().

      +
      +
      Returns:
      +
      the weight contribution of the item at the current index.
      +
      +
      +
    • +
    • +
      +

      next

      +
      public boolean next()
      +
      Advances the index and checks if it is valid. + The state of this iterator is undefined before the first call of this method.
      +
      +
      Returns:
      +
      true if the next index is valid.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/BinarySearch.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/BinarySearch.html new file mode 100644 index 000000000..a30e6177a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/BinarySearch.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.BinarySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.BinarySearch

+
+No usage of org.apache.datasketches.quantilescommon.BinarySearch
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSketchSortedView.html new file mode 100644 index 000000000..0a6169d65 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSketchSortedView.html @@ -0,0 +1,109 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.DoublesSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.DoublesSketchSortedView

+
+
Packages that use DoublesSketchSortedView
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedView.html new file mode 100644 index 000000000..6da204ef8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedView.html @@ -0,0 +1,103 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.DoublesSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.DoublesSortedView

+
+
Packages that use DoublesSortedView
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedViewIterator.html new file mode 100644 index 000000000..938709ad1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/DoublesSortedViewIterator.html @@ -0,0 +1,93 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.DoublesSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.DoublesSortedViewIterator

+
+
Packages that use DoublesSortedViewIterator
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSketchSortedView.html new file mode 100644 index 000000000..b6fdd997f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSketchSortedView.html @@ -0,0 +1,108 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.FloatsSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.FloatsSketchSortedView

+
+
Packages that use FloatsSketchSortedView
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedView.html new file mode 100644 index 000000000..3e2411a9d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedView.html @@ -0,0 +1,103 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.FloatsSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.FloatsSortedView

+
+
Packages that use FloatsSortedView
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedViewIterator.html new file mode 100644 index 000000000..59a5d9625 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/FloatsSortedViewIterator.html @@ -0,0 +1,93 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.FloatsSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.FloatsSortedViewIterator

+
+
Packages that use FloatsSortedViewIterator
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.Inequality.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.Inequality.html new file mode 100644 index 000000000..d3ef487c1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.Inequality.html @@ -0,0 +1,115 @@ + + + + +Uses of Enum Class org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.quantilescommon.GenericInequalitySearch.Inequality

+
+ +
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.html new file mode 100644 index 000000000..64ecb1107 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericInequalitySearch.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.GenericInequalitySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.GenericInequalitySearch

+
+No usage of org.apache.datasketches.quantilescommon.GenericInequalitySearch
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericPartitionBoundaries.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericPartitionBoundaries.html new file mode 100644 index 000000000..51f296266 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericPartitionBoundaries.html @@ -0,0 +1,208 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.GenericPartitionBoundaries (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.GenericPartitionBoundaries

+
+
Packages that use GenericPartitionBoundaries
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
 
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedView.html new file mode 100644 index 000000000..401164a54 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedView.html @@ -0,0 +1,103 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.GenericSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.GenericSortedView

+
+
Packages that use GenericSortedView
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedViewIterator.html new file mode 100644 index 000000000..63f782c5b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/GenericSortedViewIterator.html @@ -0,0 +1,93 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.GenericSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.GenericSortedViewIterator

+
+
Packages that use GenericSortedViewIterator
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.DoublesPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.DoublesPair.html new file mode 100644 index 000000000..a650fd0ab --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.DoublesPair.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.IncludeMinMax.DoublesPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.IncludeMinMax.DoublesPair

+
+
Packages that use IncludeMinMax.DoublesPair
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.FloatsPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.FloatsPair.html new file mode 100644 index 000000000..8ba32ac68 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.FloatsPair.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.IncludeMinMax.FloatsPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.IncludeMinMax.FloatsPair

+
+
Packages that use IncludeMinMax.FloatsPair
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.ItemsPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.ItemsPair.html new file mode 100644 index 000000000..16f79922e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.ItemsPair.html @@ -0,0 +1,96 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.IncludeMinMax.ItemsPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.IncludeMinMax.ItemsPair

+
+
Packages that use IncludeMinMax.ItemsPair
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.LongsPair.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.LongsPair.html new file mode 100644 index 000000000..61ae8e2d7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.LongsPair.html @@ -0,0 +1,95 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.IncludeMinMax.LongsPair (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.IncludeMinMax.LongsPair

+
+
Packages that use IncludeMinMax.LongsPair
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.html new file mode 100644 index 000000000..346333339 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/IncludeMinMax.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.IncludeMinMax (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.IncludeMinMax

+
+No usage of org.apache.datasketches.quantilescommon.IncludeMinMax
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/InequalitySearch.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/InequalitySearch.html new file mode 100644 index 000000000..6137a18e7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/InequalitySearch.html @@ -0,0 +1,144 @@ + + + + +Uses of Enum Class org.apache.datasketches.quantilescommon.InequalitySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.quantilescommon.InequalitySearch

+
+
Packages that use InequalitySearch
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+
    +
  • +
    +

    Uses of InequalitySearch in org.apache.datasketches.quantilescommon

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    InequalitySearch.valueOf(String name)
    +
    +
    Returns the enum constant of this class with the specified name.
    +
    + +
    InequalitySearch.values()
    +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static int
    +
    InequalitySearch.find(double[] arr, + int low, + int high, + double v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    +
    static int
    +
    InequalitySearch.find(float[] arr, + int low, + int high, + float v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the float value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    +
    static int
    +
    InequalitySearch.find(long[] arr, + int low, + int high, + double v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the double value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    +
    static int
    +
    InequalitySearch.find(long[] arr, + int low, + int high, + long v, + InequalitySearch crit)
    +
    +
    Binary Search for the index of the long value in the given search range that satisfies + the given InequalitySearch criterion.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/ItemsSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/ItemsSketchSortedView.html new file mode 100644 index 000000000..18bb8d9f3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/ItemsSketchSortedView.html @@ -0,0 +1,109 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.ItemsSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.ItemsSketchSortedView

+
+
Packages that use ItemsSketchSortedView
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/KolmogorovSmirnov.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/KolmogorovSmirnov.html new file mode 100644 index 000000000..ed4917e25 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/KolmogorovSmirnov.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.KolmogorovSmirnov (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.KolmogorovSmirnov

+
+No usage of org.apache.datasketches.quantilescommon.KolmogorovSmirnov
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSketchSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSketchSortedView.html new file mode 100644 index 000000000..72b8cc7bd --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSketchSortedView.html @@ -0,0 +1,90 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.LongsSketchSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.LongsSketchSortedView

+
+
Packages that use LongsSketchSortedView
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedView.html new file mode 100644 index 000000000..0514d4970 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedView.html @@ -0,0 +1,103 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.LongsSortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.LongsSortedView

+
+
Packages that use LongsSortedView
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedViewIterator.html new file mode 100644 index 000000000..bd7c3f115 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/LongsSortedViewIterator.html @@ -0,0 +1,93 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.LongsSortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.LongsSortedViewIterator

+
+
Packages that use LongsSortedViewIterator
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/PartitioningFeature.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/PartitioningFeature.html new file mode 100644 index 000000000..a32eaea11 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/PartitioningFeature.html @@ -0,0 +1,177 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.PartitioningFeature (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.PartitioningFeature

+
+
Packages that use PartitioningFeature
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
 
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantileSearchCriteria.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantileSearchCriteria.html new file mode 100644 index 000000000..e0f533c48 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantileSearchCriteria.html @@ -0,0 +1,742 @@ + + + + +Uses of Enum Class org.apache.datasketches.quantilescommon.QuantileSearchCriteria (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.quantilescommon.QuantileSearchCriteria

+
+
Packages that use QuantileSearchCriteria
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
 
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesAPI.html new file mode 100644 index 000000000..2ff4e9a7c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesAPI.html @@ -0,0 +1,228 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesAPI

+
+
Packages that use QuantilesAPI
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesAPI.html new file mode 100644 index 000000000..932a7df40 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesAPI.html @@ -0,0 +1,158 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesDoublesAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesDoublesAPI

+
+
Packages that use QuantilesDoublesAPI
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesSketchIterator.html new file mode 100644 index 000000000..072b077f8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesDoublesSketchIterator.html @@ -0,0 +1,152 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesDoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesDoublesSketchIterator

+
+ +
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsAPI.html new file mode 100644 index 000000000..9cc510e34 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsAPI.html @@ -0,0 +1,149 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesFloatsAPI

+
+
Packages that use QuantilesFloatsAPI
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsSketchIterator.html new file mode 100644 index 000000000..fe36dc972 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesFloatsSketchIterator.html @@ -0,0 +1,151 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesFloatsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesFloatsSketchIterator

+
+ +
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericAPI.html new file mode 100644 index 000000000..ea61c36a7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericAPI.html @@ -0,0 +1,163 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesGenericAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesGenericAPI

+
+
Packages that use QuantilesGenericAPI
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
 
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericSketchIterator.html new file mode 100644 index 000000000..a065dc9ad --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesGenericSketchIterator.html @@ -0,0 +1,152 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesGenericSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesGenericSketchIterator

+
+ +
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsAPI.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsAPI.html new file mode 100644 index 000000000..614e8e90b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsAPI.html @@ -0,0 +1,115 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesLongsAPI (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesLongsAPI

+
+
Packages that use QuantilesLongsAPI
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsSketchIterator.html new file mode 100644 index 000000000..327b5bfb3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesLongsSketchIterator.html @@ -0,0 +1,122 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesLongsSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesLongsSketchIterator

+
+ +
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesSketchIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesSketchIterator.html new file mode 100644 index 000000000..06f076eb2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesSketchIterator.html @@ -0,0 +1,195 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.QuantilesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.QuantilesSketchIterator

+
+
Packages that use QuantilesSketchIterator
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesUtil.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesUtil.html new file mode 100644 index 000000000..765cc6b99 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/QuantilesUtil.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.QuantilesUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.QuantilesUtil

+
+No usage of org.apache.datasketches.quantilescommon.QuantilesUtil
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SketchPartitionLimits.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SketchPartitionLimits.html new file mode 100644 index 000000000..7c6b0ae7e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SketchPartitionLimits.html @@ -0,0 +1,152 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.SketchPartitionLimits (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.SketchPartitionLimits

+
+
Packages that use SketchPartitionLimits
+
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedView.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedView.html new file mode 100644 index 000000000..077207375 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedView.html @@ -0,0 +1,133 @@ + + + + +Uses of Interface org.apache.datasketches.quantilescommon.SortedView (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.quantilescommon.SortedView

+
+
Packages that use SortedView
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedViewIterator.html b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedViewIterator.html new file mode 100644 index 000000000..953cbdeac --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/class-use/SortedViewIterator.html @@ -0,0 +1,118 @@ + + + + +Uses of Class org.apache.datasketches.quantilescommon.SortedViewIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.quantilescommon.SortedViewIterator

+
+
Packages that use SortedViewIterator
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/package-summary.html b/docs/621/merge/org/apache/datasketches/quantilescommon/package-summary.html new file mode 100644 index 000000000..24a5c0987 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/package-summary.html @@ -0,0 +1,272 @@ + + + + +org.apache.datasketches.quantilescommon (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.quantilescommon

+
+
+
package org.apache.datasketches.quantilescommon
+
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/package-tree.html b/docs/621/merge/org/apache/datasketches/quantilescommon/package-tree.html new file mode 100644 index 000000000..4b7eeef6c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/package-tree.html @@ -0,0 +1,154 @@ + + + + +org.apache.datasketches.quantilescommon Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.quantilescommon

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/quantilescommon/package-use.html b/docs/621/merge/org/apache/datasketches/quantilescommon/package-use.html new file mode 100644 index 000000000..5c9fcfb83 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/quantilescommon/package-use.html @@ -0,0 +1,435 @@ + + + + +Uses of Package org.apache.datasketches.quantilescommon (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.quantilescommon

+
+ +
+
Package
+
Description
+ +
+
This package is for the implementations of the sketch algorithm developed by Zohar Karnin, Kevin Lang, + and Edo Liberty that is commonly referred to as the "KLL" sketch after the authors' last names.
+
+ +
 
+ +
+
The quantiles package contains stochastic streaming algorithms that enable single-pass + analysis of the distribution of a stream of quantiles.
+
+ +
+
This package contains common tools and methods for the quantiles, kll and + req packages.
+
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/ReqDebug.html b/docs/621/merge/org/apache/datasketches/req/ReqDebug.html new file mode 100644 index 000000000..a399e33d0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/ReqDebug.html @@ -0,0 +1,283 @@ + + + + +ReqDebug (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ReqDebug

+
+
+
+
public interface ReqDebug
+
The signaling interface that allows comprehensive analysis of the ReqSketch and ReqCompactor + while eliminating code clutter in the main classes. The implementation of this interface can be + found in the test tree.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    emitAdjSecSizeNumSec(byte lgWeight)
    +
    +
    Emit adjusting section size and number of sections.
    +
    +
    void
    + +
    +
    Emit all horizontal lists
    +
    +
    void
    +
    emitCompactingStart(byte lgWeight)
    +
    +
    Emit Compaction Start.
    +
    +
    void
    +
    emitCompactionDetail(int compactionStart, + int compactionEnd, + int secsToCompact, + int promoteLen, + boolean coin)
    +
    +
    Emit Compaction details.
    +
    +
    void
    +
    emitCompactionDone(byte lgWeight)
    +
    +
    Emit compaction done and number of compactions so far.
    +
    +
    void
    + +
    +
    Emit compress done.
    +
    +
    void
    + +
    +
    Emit Must add compactor
    +
    +
    void
    +
    emitNewCompactor(byte lgWeight)
    +
    +
    Emit new compactor configuration
    +
    +
    void
    + +
    +
    Emit the start signal
    +
    +
    void
    + +
    +
    Emit Start Compress
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      emitStart

      +
      void emitStart(ReqSketch sk)
      +
      Emit the start signal
      +
      +
      Parameters:
      +
      sk - the sketch
      +
      +
      +
    • +
    • +
      +

      emitStartCompress

      +
      void emitStartCompress()
      +
      Emit Start Compress
      +
      +
    • +
    • +
      +

      emitCompressDone

      +
      void emitCompressDone()
      +
      Emit compress done.
      +
      +
    • +
    • +
      +

      emitAllHorizList

      +
      void emitAllHorizList()
      +
      Emit all horizontal lists
      +
      +
    • +
    • +
      +

      emitMustAddCompactor

      +
      void emitMustAddCompactor()
      +
      Emit Must add compactor
      +
      +
    • +
    • +
      +

      emitCompactingStart

      +
      void emitCompactingStart(byte lgWeight)
      +
      Emit Compaction Start.
      +
      +
      Parameters:
      +
      lgWeight - compactor lgWeight or height
      +
      +
      +
    • +
    • +
      +

      emitNewCompactor

      +
      void emitNewCompactor(byte lgWeight)
      +
      Emit new compactor configuration
      +
      +
      Parameters:
      +
      lgWeight - the log weight
      +
      +
      +
    • +
    • +
      +

      emitAdjSecSizeNumSec

      +
      void emitAdjSecSizeNumSec(byte lgWeight)
      +
      Emit adjusting section size and number of sections.
      +
      +
      Parameters:
      +
      lgWeight - the log weight
      +
      +
      +
    • +
    • +
      +

      emitCompactionDetail

      +
      void emitCompactionDetail(int compactionStart, + int compactionEnd, + int secsToCompact, + int promoteLen, + boolean coin)
      +
      Emit Compaction details.
      +
      +
      Parameters:
      +
      compactionStart - the offset of compaction start
      +
      compactionEnd - the offset of compaction end
      +
      secsToCompact - the number of sections to compact
      +
      promoteLen - the length of the promotion field
      +
      coin - the state of the random coin.
      +
      +
      +
    • +
    • +
      +

      emitCompactionDone

      +
      void emitCompactionDone(byte lgWeight)
      +
      Emit compaction done and number of compactions so far.
      +
      +
      Parameters:
      +
      lgWeight - the log weight
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/ReqSketch.html b/docs/621/merge/org/apache/datasketches/req/ReqSketch.html new file mode 100644 index 000000000..50f484893 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/ReqSketch.html @@ -0,0 +1,1094 @@ + + + + +ReqSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReqSketch

+
+
java.lang.Object +
org.apache.datasketches.req.ReqSketch
+
+
+
+
All Implemented Interfaces:
+
QuantilesAPI, QuantilesFloatsAPI
+
+
+
public final class ReqSketch +extends Object
+
This Relative Error Quantiles Sketch is the Java implementation based on the paper + "Relative Error Streaming Quantiles" by Graham Cormode, Zohar Karnin, Edo Liberty, + Justin Thaler, Pavel Veselý, and loosely derived from a Python prototype written by Pavel Veselý. + +

Reference: https://arxiv.org/abs/2004.01668

+ +

This implementation differs from the algorithm described in the paper in the following:

+ +
    +
  • The algorithm requires no upper bound on the stream length. + Instead, each relative-compactor counts the number of compaction operations performed + so far (via variable state). Initially, the relative-compactor starts with INIT_NUMBER_OF_SECTIONS. + Each time the number of compactions (variable state) exceeds 2^{numSections - 1}, we double + numSections. Note that after merging the sketch with another one variable state may not correspond + to the number of compactions performed at a particular level, however, since the state variable + never exceeds the number of compactions, the guarantees of the sketch remain valid.
  • + +
  • The size of each section (variable k and sectionSize in the code and parameter k in + the paper) is initialized with a number set by the user via variable k. + When the number of sections doubles, we decrease sectionSize by a factor of sqrt(2). + This is applied at each level separately. Thus, when we double the number of sections, the + nominal compactor size increases by a factor of approx. sqrt(2) (+/- rounding).
  • + +
  • The merge operation here does not perform "special compactions", which are used in the paper + to allow for a tight mathematical analysis of the sketch.
  • +
+ +

This implementation provides a number of capabilities not discussed in the paper or provided + in the Python prototype.

+ +
  • The Python prototype only implemented high accuracy for low ranks. This implementation + provides the user with the ability to choose either high rank accuracy or low rank accuracy at + the time of sketch construction.
  • +
  • The Python prototype only implemented a comparison criterion of "INCLUSIVE". This implementation + allows the user to switch back and forth between the "INCLUSIVE" criterion and the "EXCLUSIVE" criterion.
  • +
  • This implementation provides extensive debug visibility into the operation of the sketch with + two levels of detail output. This is not only useful for debugging, but is a powerful tool to + help users understand how the sketch works.
  • +
+
+
Author:
+
Edo Liberty, Pavel Vesely, Lee Rhodes
+
See Also:
+
+ +
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface org.apache.datasketches.quantilescommon.QuantilesAPI

    +EMPTY_MSG, MEM_REQ_SVR_NULL_MSG, NOT_SINGLE_ITEM_MSG, SELF_MERGE_MSG, TGT_IS_READ_ONLY_MSG, UNSUPPORTED_MSG
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static final ReqSketchBuilder
    + +
    +
    Returns a new ReqSketchBuilder
    +
    +
    double[]
    +
    getCDF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    boolean
    + +
    +
    If true, the high ranks are prioritized for better accuracy.
    +
    +
    int
    + +
    +
    Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
    +
    +
    float
    + +
    +
    Returns the maximum item of the stream.
    +
    +
    float
    + +
    +
    Returns the minimum item of the stream.
    +
    +
    long
    + +
    +
    Gets the length of the input stream offered to the sketch..
    +
    +
    double
    + +
    +
    Gets the approximate rank error of this sketch normalized as a fraction between zero and one.
    +
    +
    int
    + +
    +
    Gets the number of quantiles retained by the sketch.
    +
    +
    double[]
    +
    getPMF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
    +
    +
    Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints.
    +
    +
    float
    +
    getQuantile(double normRank, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the approximate quantile of the given normalized rank and the given search criterion.
    +
    +
    float
    +
    getQuantileLowerBound(double rank)
    +
    +
    Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
    +
    +
    float
    +
    getQuantileLowerBound(double rank, + int numStdDev)
    +
    +
    Gets an approximate lower bound of the quantile associated with the given rank.
    +
    +
    float[]
    +
    getQuantiles(double[] normRanks, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets an array of quantiles from the given array of normalized ranks.
    +
    +
    float
    +
    getQuantileUpperBound(double rank)
    +
    +
    Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
    +
    +
    float
    +
    getQuantileUpperBound(double rank, + int numStdDev)
    +
    +
    Gets an approximate upper bound of the quantile associated with the given rank.
    +
    +
    double
    +
    getRank(float quantile, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets the normalized rank corresponding to the given a quantile.
    +
    +
    double
    +
    getRankLowerBound(double rank)
    +
    +
    Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
    +
    +
    double
    +
    getRankLowerBound(double rank, + int numStdDev)
    +
    +
    Gets an approximate lower bound rank of the given normalized rank.
    +
    +
    double[]
    +
    getRanks(float[] quantiles, + QuantileSearchCriteria searchCrit)
    +
    +
    Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
    +
    +
    double
    +
    getRankUpperBound(double rank)
    +
    +
    Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
    +
    +
    double
    +
    getRankUpperBound(double rank, + int numStdDev)
    +
    +
    Gets an approximate upper bound rank of the given rank.
    +
    +
    static double
    +
    getRSE(int k, + double rank, + boolean hra, + long totalN)
    +
    +
    Returns an a priori estimate of relative standard error (RSE, expressed as a number in [0,1]).
    +
    +
    int
    + +
    +
    Returns the current number of bytes this Sketch would require if serialized.
    +
    + + +
    +
    Gets the sorted view of this sketch
    +
    +
    boolean
    + +
    +
    Returns true if this sketch's data structure is backed by Memory or WritableMemory.
    +
    +
    static ReqSketch
    +
    heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns an ReqSketch on the heap from a Memory image of the sketch.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is empty.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is in estimation mode.
    +
    +
    boolean
    + +
    +
    Returns true if this sketch is read only.
    +
    + + +
    +
    Gets the iterator for this sketch, which is not sorted.
    +
    + + +
    +
    Merge other sketch into this one.
    +
    +
    void
    + +
    +
    Resets this sketch to the empty state.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch.
    +
    + + +
    +
    Returns a summary of the key parameters of the sketch.
    +
    +
    void
    +
    update(float item)
    +
    +
    Updates this sketch with the given item.
    +
    + +
    viewCompactorDetail(String fmt, + boolean allData)
    +
    +
    A detailed, human readable view of the sketch compactors and their data.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.quantilescommon.QuantilesFloatsAPI

    +getCDF, getPMF, getQuantile, getQuantiles, getRank, getRanks
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      builder

      +
      public static final ReqSketchBuilder builder()
      +
      Returns a new ReqSketchBuilder
      +
      +
      Returns:
      +
      a new ReqSketchBuilder
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static ReqSketch heapify(org.apache.datasketches.memory.Memory mem)
      +
      Returns an ReqSketch on the heap from a Memory image of the sketch.
      +
      +
      Parameters:
      +
      mem - The Memory object holding a valid image of an ReqSketch
      +
      Returns:
      +
      an ReqSketch on the heap from a Memory image of the sketch.
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      Specified by:
      +
      getK in interface QuantilesAPI
      +
      Returns:
      +
      the user configured parameter k, which controls the accuracy of the sketch + and its memory space usage.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns an approximation to the Cumulative Distribution Function (CDF) of the input stream + as a monotonically increasing array of double ranks (or cumulative probabilities) on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(false) function.

      +
      +
      Specified by:
      +
      getCDF in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 overlapping intervals. +
      +

      The start of each interval is below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and the end of the interval + is the rank or cumulative probability corresponding to the split point.

      + +

      The (m+1)th interval represents 100% of the distribution represented by the sketch + and consistent with the definition of a cumulative probability distribution, thus the (m+1)th + rank or probability in the returned array is always 1.0.

      + +

      If a split point exactly equals a retained item of the sketch and the search criterion is:

      + +
        +
      • INCLUSIVE, the resulting cumulative probability will include that item.
      • +
      • EXCLUSIVE, the resulting cumulative probability will not include the weight of that split point.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a discrete CDF array of m+1 double ranks (or cumulative probabilities) on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getHighRankAccuracyMode

      +
      public boolean getHighRankAccuracyMode()
      +
      If true, the high ranks are prioritized for better accuracy. Otherwise + the low ranks are prioritized for better accuracy. This state is chosen during sketch + construction.
      +
      +
      Returns:
      +
      the high ranks accuracy state.
      +
      +
      +
    • +
    • +
      +

      getMaxItem

      +
      public float getMaxItem()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns the maximum item of the stream. This is provided for convenience, but may be different from the largest + item retained by the sketch algorithm.
      +
      +
      Specified by:
      +
      getMaxItem in interface QuantilesFloatsAPI
      +
      Returns:
      +
      the maximum item of the stream
      +
      +
      +
    • +
    • +
      +

      getMinItem

      +
      public float getMinItem()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns the minimum item of the stream. This is provided for convenience, but is distinct from the smallest + item retained by the sketch algorithm.
      +
      +
      Specified by:
      +
      getMinItem in interface QuantilesFloatsAPI
      +
      Returns:
      +
      the minimum item of the stream
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the length of the input stream offered to the sketch..
      +
      +
      Specified by:
      +
      getN in interface QuantilesAPI
      +
      Returns:
      +
      the length of the input stream offered to the sketch.
      +
      +
      +
    • +
    • +
      +

      getNormalizedRankError

      +
      public double getNormalizedRankError(boolean pmf)
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the approximate rank error of this sketch normalized as a fraction between zero and one. + The epsilon returned is a best fit to 99 percent confidence empirically measured max error + in thousands of trials.
      +
      +
      Parameters:
      +
      pmf - if true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      Returns:
      +
      if pmf is true, returns the "double-sided" normalized rank error for the getPMF() function. + Otherwise, it is the "single-sided" normalized rank error for all the other queries.
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(float[] splitPoints, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + as an array of probability masses as doubles on the interval [0.0, 1.0], + given a set of splitPoints. + +

      The resulting approximations have a probabilistic guarantee that can be obtained from the + getNormalizedRankError(true) function.

      +
      +
      Specified by:
      +
      getPMF in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing items + (of the same type as the input items) + that divide the item input domain into m+1 consecutive, non-overlapping intervals. +
      +

      Each interval except for the end intervals starts with a split point and ends with the next split + point in sequence.

      + +

      The first interval starts below the lowest item retained by the sketch + corresponding to a zero rank or zero probability, and ends with the first split point

      + +

      The last (m+1)th interval starts with the last split point and ends after the last + item retained by the sketch corresponding to a rank or probability of 1.0.

      + +

      The sum of the probability masses of all (m+1) intervals is 1.0.

      + +

      If the search criterion is:

      + +
        +
      • INCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will include that item. If the lower split point equals an item retained by the sketch, the interval will exclude + that item.
      • +
      • EXCLUSIVE, and the upper split point of an interval equals an item retained by the sketch, the interval + will exclude that item. If the lower split point equals an item retained by the sketch, the interval will include + that item.
      • +
      + +

      It is not recommended to include either the minimum or maximum items of the input stream.

      +
      +
      searchCrit - the desired search criteria.
      +
      Returns:
      +
      a PMF array of m+1 probability masses as doubles on the interval [0.0, 1.0].
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public float getQuantile(double normRank, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the approximate quantile of the given normalized rank and the given search criterion.
      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      normRank - the given normalized rank, a double in the range [0.0, 1.0].
      +
      searchCrit - If INCLUSIVE, the given rank includes all quantiles ≤ + the quantile directly corresponding to the given rank. + If EXCLUSIVE, he given rank includes all quantiles < + the quantile directly corresponding to the given rank.
      +
      Returns:
      +
      the approximate quantile given the normalized rank.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantiles

      +
      public float[] getQuantiles(double[] normRanks, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets an array of quantiles from the given array of normalized ranks.
      +
      +
      Specified by:
      +
      getQuantiles in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      normRanks - the given array of normalized ranks, each of which must be + in the interval [0.0,1.0].
      +
      searchCrit - if INCLUSIVE, the given ranks include all quantiles ≤ + the quantile directly corresponding to each rank.
      +
      Returns:
      +
      an array of quantiles corresponding to the given array of normalized ranks.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public float getQuantileLowerBound(double rank)
      +
      Gets the lower bound of the quantile confidence interval in which the quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile confidence interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.95.
      +
      +
      Specified by:
      +
      getQuantileLowerBound in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the lower bound of the quantile confidence interval in which the quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileLowerBound

      +
      public float getQuantileLowerBound(double rank, + int numStdDev)
      +
      Gets an approximate lower bound of the quantile associated with the given rank.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a number between 0 and 1.0.
      +
      numStdDev - the number of standard deviations. Must be 1, 2, or 3.
      +
      Returns:
      +
      an approximate lower bound quantile, if it exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public float getQuantileUpperBound(double rank)
      +
      Gets the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists. + +

      Although it is possible to estimate the probability that the true quantile + exists within the quantile confidence interval specified by the upper and lower quantile bounds, + it is not possible to guarantee the width of the quantile interval + as an additive or multiplicative percent of the true quantile.

      + The approximate probability that the true quantile is within the confidence interval + specified by the upper and lower quantile bounds for this sketch is 0.95.
      +
      +
      Specified by:
      +
      getQuantileUpperBound in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      rank - the given normalized rank
      +
      Returns:
      +
      the upper bound of the quantile confidence interval in which the true quantile of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getQuantileUpperBound

      +
      public float getQuantileUpperBound(double rank, + int numStdDev)
      +
      Gets an approximate upper bound of the quantile associated with the given rank.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a number between 0 and 1.0.
      +
      numStdDev - the number of standard deviations. Must be 1, 2, or 3.
      +
      Returns:
      +
      an approximate upper bound quantile, if it exists.
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(float quantile, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the normalized rank corresponding to the given a quantile.
      +
      +
      Specified by:
      +
      getRank in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      quantile - the given quantile
      +
      searchCrit - if INCLUSIVE the given quantile is included into the rank.
      +
      Returns:
      +
      the normalized rank corresponding to the given quantile.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank)
      +
      Gets the lower bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.95.
      +
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the lower bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankLowerBound

      +
      public double getRankLowerBound(double rank, + int numStdDev)
      +
      Gets an approximate lower bound rank of the given normalized rank.
      +
      +
      Parameters:
      +
      rank - the given normalized rank, a number between 0 and 1.0.
      +
      numStdDev - the number of standard deviations. Must be 1, 2, or 3.
      +
      Returns:
      +
      an approximate lower bound rank.
      +
      +
      +
    • +
    • +
      +

      getRanks

      +
      public double[] getRanks(float[] quantiles, + QuantileSearchCriteria searchCrit)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets an array of normalized ranks corresponding to the given array of quantiles and the given + search criterion.
      +
      +
      Specified by:
      +
      getRanks in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      quantiles - the given array of quantiles
      +
      searchCrit - if INCLUSIVE, the given quantiles include the rank directly corresponding to each quantile.
      +
      Returns:
      +
      an array of normalized ranks corresponding to the given array of quantiles.
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank)
      +
      Gets the upper bound of the rank confidence interval in which the true rank of the + given rank exists. + The approximate probability that the true rank is within the confidence interval + specified by the upper and lower rank bounds for this sketch is 0.95.
      +
      +
      Parameters:
      +
      rank - the given normalized rank.
      +
      Returns:
      +
      the upper bound of the rank confidence interval in which the true rank of the + given rank exists.
      +
      +
      +
    • +
    • +
      +

      getRankUpperBound

      +
      public double getRankUpperBound(double rank, + int numStdDev)
      +
      Gets an approximate upper bound rank of the given rank.
      +
      +
      Parameters:
      +
      rank - the given rank, a number between 0 and 1.0.
      +
      numStdDev - the number of standard deviations. Must be 1, 2, or 3.
      +
      Returns:
      +
      an approximate upper bound rank.
      +
      +
      +
    • +
    • +
      +

      getNumRetained

      +
      public int getNumRetained()
      +
      Description copied from interface: QuantilesAPI
      +
      Gets the number of quantiles retained by the sketch.
      +
      +
      Specified by:
      +
      getNumRetained in interface QuantilesAPI
      +
      Returns:
      +
      the number of quantiles retained by the sketch
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      public int getSerializedSizeBytes()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns the current number of bytes this Sketch would require if serialized.
      +
      +
      Specified by:
      +
      getSerializedSizeBytes in interface QuantilesFloatsAPI
      +
      Returns:
      +
      the number of bytes this sketch would require if serialized.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is empty.
      +
      +
      Specified by:
      +
      isEmpty in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is empty.
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is in estimation mode.
      +
      +
      Specified by:
      +
      isEstimationMode in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public QuantilesFloatsSketchIterator iterator()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the iterator for this sketch, which is not sorted.
      +
      +
      Specified by:
      +
      iterator in interface QuantilesFloatsAPI
      +
      Returns:
      +
      the iterator for this sketch
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public ReqSketch merge(ReqSketch other)
      +
      Merge other sketch into this one. The other sketch is not modified.
      +
      +
      Parameters:
      +
      other - sketch to be merged into this one.
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch to the empty state. + If the sketch is read only this does nothing. + +

      The parameter k will not change.

      + +

      The parameters k, highRankAccuracy, and reqDebug will not change.

      +
      +
      Specified by:
      +
      reset in interface QuantilesAPI
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Returns a byte array representation of this sketch.
      +
      +
      Specified by:
      +
      toByteArray in interface QuantilesFloatsAPI
      +
      Returns:
      +
      a byte array representation of this sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns a summary of the key parameters of the sketch.
      +
      +
      Specified by:
      +
      toString in interface QuantilesAPI
      +
      Returns:
      +
      a summary of the key parameters of the sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(float item)
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Updates this sketch with the given item.
      +
      +
      Specified by:
      +
      update in interface QuantilesFloatsAPI
      +
      Parameters:
      +
      item - from a stream of quantiles. NaNs are ignored.
      +
      +
      +
    • +
    • +
      +

      viewCompactorDetail

      +
      public String viewCompactorDetail(String fmt, + boolean allData)
      +
      A detailed, human readable view of the sketch compactors and their data. + Each compactor string is prepended by the compactor lgWeight, the current number of retained + quantiles of the compactor and the current nominal capacity of the compactor.
      +
      +
      Parameters:
      +
      fmt - the format string for the quantiles; example: "%4.0f".
      +
      allData - all the retained quantiles for the sketch will be output by + compactor level. Otherwise, just a summary will be output.
      +
      Returns:
      +
      a detailed view of the compactors and their data
      +
      +
      +
    • +
    • +
      +

      getSortedView

      +
      public FloatsSketchSortedView getSortedView()
      +
      Description copied from interface: QuantilesFloatsAPI
      +
      Gets the sorted view of this sketch
      +
      +
      Specified by:
      +
      getSortedView in interface QuantilesFloatsAPI
      +
      Returns:
      +
      the sorted view of this sketch
      +
      +
      +
    • +
    • +
      +

      getRSE

      +
      public static double getRSE(int k, + double rank, + boolean hra, + long totalN)
      +
      Returns an a priori estimate of relative standard error (RSE, expressed as a number in [0,1]). + Derived from Lemma 12 in https://arxiv.org/abs/2004.01668v2, but the constant factors were + adjusted based on empirical measurements.
      +
      +
      Parameters:
      +
      k - the given size of k
      +
      rank - the given normalized rank, a number in [0,1].
      +
      hra - if true High Rank Accuracy mode is being selected, otherwise, Low Rank Accuracy.
      +
      totalN - an estimate of the total number of items submitted to the sketch.
      +
      Returns:
      +
      an a priori estimate of relative standard error (RSE, expressed as a number in [0,1]).
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      public boolean hasMemory()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      Specified by:
      +
      hasMemory in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      +
    • +
    • +
      +

      isDirect

      +
      public boolean isDirect()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      Specified by:
      +
      isDirect in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch's data structure is off-heap (a.k.a., Direct or Native memory).
      +
      +
      +
    • +
    • +
      +

      isReadOnly

      +
      public boolean isReadOnly()
      +
      Description copied from interface: QuantilesAPI
      +
      Returns true if this sketch is read only.
      +
      +
      Specified by:
      +
      isReadOnly in interface QuantilesAPI
      +
      Returns:
      +
      true if this sketch is read only.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/ReqSketchBuilder.html b/docs/621/merge/org/apache/datasketches/req/ReqSketchBuilder.html new file mode 100644 index 000000000..3e56d4dd6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/ReqSketchBuilder.html @@ -0,0 +1,293 @@ + + + + +ReqSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReqSketchBuilder

+
+
java.lang.Object +
org.apache.datasketches.req.ReqSketchBuilder
+
+
+
+
public class ReqSketchBuilder +extends Object
+
For building a new ReqSketch
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ReqSketchBuilder

      +
      public ReqSketchBuilder()
      +
      Constructor for the ReqSketchBuilder.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      build

      +
      public ReqSketch build()
      +
      Returns a new ReqSketch with the current configuration of the builder.
      +
      +
      Returns:
      +
      a new ReqSketch
      +
      +
      +
    • +
    • +
      +

      getHighRankAccuracy

      +
      public boolean getHighRankAccuracy()
      +
      Gets the builder configured High Rank Accuracy.
      +
      +
      Returns:
      +
      the builder configured High Rank Accuracy.
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Gets the builder configured k.
      +
      +
      Returns:
      +
      the builder configured k.
      +
      +
      +
    • +
    • +
      +

      getReqDebug

      +
      public ReqDebug getReqDebug()
      +
      Gets the builder configured ReqDebug
      +
      +
      Returns:
      +
      the builder configured ReqDebug, or null.
      +
      +
      +
    • +
    • +
      +

      setHighRankAccuracy

      +
      public ReqSketchBuilder setHighRankAccuracy(boolean hra)
      +
      This sets the parameter highRankAccuracy.
      +
      +
      Parameters:
      +
      hra - See ReqSketch#ReqSketch(int, boolean, ReqDebug)
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    • +
      +

      setK

      +
      public ReqSketchBuilder setK(int k)
      +
      This sets the parameter k.
      +
      +
      Parameters:
      +
      k - See ReqSketch#ReqSketch(int, boolean, ReqDebug)
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    • +
      +

      setReqDebug

      +
      public ReqSketchBuilder setReqDebug(ReqDebug reqDebug)
      +
      This sets the parameter reqDebug.
      +
      +
      Parameters:
      +
      reqDebug - See ReqSketch#ReqSketch(int, boolean, ReqDebug)
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/ReqSketchIterator.html b/docs/621/merge/org/apache/datasketches/req/ReqSketchIterator.html new file mode 100644 index 000000000..77332d46b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/ReqSketchIterator.html @@ -0,0 +1,201 @@ + + + + +ReqSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReqSketchIterator

+
+
java.lang.Object +
org.apache.datasketches.req.ReqSketchIterator
+
+
+
+
All Implemented Interfaces:
+
QuantilesFloatsSketchIterator, QuantilesSketchIterator
+
+
+
public final class ReqSketchIterator +extends Object +implements QuantilesFloatsSketchIterator
+
Iterator over all retained items of the ReqSketch. The order is not defined.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    float
    + +
    +
    Gets the float quantile at the current index.
    +
    +
    long
    + +
    +
    Gets the natural weight at the current index.
    +
    +
    boolean
    + +
    +
    Advances the index and checks if it is valid.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getQuantile

      +
      public float getQuantile()
      +
      Description copied from interface: QuantilesFloatsSketchIterator
      +
      Gets the float quantile at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getQuantile in interface QuantilesFloatsSketchIterator
      +
      Returns:
      +
      the float quantile at the current index.
      +
      +
      +
    • +
    • +
      +

      getWeight

      +
      public long getWeight()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Gets the natural weight at the current index. + +

      Don't call this before calling next() for the first time + or after getting false from next().

      +
      +
      Specified by:
      +
      getWeight in interface QuantilesSketchIterator
      +
      Returns:
      +
      the natural weight at the current index.
      +
      +
      +
    • +
    • +
      +

      next

      +
      public boolean next()
      +
      Description copied from interface: QuantilesSketchIterator
      +
      Advances the index and checks if it is valid. + The state of this iterator is undefined before the first call of this method.
      +
      +
      Specified by:
      +
      next in interface QuantilesSketchIterator
      +
      Returns:
      +
      true if the next index is valid.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/class-use/ReqDebug.html b/docs/621/merge/org/apache/datasketches/req/class-use/ReqDebug.html new file mode 100644 index 000000000..80570133a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/class-use/ReqDebug.html @@ -0,0 +1,102 @@ + + + + +Uses of Interface org.apache.datasketches.req.ReqDebug (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.req.ReqDebug

+
+
Packages that use ReqDebug
+
+
Package
+
Description
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketch.html b/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketch.html new file mode 100644 index 000000000..156a6d659 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketch.html @@ -0,0 +1,113 @@ + + + + +Uses of Class org.apache.datasketches.req.ReqSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.req.ReqSketch

+
+
Packages that use ReqSketch
+
+
Package
+
Description
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchBuilder.html b/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchBuilder.html new file mode 100644 index 000000000..262d311d2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchBuilder.html @@ -0,0 +1,106 @@ + + + + +Uses of Class org.apache.datasketches.req.ReqSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.req.ReqSketchBuilder

+
+
Packages that use ReqSketchBuilder
+
+
Package
+
Description
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchIterator.html b/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchIterator.html new file mode 100644 index 000000000..bc6dda5c0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/class-use/ReqSketchIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.req.ReqSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.req.ReqSketchIterator

+
+No usage of org.apache.datasketches.req.ReqSketchIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/package-summary.html b/docs/621/merge/org/apache/datasketches/req/package-summary.html new file mode 100644 index 000000000..b62b24859 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/package-summary.html @@ -0,0 +1,134 @@ + + + + +org.apache.datasketches.req (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.req

+
+
+
package org.apache.datasketches.req
+
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
See Also:
+
+ +
+
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    The signaling interface that allows comprehensive analysis of the ReqSketch and ReqCompactor + while eliminating code clutter in the main classes.
    +
    + +
    +
    This Relative Error Quantiles Sketch is the Java implementation based on the paper + "Relative Error Streaming Quantiles" by Graham Cormode, Zohar Karnin, Edo Liberty, + Justin Thaler, Pavel Veselý, and loosely derived from a Python prototype written by Pavel Veselý.
    +
    + +
    +
    For building a new ReqSketch
    +
    + +
    +
    Iterator over all retained items of the ReqSketch.
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/package-tree.html b/docs/621/merge/org/apache/datasketches/req/package-tree.html new file mode 100644 index 000000000..3b0e27935 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/package-tree.html @@ -0,0 +1,84 @@ + + + + +org.apache.datasketches.req Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.req

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • org.apache.datasketches.req.ReqDebug
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/req/package-use.html b/docs/621/merge/org/apache/datasketches/req/package-use.html new file mode 100644 index 000000000..bb009c21c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/req/package-use.html @@ -0,0 +1,99 @@ + + + + +Uses of Package org.apache.datasketches.req (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.req

+
+
Packages that use org.apache.datasketches.req
+
+
Package
+
Description
+ +
+
This package is for the implementation of the Relative Error Quantiles sketch algorithm.
+
+
+
+
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    The signaling interface that allows comprehensive analysis of the ReqSketch and ReqCompactor + while eliminating code clutter in the main classes.
    +
    + +
    +
    This Relative Error Quantiles Sketch is the Java implementation based on the paper + "Relative Error Streaming Quantiles" by Graham Cormode, Zohar Karnin, Edo Liberty, + Justin Thaler, Pavel Veselý, and loosely derived from a Python prototype written by Pavel Veselý.
    +
    + +
    +
    For building a new ReqSketch
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/EbppsItemsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/EbppsItemsSketch.html new file mode 100644 index 000000000..56b285b94 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/EbppsItemsSketch.html @@ -0,0 +1,475 @@ + + + + +EbppsItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EbppsItemsSketch<T>

+
+
java.lang.Object +
org.apache.datasketches.sampling.EbppsItemsSketch<T>
+
+
+
+
Type Parameters:
+
T - the item class type
+
+
+
public final class EbppsItemsSketch<T> +extends Object
+
An implementation of an Exact and Bounded Sampling Proportional to Size sketch. + +

From: "Exact PPS Sampling with Bounded Sample Size", + B. Hentschel, P. J. Haas, Y. Tian. Information Processing Letters, 2023. + +

This sketch samples data from a stream of items proportional to the weight of each item. + The sample guarantees the presence of an item in the result is proportional to that item's + portion of the total weight seen by the sketch, and returns a sample no larger than size k. + +

The sample may be smaller than k and the resulting size of the sample potentially includes + a probabilistic component, meaning the resulting sample size is not always constant.

+
+
Author:
+
Jon Malkin
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructor
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double
    + +
    +
    Returns the expected number of samples returned upon a call to + getResult().
    +
    +
    double
    + +
    +
    Returns the cumulative weight of items processed by the sketch.
    +
    +
    int
    + +
    +
    Returns the configured maximum sample size.
    +
    +
    long
    + +
    +
    Returns the number of items processed by the sketch, regardless + of item weight.
    +
    + + +
    +
    Returns a copy of the current sample.
    +
    +
    int
    + +
    +
    Returns the size of a byte array representation of this sketch.
    +
    +
    int
    +
    getSerializedSizeBytes(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
    +
    +
    Returns the length of a byte array representation of this sketch.
    +
    +
    static <T> EbppsItemsSketch<T>
    +
    heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
    +
    +
    Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
    +
    +
    boolean
    + +
    +
    Returns true if the sketch is empty.
    +
    +
    void
    + +
    +
    Merges the provided sketch into the current one.
    +
    +
    void
    + +
    +
    Resets the sketch to its default, empty state.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch.
    +
    +
    byte[]
    +
    toByteArray(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
    +
    +
    Returns a byte array representation of this sketch.
    +
    + + +
    +
    Provides a human-readable summary of the sketch
    +
    +
    void
    +
    update(T item)
    +
    +
    Updates this sketch with the given data item with weight 1.0.
    +
    +
    void
    +
    update(T item, + double weight)
    +
    +
    Updates this sketch with the given data item with the given weight.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EbppsItemsSketch

      +
      public EbppsItemsSketch(int k)
      +
      Constructor
      +
      +
      Parameters:
      +
      k - The maximum number of samples to retain
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static <T> EbppsItemsSketch<T> heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
      +
      +
      Type Parameters:
      +
      T - The type of item this sketch contains
      +
      Parameters:
      +
      srcMem - a Memory representation of a sketch of this class. + See Memory
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a sketch instance of this class
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item)
      +
      Updates this sketch with the given data item with weight 1.0.
      +
      +
      Parameters:
      +
      item - an item from a stream of items
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item, + double weight)
      +
      Updates this sketch with the given data item with the given weight.
      +
      +
      Parameters:
      +
      item - an item from a stream of items
      +
      weight - the weight of the item
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public void merge(EbppsItemsSketch<T> other)
      +
      Merges the provided sketch into the current one.
      +
      +
      Parameters:
      +
      other - the sketch to merge into the current object
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ArrayList<T> getResult()
      +
      Returns a copy of the current sample. The exact size may be + probabilistic, differing by at most 1 item.
      +
      +
      Returns:
      +
      the current sketch sample
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Provides a human-readable summary of the sketch
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      a summary of information in the sketch
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Returns the configured maximum sample size.
      +
      +
      Returns:
      +
      configured maximum sample size
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Returns the number of items processed by the sketch, regardless + of item weight.
      +
      +
      Returns:
      +
      count of items processed by the sketch
      +
      +
      +
    • +
    • +
      +

      getCumulativeWeight

      +
      public double getCumulativeWeight()
      +
      Returns the cumulative weight of items processed by the sketch.
      +
      +
      Returns:
      +
      cumulative weight of items seen
      +
      +
      +
    • +
    • +
      +

      getC

      +
      public double getC()
      +
      Returns the expected number of samples returned upon a call to + getResult(). The number is a floating point value, where the + fractional portion represents the probability of including a + "partial item" from the sample. + +

      The value C should be no larger than the sketch's configured + value of k, although numerical precision limitations mean it + may exceed k by double precision floating point error margins + in certain cases.

      +
      +
      Returns:
      +
      The expected number of samples returned when querying the sketch
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      Returns true if the sketch is empty.
      +
      +
      Returns:
      +
      empty flag
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets the sketch to its default, empty state.
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      public int getSerializedSizeBytes(ArrayOfItemsSerDe<? super T> serDe)
      +
      Returns the size of a byte array representation of this sketch. May fail for polymorphic item types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      the length of a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      getSerializedSizeBytes

      +
      public int getSerializedSizeBytes(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
      +
      Returns the length of a byte array representation of this sketch. Copies contents into an array of the + specified class for serialization to allow for polymorphic types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      clazz - The class represented by <T>
      +
      Returns:
      +
      the length of a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<? super T> serDe)
      +
      Returns a byte array representation of this sketch. May fail for polymorphic item types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
      +
      Returns a byte array representation of this sketch. Copies contents into an array of the + specified class for serialization to allow for polymorphic types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      clazz - The class represented by <T>
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsSketch.html new file mode 100644 index 000000000..49d1e4c08 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsSketch.html @@ -0,0 +1,455 @@ + + + + +ReservoirItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReservoirItemsSketch<T>

+
+
java.lang.Object +
org.apache.datasketches.sampling.ReservoirItemsSketch<T>
+
+
+
+
Type Parameters:
+
T - The type of object held in the reservoir.
+
+
+
public final class ReservoirItemsSketch<T> +extends Object
+
This sketch provides a reservoir sample over an input stream of items. The sketch contains a + uniform random sample of unweighted items from the stream.
+
+
Author:
+
Jon Malkin, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Computes an estimated subset sum from the entire stream for objects matching a given + predicate.
    +
    +
    int
    + +
    +
    Returns the sketch's value of k, the maximum number of samples stored in the + reservoir.
    +
    +
    long
    + +
    +
    Returns the number of items processed from the input stream
    +
    +
    int
    + +
    +
    Returns the current number of items in the reservoir, which may be smaller than the + reservoir capacity.
    +
    +
    T[]
    + +
    +
    Returns a copy of the items in the reservoir, or null if empty.
    +
    +
    T[]
    +
    getSamples(Class<?> clazz)
    +
    +
    Returns a copy of the items in the reservoir as members of Class clazz, or null + if empty.
    +
    +
    static <T> ReservoirItemsSketch<T>
    +
    heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
    +
    +
    Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
    +
    +
    static <T> ReservoirItemsSketch<T>
    +
    newInstance(int k)
    +
    +
    Construct a mergeable sampling sketch with up to k samples using the default resize + factor (8).
    +
    +
    static <T> ReservoirItemsSketch<T>
    +
    newInstance(int k, + ResizeFactor rf)
    +
    +
    Construct a mergeable sampling sketch with up to k samples using a specified resize factor.
    +
    +
    void
    + +
    +
    Resets this sketch to the empty state, but retains the original value of k.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch.
    +
    +
    byte[]
    +
    toByteArray(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
    +
    +
    Returns a byte array representation of this sketch.
    +
    + + +
    +
    Returns a human-readable summary of the sketch, without items.
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a ReservoirItemsSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a ReservoirItemsSketch.
    +
    +
    void
    +
    update(T item)
    +
    +
    Randomly decide whether or not to include an item in the sample set.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newInstance

      +
      public static <T> ReservoirItemsSketch<T> newInstance(int k)
      +
      Construct a mergeable sampling sketch with up to k samples using the default resize + factor (8).
      +
      +
      Type Parameters:
      +
      T - The type of object held in the reservoir.
      +
      Parameters:
      +
      k - Maximum size of sampling. Allocated size may be smaller until reservoir fills. + Unlike many sketches in this package, this value does not need to be a + power of 2.
      +
      Returns:
      +
      A ReservoirLongsSketch initialized with maximum size k and the default resize factor.
      +
      +
      +
    • +
    • +
      +

      newInstance

      +
      public static <T> ReservoirItemsSketch<T> newInstance(int k, + ResizeFactor rf)
      +
      Construct a mergeable sampling sketch with up to k samples using a specified resize factor.
      +
      +
      Type Parameters:
      +
      T - The type of object held in the reservoir.
      +
      Parameters:
      +
      k - Maximum size of sampling. Allocated size may be smaller until reservoir fills. + Unlike many sketches in this package, this value does not need to be a + power of 2.
      +
      rf - See Resize Factor
      +
      Returns:
      +
      A ReservoirLongsSketch initialized with maximum size k and resize factor rf.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static <T> ReservoirItemsSketch<T> heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
      +
      +
      Type Parameters:
      +
      T - The type of item this sketch contains
      +
      Parameters:
      +
      srcMem - a Memory representation of a sketch of this class. + See Memory
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a sketch instance of this class
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Returns the sketch's value of k, the maximum number of samples stored in the + reservoir. The current number of items in the sketch may be lower.
      +
      +
      Returns:
      +
      k, the maximum number of samples in the reservoir
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Returns the number of items processed from the input stream
      +
      +
      Returns:
      +
      n, the number of stream items the sketch has seen
      +
      +
      +
    • +
    • +
      +

      getNumSamples

      +
      public int getNumSamples()
      +
      Returns the current number of items in the reservoir, which may be smaller than the + reservoir capacity.
      +
      +
      Returns:
      +
      the number of items currently in the reservoir
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item)
      +
      Randomly decide whether or not to include an item in the sample set.
      +
      +
      Parameters:
      +
      item - a unit-weight (equivalently, unweighted) item of the set being sampled from
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch to the empty state, but retains the original value of k.
      +
      +
    • +
    • +
      +

      getSamples

      +
      public T[] getSamples()
      +
      Returns a copy of the items in the reservoir, or null if empty. The returned array length + may be smaller than the reservoir capacity. + +

      In order to allocate an array of generic type T, uses the class of the first item in + the array. This method method may throw an ArrayAssignmentException if the + reservoir stores instances of a polymorphic base class.

      +
      +
      Returns:
      +
      A copy of the reservoir array
      +
      +
      +
    • +
    • +
      +

      getSamples

      +
      public T[] getSamples(Class<?> clazz)
      +
      Returns a copy of the items in the reservoir as members of Class clazz, or null + if empty. The returned array length may be smaller than the reservoir capacity. + +

      This method allocates an array of class clazz, which must either match or + extend T. This method should be used when objects in the array are all instances of T but + are not necessarily instances of the base class.

      +
      +
      Parameters:
      +
      clazz - A class to which the items are cast before returning
      +
      Returns:
      +
      A copy of the reservoir array
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human-readable summary of the sketch, without items.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      A string version of the sketch summary
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of a ReservoirItemsSketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a ReservoirItemsSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of a ReservoirItemsSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a ReservoirItemsSketch.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<? super T> serDe)
      +
      Returns a byte array representation of this sketch. May fail for polymorphic item types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
      +
      Returns a byte array representation of this sketch. Copies contents into an array of the + specified class for serialization to allow for polymorphic types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      clazz - The class represented by <T>
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      estimateSubsetSum

      +
      public SampleSubsetSummary estimateSubsetSum(Predicate<T> predicate)
      +
      Computes an estimated subset sum from the entire stream for objects matching a given + predicate. Provides a lower bound, estimate, and upper bound using a target of 2 standard + deviations. + +

      This is technically a heuristic method, and tries to err on the conservative side.

      +
      +
      Parameters:
      +
      predicate - A predicate to use when identifying items.
      +
      Returns:
      +
      A summary object containing the estimate, upper and lower bounds, and the total + sketch weight.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsUnion.html b/docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsUnion.html new file mode 100644 index 000000000..46065d628 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/ReservoirItemsUnion.html @@ -0,0 +1,364 @@ + + + + +ReservoirItemsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReservoirItemsUnion<T>

+
+
java.lang.Object +
org.apache.datasketches.sampling.ReservoirItemsUnion<T>
+
+
+
+
Type Parameters:
+
T - The specific Java type for this sketch
+
+
+
public final class ReservoirItemsUnion<T> +extends Object
+
Class to union reservoir samples of generic items. + +

For efficiency reasons, the unioning process picks one of the two sketches to use as the + base. As a result, we provide only a stateful union. Using the same approach for a merge would + result in unpredictable side effects on the underlying sketches.

+ +

A union object is created with a maximum value of k, represented using the + ReservoirSize class. The unioning process may cause the actual number of samples to fall below + that maximum value, but never to exceed it. The result of a union will be a reservoir where + each item from the global input has a uniform probability of selection, but there are no + claims about higher order statistics. For instance, in general all possible permutations of + the global input are not equally likely.

+ +

If taking the union of two reservoirs of different sizes, the output sample will contain no more + than MIN(k_1, k_2) samples.

+
+
Author:
+
Jon Malkin, Kevin Lang
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newInstance

      +
      public static <T> ReservoirItemsUnion<T> newInstance(int maxK)
      +
      Creates an empty Union with a maximum reservoir capacity of size k.
      +
      +
      Type Parameters:
      +
      T - The type of item this sketch contains
      +
      Parameters:
      +
      maxK - The maximum allowed reservoir capacity for any sketches in the union
      +
      Returns:
      +
      A new ReservoirItemsUnion
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static <T> ReservoirItemsUnion<T> heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Instantiates a Union from Memory
      +
      +
      Type Parameters:
      +
      T - The type of item this sketch contains
      +
      Parameters:
      +
      srcMem - Memory object containing a serialized union
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      A ReservoirItemsUnion created from the provided Memory
      +
      +
      +
    • +
    • +
      +

      getMaxK

      +
      public int getMaxK()
      +
      Returns the maximum allowed reservoir capacity in this union. The current reservoir capacity + may be lower.
      +
      +
      Returns:
      +
      The maximum allowed reservoir capacity in this union.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ReservoirItemsSketch<T> sketchIn)
      +
      Union the given sketch. This method can be repeatedly called. If the given sketch is null it is + interpreted as an empty sketch.
      +
      +
      Parameters:
      +
      sketchIn - The incoming sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(org.apache.datasketches.memory.Memory mem, + ArrayOfItemsSerDe<T> serDe)
      +
      Union the given Memory image of the sketch. + +

      This method can be repeatedly called. If the given sketch is null it is interpreted as an + empty sketch.

      +
      +
      Parameters:
      +
      mem - Memory image of sketch to be merged
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T datum)
      +
      Present this union with a single item to be added to the union.
      +
      +
      Parameters:
      +
      datum - The given datum of type T.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long n, + int k, + ArrayList<T> input)
      +
      Present this union with raw elements of a sketch. Useful when operating in a distributed + environment like Pig Latin scripts, where an explicit SerDe may be overly complicated but + keeping raw values is simple. Values are not copied and the input array may be + modified.
      +
      +
      Parameters:
      +
      n - Total items seen
      +
      k - Reservoir size
      +
      input - Reservoir samples
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ReservoirItemsSketch<T> getResult()
      +
      Returns a sketch representing the current state of the union.
      +
      +
      Returns:
      +
      The result of any unions already processed.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<T> serDe)
      +
      Returns a byte array representation of this union
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a byte array representation of this union
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human-readable summary of the sketch, without items.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      A string version of the sketch summary
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<T> serDe, + Class<?> clazz)
      +
      Returns a byte array representation of this union. This method should be used when the array + elements are subclasses of a common base class.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      clazz - A class to which the items are cast before serialization
      +
      Returns:
      +
      a byte array representation of this union
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsSketch.html new file mode 100644 index 000000000..5a600aa7d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsSketch.html @@ -0,0 +1,388 @@ + + + + +ReservoirLongsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReservoirLongsSketch

+
+
java.lang.Object +
org.apache.datasketches.sampling.ReservoirLongsSketch
+
+
+
+
public final class ReservoirLongsSketch +extends Object
+
This sketch provides a reservoir sample over an input stream of longs. The sketch + contains a uniform random sample of items from the stream.
+
+
Author:
+
Jon Malkin, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Computes an estimated subset sum from the entire stream for objects matching a given + predicate.
    +
    +
    int
    + +
    +
    Returns the sketch's value of k, the maximum number of samples stored in the reservoir.
    +
    +
    long
    + +
    +
    Returns the number of items processed from the input stream
    +
    +
    int
    + +
    +
    Returns the current number of items in the reservoir, which may be smaller than the reservoir + capacity.
    +
    +
    long[]
    + +
    +
    Returns a copy of the items in the reservoir.
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Returns a sketch instance of this class from the given srcMem, which must be a Memory + representation of this sketch class.
    +
    + +
    newInstance(int k)
    +
    +
    Construct a mergeable reservoir sampling sketch with up to k samples using the default resize + factor (8).
    +
    + +
    newInstance(int k, + ResizeFactor rf)
    +
    +
    Construct a mergeable reservoir sampling sketch with up to k samples using the default resize + factor (8).
    +
    +
    void
    + +
    +
    Resets this sketch to the empty state, but retains the original value of k.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch
    +
    + + +
    +
    Returns a human-readable summary of the sketch, without items.
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a ReservoirLongsSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a ReservoirLongsSketch.
    +
    +
    void
    +
    update(long item)
    +
    +
    Randomly decide whether or not to include an item in the sample set.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newInstance

      +
      public static ReservoirLongsSketch newInstance(int k)
      +
      Construct a mergeable reservoir sampling sketch with up to k samples using the default resize + factor (8).
      +
      +
      Parameters:
      +
      k - Maximum size of sampling. Allocated size may be smaller until sampling fills. Unlike + many sketches in this package, this value does not need to be a power of 2.
      +
      Returns:
      +
      A ReservoirLongsSketch initialized with maximum size k and the default resize factor.
      +
      +
      +
    • +
    • +
      +

      newInstance

      +
      public static ReservoirLongsSketch newInstance(int k, + ResizeFactor rf)
      +
      Construct a mergeable reservoir sampling sketch with up to k samples using the default resize + factor (8).
      +
      +
      Parameters:
      +
      k - Maximum size of sampling. Allocated size may be smaller until sampling fills. Unlike + many sketches in this package, this value does not need to be a power of 2.
      +
      rf - See Resize Factor
      +
      Returns:
      +
      A ReservoirLongsSketch initialized with maximum size k and ResizeFactor rf.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static ReservoirLongsSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Returns a sketch instance of this class from the given srcMem, which must be a Memory + representation of this sketch class.
      +
      +
      Parameters:
      +
      srcMem - a Memory representation of a sketch of this class. See Memory
      +
      Returns:
      +
      a sketch instance of this class
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Returns the sketch's value of k, the maximum number of samples stored in the reservoir. + The current number of items in the sketch may be lower.
      +
      +
      Returns:
      +
      k, the maximum number of samples in the reservoir
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Returns the number of items processed from the input stream
      +
      +
      Returns:
      +
      n, the number of stream items the sketch has seen
      +
      +
      +
    • +
    • +
      +

      getNumSamples

      +
      public int getNumSamples()
      +
      Returns the current number of items in the reservoir, which may be smaller than the reservoir + capacity.
      +
      +
      Returns:
      +
      the number of items currently in the reservoir
      +
      +
      +
    • +
    • +
      +

      getSamples

      +
      public long[] getSamples()
      +
      Returns a copy of the items in the reservoir. The returned array length may be smaller than the + reservoir capacity.
      +
      +
      Returns:
      +
      A copy of the reservoir array
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long item)
      +
      Randomly decide whether or not to include an item in the sample set.
      +
      +
      Parameters:
      +
      item - a unit-weight (equivalently, unweighted) item of the set being sampled from
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch to the empty state, but retains the original value of k.
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human-readable summary of the sketch, without items.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      A string version of the sketch summary
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of a ReservoirLongsSketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a ReservoirLongsSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of a ReservoirLongsSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a ReservoirLongsSketch.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Returns a byte array representation of this sketch
      +
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      estimateSubsetSum

      +
      public SampleSubsetSummary estimateSubsetSum(Predicate<Long> predicate)
      +
      Computes an estimated subset sum from the entire stream for objects matching a given + predicate. Provides a lower bound, estimate, and upper bound using a target of 2 standard + deviations. + +

      This is technically a heuristic method, and tries to err on the conservative side.

      +
      +
      Parameters:
      +
      predicate - A predicate to use when identifying items.
      +
      Returns:
      +
      A summary object containing the estimate, upper and lower bounds, and the total + sketch weight.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsUnion.html b/docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsUnion.html new file mode 100644 index 000000000..7043d7be4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/ReservoirLongsUnion.html @@ -0,0 +1,306 @@ + + + + +ReservoirLongsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReservoirLongsUnion

+
+
java.lang.Object +
org.apache.datasketches.sampling.ReservoirLongsUnion
+
+
+
+
public final class ReservoirLongsUnion +extends Object
+
Class to union reservoir samples of longs. + +

+ For efficiency reasons, the unioning process picks one of the two sketches to use as the base. As + a result, we provide only a stateful union. Using the same approach for a merge would result in + unpredictable side effects on the underlying sketches. +

+ +

+ A union object is created with a maximum value of k, represented using the ReservoirSize + class. The unioning process may cause the actual number of samples to fall below that maximum + value, but never to exceed it. The result of a union will be a reservoir where each item from the + global input has a uniform probability of selection, but there are no claims about higher order + statistics. For instance, in general all possible permutations of the global input are not + equally likely. +

+
+
Author:
+
Jon Malkin, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Returns the maximum allowed reservoir capacity in this union.
    +
    + + +
    +
    Returns a sketch representing the current state of the union.
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Instantiates a Union from Memory
    +
    + +
    newInstance(int maxK)
    +
    +
    Creates an empty Union with a maximum reservoir capacity of size k.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this union
    +
    + + +
    +
    Returns a human-readable summary of the sketch, without items.
    +
    +
    void
    +
    update(long datum)
    +
    +
    Present this union with a long.
    +
    +
    void
    +
    update(org.apache.datasketches.memory.Memory mem)
    +
    +
    Union the given Memory image of the sketch.
    +
    +
    void
    + +
    +
    Union the given sketch.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newInstance

      +
      public static ReservoirLongsUnion newInstance(int maxK)
      +
      Creates an empty Union with a maximum reservoir capacity of size k.
      +
      +
      Parameters:
      +
      maxK - The maximum allowed reservoir capacity for any sketches in the union
      +
      Returns:
      +
      A new ReservoirLongsUnion
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static ReservoirLongsUnion heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Instantiates a Union from Memory
      +
      +
      Parameters:
      +
      srcMem - Memory object containing a serialized union
      +
      Returns:
      +
      A ReservoirLongsUnion created from the provided Memory
      +
      +
      +
    • +
    • +
      +

      getMaxK

      +
      public int getMaxK()
      +
      Returns the maximum allowed reservoir capacity in this union. The current reservoir capacity + may be lower.
      +
      +
      Returns:
      +
      The maximum allowed reservoir capacity in this union.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ReservoirLongsSketch sketchIn)
      +
      Union the given sketch. + +

      This method can be repeatedly called. If the given sketch is null it is interpreted as an empty + sketch.

      +
      +
      Parameters:
      +
      sketchIn - The incoming sketch.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(org.apache.datasketches.memory.Memory mem)
      +
      Union the given Memory image of the sketch. + +

      + This method can be repeatedly called. If the given sketch is null it is interpreted as an empty + sketch. +

      +
      +
      Parameters:
      +
      mem - Memory image of sketch to be merged
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long datum)
      +
      Present this union with a long.
      +
      +
      Parameters:
      +
      datum - The given long datum.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ReservoirLongsSketch getResult()
      +
      Returns a sketch representing the current state of the union.
      +
      +
      Returns:
      +
      The result of any unions already processed.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human-readable summary of the sketch, without items.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      A string version of the sketch summary
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Returns a byte array representation of this union
      +
      +
      Returns:
      +
      a byte array representation of this union
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/SampleSubsetSummary.html b/docs/621/merge/org/apache/datasketches/sampling/SampleSubsetSummary.html new file mode 100644 index 000000000..2c3ebbef2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/SampleSubsetSummary.html @@ -0,0 +1,184 @@ + + + + +SampleSubsetSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SampleSubsetSummary

+
+
java.lang.Object +
org.apache.datasketches.sampling.SampleSubsetSummary
+
+
+
+
public class SampleSubsetSummary +extends Object
+
A simple object o capture the results of a subset sum query on a sampling sketch.
+
+
Author:
+
Jon Malkin
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getLowerBound

      +
      public double getLowerBound()
      +
      +
      Returns:
      +
      the Lower Bound
      +
      +
      +
    • +
    • +
      +

      getTotalSketchWeight

      +
      public double getTotalSketchWeight()
      +
      +
      Returns:
      +
      the total sketch weight
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound()
      +
      +
      Returns:
      +
      the Upper Bound
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      +
      Returns:
      +
      the unique count estimate
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html new file mode 100644 index 000000000..3df89e684 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.VarOptItemsIterator.html @@ -0,0 +1,166 @@ + + + + +VarOptItemsSamples.VarOptItemsIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class VarOptItemsSamples.VarOptItemsIterator

+
+
java.lang.Object +
org.apache.datasketches.sampling.VarOptItemsSamples.VarOptItemsIterator
+
+
+
+
All Implemented Interfaces:
+
Iterator<VarOptItemsSamples<T>.WeightedSample>
+
+
+
Enclosing class:
+
VarOptItemsSamples<T>
+
+
+
public class VarOptItemsSamples.VarOptItemsIterator +extends Object +implements Iterator<VarOptItemsSamples<T>.WeightedSample>
+
The standard iterator
+
+
+ +
+
+ +
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html new file mode 100644 index 000000000..fd5afa6f0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.WeightedSample.html @@ -0,0 +1,164 @@ + + + + +VarOptItemsSamples.WeightedSample (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class VarOptItemsSamples.WeightedSample

+
+
java.lang.Object +
org.apache.datasketches.sampling.VarOptItemsSamples.WeightedSample
+
+
+
+
Enclosing class:
+
VarOptItemsSamples<T>
+
+
+
public final class VarOptItemsSamples.WeightedSample +extends Object
+
A convenience class to allow easy iterator access to a VarOpt sample.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getItem

      +
      public T getItem()
      +
      Accesses the iterator's current object
      +
      +
      Returns:
      +
      An item from the sketch's data sample
      +
      +
      +
    • +
    • +
      +

      getWeight

      +
      public double getWeight()
      +
      Accesses the iterator's current weight value
      +
      +
      Returns:
      +
      A weight from the sketch's data sample
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.html b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.html new file mode 100644 index 000000000..c442d102a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSamples.html @@ -0,0 +1,307 @@ + + + + +VarOptItemsSamples (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class VarOptItemsSamples<T>

+
+
java.lang.Object +
org.apache.datasketches.sampling.VarOptItemsSamples<T>
+
+
+
+
Type Parameters:
+
T - an item of type T
+
+
+
All Implemented Interfaces:
+
Iterable<VarOptItemsSamples<T>.WeightedSample>
+
+
+
public class VarOptItemsSamples<T> +extends Object +implements Iterable<VarOptItemsSamples<T>.WeightedSample>
+
This class provides access to the samples contained in a VarOptItemsSketch. It provides two + mechanisms for access: +
    +
  • An Iterator over WeightedSample objects which can can be used to + access both the items and weights in the sample, and which avoids copying data from the + sketch.
  • +
  • Getter methods to obtain items or weights as arrays, or individual items. These + methods create a (shallow) copy of data from the sketch on the first call to any get + method.
  • +
+ +

If using getters with a sketch storing heterogeneous items from a polymorphic base class, you + must call setClass() prior to calling one of the getter methods. This is not + necessary if using the iterator.

+ +

The class also implements Iterable to allow the use of forEach loops for + convenience.

+
+
Author:
+
Jon Malkin
+
+
+
+
    + +
  • +
    +

    Nested Class Summary

    +
    Nested Classes
    +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    class 
    + +
    +
    The standard iterator
    +
    +
    final class 
    + +
    +
    A convenience class to allow easy iterator access to a VarOpt sample.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Returns the length Copies items and weights from the sketch, if necessary, and returns the + length of + any + resulting array.
    +
    +
    T[]
    + +
    +
    Returns a shallow copy of the array of sample items contained in the sketch.
    +
    + +
    items(int i)
    +
    +
    Returns a single item from the samples contained in the sketch.
    +
    + + +
     
    +
    void
    +
    setClass(Class<?> clazz)
    +
    +
    Specifies the class to use when copying the item array from the sketch.
    +
    +
    double[]
    + +
    +
    Returns a copy of the array of weights contained in the sketch.
    +
    +
    double
    +
    weights(int i)
    +
    +
    Returns a single weight from the samples contained in the sketch.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface java.lang.Iterable

    +forEach, spliterator
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      iterator

      + +
      +
      Specified by:
      +
      iterator in interface Iterable<T>
      +
      +
      +
    • +
    • +
      +

      setClass

      +
      public void setClass(Class<?> clazz)
      +
      Specifies the class to use when copying the item array from the sketch. This method is + required if the sketch stores heterogeneous item types of some base class, for instance a + sketch over Numbers.
      +
      +
      Parameters:
      +
      clazz - The class to use when creating the item array result
      +
      +
      +
    • +
    • +
      +

      getNumSamples

      +
      public int getNumSamples()
      +
      Returns the length Copies items and weights from the sketch, if necessary, and returns the + length of + any + resulting array. The result will be 0 for an empty sketch.
      +
      +
      Returns:
      +
      The number of items and weights in the sketch
      +
      +
      +
    • +
    • +
      +

      items

      +
      public T[] items()
      +
      Returns a shallow copy of the array of sample items contained in the sketch. If this is the + first getter call, copies data arrays from the sketch.
      +
      +
      Returns:
      +
      The number of samples contained in the sketch.
      +
      +
      +
    • +
    • +
      +

      items

      +
      public T items(int i)
      +
      Returns a single item from the samples contained in the sketch. Does not perform bounds + checking on the input. If this is the first getter call, copies data arrays from the sketch.
      +
      +
      Parameters:
      +
      i - An index into the list of samples
      +
      Returns:
      +
      The sample at array position i
      +
      +
      +
    • +
    • +
      +

      weights

      +
      public double[] weights()
      +
      Returns a copy of the array of weights contained in the sketch. If this is the first + getter call, copies data arrays from the sketch.
      +
      +
      Returns:
      +
      The number of samples contained in the sketch.
      +
      +
      +
    • +
    • +
      +

      weights

      +
      public double weights(int i)
      +
      Returns a single weight from the samples contained in the sketch. Does not perform bounds + checking on the input. If this is the first getter call, copies data arrays from the sketch.
      +
      +
      Parameters:
      +
      i - An index into the list of weights
      +
      Returns:
      +
      The weight at array position i
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSketch.html new file mode 100644 index 000000000..f67fb20ac --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsSketch.html @@ -0,0 +1,431 @@ + + + + +VarOptItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class VarOptItemsSketch<T>

+
+
java.lang.Object +
org.apache.datasketches.sampling.VarOptItemsSketch<T>
+
+
+
+
Type Parameters:
+
T - The type of object held in the sketch.
+
+
+
public final class VarOptItemsSketch<T> +extends Object
+
This sketch provides a variance optimal sample over an input stream of weighted items. The + sketch can be used to compute subset sums over predicates, producing estimates with optimal + variance for a given sketch size. + +

Using this sketch with uniformly constant item weights (e.g. 1.0) will produce a standard + reservoir sample over the steam.

+
+
Author:
+
Jon Malkin, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Computes an estimated subset sum from the entire stream for objects matching a given + predicate.
    +
    +
    int
    + +
    +
    Returns the sketch's value of k, the maximum number of samples stored in the + sketch.
    +
    +
    long
    + +
    +
    Returns the number of items processed from the input stream
    +
    +
    int
    + +
    +
    Returns the current number of items in the sketch, which may be smaller than the + sketch capacity.
    +
    + + +
    +
    Gets a result iterator object.
    +
    +
    static <T> VarOptItemsSketch<T>
    +
    heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
    +
    +
    Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
    +
    +
    static <T> VarOptItemsSketch<T>
    +
    newInstance(int k)
    +
    +
    Construct a varopt sampling sketch with up to k samples using the default resize factor (8).
    +
    +
    static <T> VarOptItemsSketch<T>
    +
    newInstance(int k, + ResizeFactor rf)
    +
    +
    Construct a varopt sampling sketch with up to k samples using the specified resize factor.
    +
    +
    void
    + +
    +
    Resets this sketch to the empty state, but retains the original value of k.
    +
    +
    byte[]
    + +
    +
    Returns a byte array representation of this sketch.
    +
    +
    byte[]
    +
    toByteArray(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
    +
    +
    Returns a byte array representation of this sketch.
    +
    + + +
    +
    Returns a human-readable summary of the sketch.
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a VarOptItemsSketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a VarOptItemsSketch.
    +
    +
    void
    +
    update(T item, + double weight)
    +
    +
    Randomly decide whether or not to include an item in the sample set.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newInstance

      +
      public static <T> VarOptItemsSketch<T> newInstance(int k)
      +
      Construct a varopt sampling sketch with up to k samples using the default resize factor (8).
      +
      +
      Type Parameters:
      +
      T - The type of object held in the sketch.
      +
      Parameters:
      +
      k - Maximum size of sampling. Allocated size may be smaller until sketch fills. + Unlike many sketches in this package, this value does not need to be a + power of 2.
      +
      Returns:
      +
      A VarOptItemsSketch initialized with maximum size k and resize factor rf.
      +
      +
      +
    • +
    • +
      +

      newInstance

      +
      public static <T> VarOptItemsSketch<T> newInstance(int k, + ResizeFactor rf)
      +
      Construct a varopt sampling sketch with up to k samples using the specified resize factor.
      +
      +
      Type Parameters:
      +
      T - The type of object held in the sketch.
      +
      Parameters:
      +
      k - Maximum size of sampling. Allocated size may be smaller until sketch fills. + Unlike many sketches in this package, this value does not need to be a + power of 2. The maximum size is Integer.MAX_VALUE-1.
      +
      rf - See Resize Factor
      +
      Returns:
      +
      A VarOptItemsSketch initialized with maximum size k and resize factor rf.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static <T> VarOptItemsSketch<T> heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Returns a sketch instance of this class from the given srcMem, + which must be a Memory representation of this sketch class.
      +
      +
      Type Parameters:
      +
      T - The type of item this sketch contains
      +
      Parameters:
      +
      srcMem - a Memory representation of a sketch of this class. + See Memory
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a sketch instance of this class
      +
      +
      +
    • +
    • +
      +

      getK

      +
      public int getK()
      +
      Returns the sketch's value of k, the maximum number of samples stored in the + sketch. The current number of items in the sketch may be lower.
      +
      +
      Returns:
      +
      k, the maximum number of samples in the sketch
      +
      +
      +
    • +
    • +
      +

      getN

      +
      public long getN()
      +
      Returns the number of items processed from the input stream
      +
      +
      Returns:
      +
      n, the number of stream items the sketch has seen
      +
      +
      +
    • +
    • +
      +

      getNumSamples

      +
      public int getNumSamples()
      +
      Returns the current number of items in the sketch, which may be smaller than the + sketch capacity.
      +
      +
      Returns:
      +
      the number of items currently in the sketch
      +
      +
      +
    • +
    • +
      +

      getSketchSamples

      +
      public VarOptItemsSamples<T> getSketchSamples()
      +
      Gets a result iterator object.
      +
      +
      Returns:
      +
      An object with an iterator over the results
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(T item, + double weight)
      +
      Randomly decide whether or not to include an item in the sample set.
      +
      +
      Parameters:
      +
      item - an item of the set being sampled from
      +
      weight - a strictly positive weight associated with the item
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch to the empty state, but retains the original value of k.
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human-readable summary of the sketch.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      A string version of the sketch summary
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of a VarOptItemsSketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a VarOptItemsSketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of a VarOptItemsSketch.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a VarOptItemsSketch.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<? super T> serDe)
      +
      Returns a byte array representation of this sketch. May fail for polymorphic item types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<? super T> serDe, + Class<?> clazz)
      +
      Returns a byte array representation of this sketch. Copies contents into an array of the + specified class for serialization to allow for polymorphic types.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      clazz - The class represented by <T>
      +
      Returns:
      +
      a byte array representation of this sketch
      +
      +
      +
    • +
    • +
      +

      estimateSubsetSum

      +
      public SampleSubsetSummary estimateSubsetSum(Predicate<T> predicate)
      +
      Computes an estimated subset sum from the entire stream for objects matching a given + predicate. Provides a lower bound, estimate, and upper bound using a target of 2 standard + deviations. + +

      This is technically a heuristic method, and tries to err on the conservative side.

      +
      +
      Parameters:
      +
      predicate - A predicate to use when identifying items.
      +
      Returns:
      +
      A summary object containing the estimate, upper and lower bounds, and the total + sketch weight.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsUnion.html b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsUnion.html new file mode 100644 index 000000000..5173d0715 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/VarOptItemsUnion.html @@ -0,0 +1,322 @@ + + + + +VarOptItemsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class VarOptItemsUnion<T>

+
+
java.lang.Object +
org.apache.datasketches.sampling.VarOptItemsUnion<T>
+
+
+
+
Type Parameters:
+
T - Type of items
+
+
+
public final class VarOptItemsUnion<T> +extends Object
+
Provides a unioning operation over varopt sketches. This union allows the sample size k to float, + possibly increasing or decreasing as warranted by the available data.
+
+
Author:
+
Jon Malkin, Kevin Lang
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newInstance

      +
      public static <T> VarOptItemsUnion<T> newInstance(int maxK)
      +
      Creates an empty Union with a maximum capacity of size k.
      +
      +
      Type Parameters:
      +
      T - The type of item this union contains
      +
      Parameters:
      +
      maxK - The maximum allowed capacity of the unioned result
      +
      Returns:
      +
      A new VarOptItemsUnion
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static <T> VarOptItemsUnion<T> heapify(org.apache.datasketches.memory.Memory srcMem, + ArrayOfItemsSerDe<T> serDe)
      +
      Instantiates a Union from Memory
      +
      +
      Type Parameters:
      +
      T - The type of item this sketch contains
      +
      Parameters:
      +
      srcMem - Memory object containing a serialized union
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      A VarOptItemsUnion created from the provided Memory
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(VarOptItemsSketch<T> sketchIn)
      +
      Union the given sketch. + +

      This method can be repeatedly called.

      +
      +
      Parameters:
      +
      sketchIn - The sketch to be merged
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(org.apache.datasketches.memory.Memory mem, + ArrayOfItemsSerDe<T> serDe)
      +
      Union the given Memory image of the sketch. + +

      This method can be repeatedly called.

      +
      +
      Parameters:
      +
      mem - Memory image of sketch to be merged
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ReservoirItemsSketch<T> reservoirIn)
      +
      Union a reservoir sketch. The reservoir sample is treated as if all items were added with a + weight of 1.0.
      +
      +
      Parameters:
      +
      reservoirIn - The reservoir sketch to be merged
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public VarOptItemsSketch<T> getResult()
      +
      Gets the varopt sketch resulting from the union of any input sketches.
      +
      +
      Returns:
      +
      A varopt sketch
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch to the empty state, but retains the original value of max k.
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human-readable summary of the sketch, without items.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      A string version of the sketch summary
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<T> serDe)
      +
      Returns a byte array representation of this union
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      Returns:
      +
      a byte array representation of this union
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray(ArrayOfItemsSerDe<T> serDe, + Class<?> clazz)
      +
      Returns a byte array representation of this union. This method should be used when the array + elements are subclasses of a common base class.
      +
      +
      Parameters:
      +
      serDe - An instance of ArrayOfItemsSerDe
      +
      clazz - A class to which the items are cast before serialization
      +
      Returns:
      +
      a byte array representation of this union
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/EbppsItemsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/EbppsItemsSketch.html new file mode 100644 index 000000000..6f3089c25 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/EbppsItemsSketch.html @@ -0,0 +1,105 @@ + + + + +Uses of Class org.apache.datasketches.sampling.EbppsItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.EbppsItemsSketch

+
+
Packages that use EbppsItemsSketch
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsSketch.html new file mode 100644 index 000000000..34d7cb157 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsSketch.html @@ -0,0 +1,127 @@ + + + + +Uses of Class org.apache.datasketches.sampling.ReservoirItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.ReservoirItemsSketch

+
+
Packages that use ReservoirItemsSketch
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsUnion.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsUnion.html new file mode 100644 index 000000000..578e51e96 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirItemsUnion.html @@ -0,0 +1,98 @@ + + + + +Uses of Class org.apache.datasketches.sampling.ReservoirItemsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.ReservoirItemsUnion

+
+
Packages that use ReservoirItemsUnion
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsSketch.html new file mode 100644 index 000000000..4de2b4eb7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsSketch.html @@ -0,0 +1,122 @@ + + + + +Uses of Class org.apache.datasketches.sampling.ReservoirLongsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.ReservoirLongsSketch

+
+
Packages that use ReservoirLongsSketch
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsUnion.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsUnion.html new file mode 100644 index 000000000..c01edae90 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/ReservoirLongsUnion.html @@ -0,0 +1,97 @@ + + + + +Uses of Class org.apache.datasketches.sampling.ReservoirLongsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.ReservoirLongsUnion

+
+
Packages that use ReservoirLongsUnion
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/SampleSubsetSummary.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/SampleSubsetSummary.html new file mode 100644 index 000000000..05e4f88f1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/SampleSubsetSummary.html @@ -0,0 +1,105 @@ + + + + +Uses of Class org.apache.datasketches.sampling.SampleSubsetSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.SampleSubsetSummary

+
+
Packages that use SampleSubsetSummary
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.VarOptItemsIterator.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.VarOptItemsIterator.html new file mode 100644 index 000000000..73a98995d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.VarOptItemsIterator.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.sampling.VarOptItemsSamples.VarOptItemsIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.VarOptItemsSamples.VarOptItemsIterator

+
+No usage of org.apache.datasketches.sampling.VarOptItemsSamples.VarOptItemsIterator
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.WeightedSample.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.WeightedSample.html new file mode 100644 index 000000000..a238368e3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.WeightedSample.html @@ -0,0 +1,99 @@ + + + + +Uses of Class org.apache.datasketches.sampling.VarOptItemsSamples.WeightedSample (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.VarOptItemsSamples.WeightedSample

+
+ +
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.html new file mode 100644 index 000000000..bfb684baa --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSamples.html @@ -0,0 +1,92 @@ + + + + +Uses of Class org.apache.datasketches.sampling.VarOptItemsSamples (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.VarOptItemsSamples

+
+
Packages that use VarOptItemsSamples
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSketch.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSketch.html new file mode 100644 index 000000000..5ebb492b0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsSketch.html @@ -0,0 +1,121 @@ + + + + +Uses of Class org.apache.datasketches.sampling.VarOptItemsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.VarOptItemsSketch

+
+
Packages that use VarOptItemsSketch
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsUnion.html b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsUnion.html new file mode 100644 index 000000000..747c7f9df --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/class-use/VarOptItemsUnion.html @@ -0,0 +1,98 @@ + + + + +Uses of Class org.apache.datasketches.sampling.VarOptItemsUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.sampling.VarOptItemsUnion

+
+
Packages that use VarOptItemsUnion
+
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/package-summary.html b/docs/621/merge/org/apache/datasketches/sampling/package-summary.html new file mode 100644 index 000000000..3832ded10 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/package-summary.html @@ -0,0 +1,151 @@ + + + + +org.apache.datasketches.sampling (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.sampling

+
+
+
package org.apache.datasketches.sampling
+
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream. + +

These sketches are mergeable and can be serialized and deserialized to/from a compact + form.

+
+
See Also:
+
+ +
+
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    An implementation of an Exact and Bounded Sampling Proportional to Size sketch.
    +
    + +
    +
    This sketch provides a reservoir sample over an input stream of items.
    +
    + +
    +
    Class to union reservoir samples of generic items.
    +
    + +
    +
    This sketch provides a reservoir sample over an input stream of longs.
    +
    + +
    +
    Class to union reservoir samples of longs.
    +
    + +
    +
    A simple object o capture the results of a subset sum query on a sampling sketch.
    +
    + +
    +
    This class provides access to the samples contained in a VarOptItemsSketch.
    +
    + +
    +
    This sketch provides a variance optimal sample over an input stream of weighted items.
    +
    + +
    +
    Provides a unioning operation over varopt sketches.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/package-tree.html b/docs/621/merge/org/apache/datasketches/sampling/package-tree.html new file mode 100644 index 000000000..d3a554863 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/package-tree.html @@ -0,0 +1,86 @@ + + + + +org.apache.datasketches.sampling Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.sampling

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/sampling/package-use.html b/docs/621/merge/org/apache/datasketches/sampling/package-use.html new file mode 100644 index 000000000..cfb1759bb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/sampling/package-use.html @@ -0,0 +1,125 @@ + + + + +Uses of Package org.apache.datasketches.sampling (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.sampling

+
+ +
+
Package
+
Description
+ +
+
This package is dedicated to streaming algorithms that enable fixed size, uniform sampling of + weighted and unweighted items from a stream.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/BinarySearch.html b/docs/621/merge/org/apache/datasketches/tdigest/BinarySearch.html new file mode 100644 index 000000000..4918cfbdb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/BinarySearch.html @@ -0,0 +1,133 @@ + + + + +BinarySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BinarySearch

+
+
java.lang.Object +
org.apache.datasketches.tdigest.BinarySearch
+
+
+
+
public final class BinarySearch +extends Object
+
Algorithms with logarithmic complexity for searching in an array.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BinarySearch

      +
      public BinarySearch()
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/Sort.html b/docs/621/merge/org/apache/datasketches/tdigest/Sort.html new file mode 100644 index 000000000..e04829bf8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/Sort.html @@ -0,0 +1,216 @@ + + + + +Sort (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Sort

+
+
java.lang.Object +
org.apache.datasketches.tdigest.Sort
+
+
+
+
public final class Sort +extends Object
+
Specialized sorting algorithm that can sort one array and permute another array the same way.
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    +
    reverse(double[] values, + int n)
    +
    +
    Reverse the first n elements of the given array.
    +
    +
    static void
    +
    reverse(long[] values, + int n)
    +
    +
    Reverse the first n elements of the given array.
    +
    +
    static void
    +
    stableSort(double[] keys, + long[] values, + int n)
    +
    +
    Stable sort two arrays.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Sort

      +
      public Sort()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      stableSort

      +
      public static void stableSort(double[] keys, + long[] values, + int n)
      +
      Stable sort two arrays. + The first array is sorted while the second array is permuted the same way.
      +
      +
      Parameters:
      +
      keys - array to be sorted
      +
      values - array to be permuted the same way
      +
      n - number of elements to sort from the beginning of the arrays
      +
      +
      +
    • +
    • +
      +

      reverse

      +
      public static void reverse(double[] values, + int n)
      +
      Reverse the first n elements of the given array.
      +
      +
      Parameters:
      +
      values - array to be reversed
      +
      n - number of elements to reverse
      +
      +
      +
    • +
    • +
      +

      reverse

      +
      public static void reverse(long[] values, + int n)
      +
      Reverse the first n elements of the given array.
      +
      +
      Parameters:
      +
      values - array to be reversed
      +
      n - number of elements to reverse
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/TDigestDouble.html b/docs/621/merge/org/apache/datasketches/tdigest/TDigestDouble.html new file mode 100644 index 000000000..ab5500bf1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/TDigestDouble.html @@ -0,0 +1,496 @@ + + + + +TDigestDouble (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TDigestDouble

+
+
java.lang.Object +
org.apache.datasketches.tdigest.TDigestDouble
+
+
+
+
public final class TDigestDouble +extends Object
+
t-Digest for estimating quantiles and ranks. + This implementation is based on the following paper: + Ted Dunning, Otmar Ertl. Extremely Accurate Quantiles Using t-Digests + and the following implementation: + https://github.com/tdunning/t-digest + This implementation is similar to MergingDigest in the above implementation
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final short
    + +
    +
    the default value of K if one is not specified
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructor with the default K
    +
    +
    TDigestDouble(short k)
    +
    +
    Constructor
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double[]
    +
    getCDF(double[] splitPoints)
    +
    +
    Returns an approximation to the Cumulative Distribution Function (CDF), which is the + cumulative analog of the PMF, of the input stream given a set of split points.
    +
    +
    short
    + +
     
    +
    double
    + +
     
    +
    double
    + +
     
    +
    double[]
    +
    getPMF(double[] splitPoints)
    +
    +
    Returns an approximation to the Probability Mass Function (PMF) of the input stream + given a set of split points.
    +
    +
    double
    +
    getQuantile(double rank)
    +
    +
    Compute approximate quantile value corresponding to the given normalized rank
    +
    +
    double
    +
    getRank(double value)
    +
    +
    Compute approximate normalized rank of the given value.
    +
    +
    long
    + +
     
    + +
    heapify(org.apache.datasketches.memory.Memory mem)
    +
    +
    Deserialize TDigest from a given memory.
    +
    + +
    heapify(org.apache.datasketches.memory.Memory mem, + boolean isFloat)
    +
    +
    Deserialize TDigest from a given memory.
    +
    +
    boolean
    + +
     
    +
    void
    + +
    +
    Merge the given TDigest into this one
    +
    +
    byte[]
    + +
    +
    Serialize this TDigest to a byte array form.
    +
    + + +
    +
    Human-readable summary of this TDigest as a string
    +
    + +
    toString(boolean printCentroids)
    +
    +
    Human-readable summary of this TDigest as a string
    +
    +
    void
    +
    update(double value)
    +
    +
    Update this TDigest with the given value
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_K

      +
      public static final short DEFAULT_K
      +
      the default value of K if one is not specified
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TDigestDouble

      +
      public TDigestDouble()
      +
      Constructor with the default K
      +
      +
    • +
    • +
      +

      TDigestDouble

      +
      public TDigestDouble(short k)
      +
      Constructor
      +
      +
      Parameters:
      +
      k - affects the size of TDigest and its estimation error
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getK

      +
      public short getK()
      +
      +
      Returns:
      +
      parameter k (compression) that was used to configure this TDigest
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double value)
      +
      Update this TDigest with the given value
      +
      +
      Parameters:
      +
      value - to update the TDigest with
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public void merge(TDigestDouble other)
      +
      Merge the given TDigest into this one
      +
      +
      Parameters:
      +
      other - TDigest to merge
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      +
      +
      Returns:
      +
      true if TDigest has not seen any data
      +
      +
      +
    • +
    • +
      +

      getMinValue

      +
      public double getMinValue()
      +
      +
      Returns:
      +
      minimum value seen by TDigest
      +
      +
      +
    • +
    • +
      +

      getMaxValue

      +
      public double getMaxValue()
      +
      +
      Returns:
      +
      maximum value seen by TDigest
      +
      +
      +
    • +
    • +
      +

      getTotalWeight

      +
      public long getTotalWeight()
      +
      +
      Returns:
      +
      total weight
      +
      +
      +
    • +
    • +
      +

      getRank

      +
      public double getRank(double value)
      +
      Compute approximate normalized rank of the given value.
      +
      +
      Parameters:
      +
      value - to be ranked
      +
      Returns:
      +
      normalized rank (from 0 to 1 inclusive)
      +
      +
      +
    • +
    • +
      +

      getQuantile

      +
      public double getQuantile(double rank)
      +
      Compute approximate quantile value corresponding to the given normalized rank
      +
      +
      Parameters:
      +
      rank - normalized rank (from 0 to 1 inclusive)
      +
      Returns:
      +
      quantile value corresponding to the given rank
      +
      +
      +
    • +
    • +
      +

      getPMF

      +
      public double[] getPMF(double[] splitPoints)
      +
      Returns an approximation to the Probability Mass Function (PMF) of the input stream + given a set of split points.
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing values + that divide the input domain into m+1 consecutive disjoint intervals (bins).
      +
      Returns:
      +
      an array of m+1 doubles each of which is an approximation + to the fraction of the input stream values (the mass) that fall into one of those intervals.
      +
      Throws:
      +
      SketchesStateException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      getCDF

      +
      public double[] getCDF(double[] splitPoints)
      +
      Returns an approximation to the Cumulative Distribution Function (CDF), which is the + cumulative analog of the PMF, of the input stream given a set of split points.
      +
      +
      Parameters:
      +
      splitPoints - an array of m unique, monotonically increasing values + that divide the input domain into m+1 consecutive disjoint intervals.
      +
      Returns:
      +
      an array of m+1 doubles, which are a consecutive approximation to the CDF + of the input stream given the splitPoints. The value at array position j of the returned + CDF array is the sum of the returned values in positions 0 through j of the returned PMF + array. This can be viewed as array of ranks of the given split points plus one more value + that is always 1.
      +
      Throws:
      +
      SketchesStateException - if sketch is empty.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Serialize this TDigest to a byte array form.
      +
      +
      Returns:
      +
      byte array
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static TDigestDouble heapify(org.apache.datasketches.memory.Memory mem)
      +
      Deserialize TDigest from a given memory. + Supports reading format of the reference implementation (autodetected).
      +
      +
      Parameters:
      +
      mem - instance of Memory
      +
      Returns:
      +
      an instance of TDigest
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static TDigestDouble heapify(org.apache.datasketches.memory.Memory mem, + boolean isFloat)
      +
      Deserialize TDigest from a given memory. Supports reading compact format + with (float, int) centroids as opposed to (double, long) to represent (mean, weight). + Supports reading format of the reference implementation (autodetected).
      +
      +
      Parameters:
      +
      mem - instance of Memory
      +
      isFloat - if true the input represents (float, int) format
      +
      Returns:
      +
      an instance of TDigest
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Human-readable summary of this TDigest as a string
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      summary of this TDigest
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean printCentroids)
      +
      Human-readable summary of this TDigest as a string
      +
      +
      Parameters:
      +
      printCentroids - if true append the list of centroids with weights
      +
      Returns:
      +
      summary of this TDigest
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/class-use/BinarySearch.html b/docs/621/merge/org/apache/datasketches/tdigest/class-use/BinarySearch.html new file mode 100644 index 000000000..2aeff2582 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/class-use/BinarySearch.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tdigest.BinarySearch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tdigest.BinarySearch

+
+No usage of org.apache.datasketches.tdigest.BinarySearch
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/class-use/Sort.html b/docs/621/merge/org/apache/datasketches/tdigest/class-use/Sort.html new file mode 100644 index 000000000..98e29dbad --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/class-use/Sort.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tdigest.Sort (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tdigest.Sort

+
+No usage of org.apache.datasketches.tdigest.Sort
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/class-use/TDigestDouble.html b/docs/621/merge/org/apache/datasketches/tdigest/class-use/TDigestDouble.html new file mode 100644 index 000000000..c4d524fd1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/class-use/TDigestDouble.html @@ -0,0 +1,108 @@ + + + + +Uses of Class org.apache.datasketches.tdigest.TDigestDouble (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tdigest.TDigestDouble

+
+
Packages that use TDigestDouble
+
+
Package
+
Description
+ +
+
t-Digest for estimating quantiles and ranks.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/package-summary.html b/docs/621/merge/org/apache/datasketches/tdigest/package-summary.html new file mode 100644 index 000000000..b5f6ad536 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/package-summary.html @@ -0,0 +1,113 @@ + + + + +org.apache.datasketches.tdigest (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.tdigest

+
+
+
package org.apache.datasketches.tdigest
+
+
t-Digest for estimating quantiles and ranks.
+
+
+
    +
  • + +
  • +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Algorithms with logarithmic complexity for searching in an array.
    +
    + +
    +
    Specialized sorting algorithm that can sort one array and permute another array the same way.
    +
    + +
    +
    t-Digest for estimating quantiles and ranks.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/package-tree.html b/docs/621/merge/org/apache/datasketches/tdigest/package-tree.html new file mode 100644 index 000000000..eefdd22ef --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/package-tree.html @@ -0,0 +1,78 @@ + + + + +org.apache.datasketches.tdigest Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.tdigest

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tdigest/package-use.html b/docs/621/merge/org/apache/datasketches/tdigest/package-use.html new file mode 100644 index 000000000..e3723ef88 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tdigest/package-use.html @@ -0,0 +1,88 @@ + + + + +Uses of Package org.apache.datasketches.tdigest (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.tdigest

+
+ +
+
Package
+
Description
+ +
+
t-Digest for estimating quantiles and ranks.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/AnotB.html b/docs/621/merge/org/apache/datasketches/theta/AnotB.html new file mode 100644 index 000000000..ab381367b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/AnotB.html @@ -0,0 +1,421 @@ + + + + +AnotB (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnotB

+
+
java.lang.Object +
org.apache.datasketches.theta.SetOperation +
org.apache.datasketches.theta.AnotB
+
+
+
+
+
All Implemented Interfaces:
+
MemoryStatus
+
+
+
public abstract class AnotB +extends SetOperation
+
Computes a set difference, A-AND-NOT-B, of two theta sketches. + This class includes both stateful and stateless operations. + +

The stateful operation is as follows:

+

+ AnotB anotb = SetOperationBuilder.buildAnotB();
+
+ anotb.setA(Sketch skA); //The first argument.
+ anotb.notB(Sketch skB); //The second (subtraction) argument.
+ anotb.notB(Sketch skC); // ...any number of additional subtractions...
+ anotb.getResult(false); //Get an interim result.
+ anotb.notB(Sketch skD); //Additional subtractions.
+ anotb.getResult(true);  //Final result and resets the AnotB operator.
+ 
+ +

The stateless operation is as follows:

+

+ AnotB anotb = SetOperationBuilder.buildAnotB();
+
+ CompactSketch csk = anotb.aNotB(Sketch skA, Sketch skB);
+ 
+ +

Calling the setA operation a second time essentially clears the internal state and loads + the new sketch.

+ +

The stateless and stateful operations are independent of each other with the exception of + sharing the same update hash seed loaded as the default seed or specified by the user as an + argument to the builder.

+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnotB

      +
      public AnotB()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getFamily

      +
      public Family getFamily()
      +
      Description copied from class: SetOperation
      +
      Gets the Family of this SetOperation
      +
      +
      Specified by:
      +
      getFamily in class SetOperation
      +
      Returns:
      +
      the Family of this SetOperation
      +
      +
      +
    • +
    • +
      +

      setA

      +
      public abstract void setA(Sketch skA)
      +
      This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + first argument A of A-AND-NOT-B. This overwrites the internal state of this + AnotB operator with the contents of the given sketch. + This sets the stage for multiple following notB steps. + +

      An input argument of null will throw an exception.

      + +

      Rationale: In mathematics a "null set" is a set with no members, which we call an empty set. + That is distinctly different from the java null, which represents a nonexistent object. + In most cases it is a programming error due to some object that was not properly initialized. + With a null as the first argument, we cannot know what the user's intent is. + Since it is very likely that a null is a programming error, we throw a an exception.

      + +

      An empty input argument will set the internal state to empty.

      + +

      Rationale: An empty set is a mathematically legal concept. Although it makes any subsequent, + valid argument for B irrelevant, we must allow this and assume the user knows what they are + doing.

      + +

      Performing getResult(boolean) just after this step will return a compact form of + the given argument.

      +
      +
      Parameters:
      +
      skA - The incoming sketch for the first argument, A.
      +
      +
      +
    • +
    • +
      +

      notB

      +
      public abstract void notB(Sketch skB)
      +
      This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + second (or n+1th) argument B of A-AND-NOT-B. + Performs an AND NOT operation with the existing internal state of this AnotB operator. + +

      An input argument of null or empty is ignored.

      + +

      Rationale: A null for the second or following arguments is more tolerable because + A NOT null is still A even if we don't know exactly what the null represents. It + clearly does not have any content that overlaps with A. Also, because this can be part of + a multistep operation with multiple notB steps. Other following steps can still produce + a valid result.

      + +

      Use getResult(boolean) to obtain the result.

      +
      +
      Parameters:
      +
      skB - The incoming Theta sketch for the second (or following) argument B.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract CompactSketch getResult(boolean reset)
      +
      Gets the result of the multistep, stateful operation AnotB that have been executed with calls + to setA(Sketch) and (notB(Sketch) or + notB(org.apache.datasketches.theta.Sketch)).
      +
      +
      Parameters:
      +
      reset - If true, clears this operator to the empty state after this result is + returned. Set this to false if you wish to obtain an intermediate result.
      +
      Returns:
      +
      the result of this operation as an ordered, on-heap CompactSketch.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract CompactSketch getResult(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem, + boolean reset)
      +
      Gets the result of the multistep, stateful operation AnotB that have been executed with calls + to setA(Sketch) and (notB(Sketch) or + notB(org.apache.datasketches.theta.Sketch)).
      +
      +
      Parameters:
      +
      dstOrdered - If true, the result will be an ordered CompactSketch. + See Destination Ordered.
      +
      dstMem - if not null the given Memory will be the target location of the result. + See Destination Memory.
      +
      reset - If true, clears this operator to the empty state after this result is + returned. Set this to false if you wish to obtain an intermediate result.
      +
      Returns:
      +
      the result of this operation as a CompactSketch in the given dstMem.
      +
      +
      +
    • +
    • +
      +

      aNotB

      +
      public CompactSketch aNotB(Sketch skA, + Sketch skB)
      +
      Perform A-and-not-B set operation on the two given sketches and return the result as an + ordered CompactSketch on the heap. + +

      This a stateless operation and has no impact on the internal state of this operator. + Thus, this is not an accumulating update and does not interact with the setA(Sketch), + notB(Sketch), getResult(boolean), or + getResult(boolean, WritableMemory, boolean) methods.

      + +

      If either argument is null an exception is thrown.

      + +

      Rationale: In mathematics a "null set" is a set with no members, which we call an empty set. + That is distinctly different from the java null, which represents a nonexistent object. + In most cases null is a programming error due to a non-initialized object.

      + +

      With a null as the first argument we cannot know what the user's intent is and throw an + exception. With a null as the second argument for this method we must return a result and + there is no following possible viable arguments for the second argument so we thrown an + exception.

      +
      +
      Parameters:
      +
      skA - The incoming sketch for the first argument. It must not be null.
      +
      skB - The incoming sketch for the second argument. It must not be null.
      +
      Returns:
      +
      an ordered CompactSketch on the heap
      +
      +
      +
    • +
    • +
      +

      aNotB

      +
      public abstract CompactSketch aNotB(Sketch skA, + Sketch skB, + boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Perform A-and-not-B set operation on the two given sketches and return the result as a + CompactSketch. + +

      This a stateless operation and has no impact on the internal state of this operator. + Thus, this is not an accumulating update and does not interact with the setA(Sketch), + notB(Sketch), getResult(boolean), or + getResult(boolean, WritableMemory, boolean) methods.

      + +

      If either argument is null an exception is thrown.

      + +

      Rationale: In mathematics a "null set" is a set with no members, which we call an empty set. + That is distinctly different from the java null, which represents a nonexistent object. + In most cases null is a programming error due to a non-initialized object.

      + +

      With a null as the first argument we cannot know what the user's intent is and throw an + exception. With a null as the second argument for this method we must return a result and + there is no following possible viable arguments for the second argument so we thrown an + exception.

      +
      +
      Parameters:
      +
      skA - The incoming sketch for the first argument. It must not be null.
      +
      skB - The incoming sketch for the second argument. It must not be null.
      +
      dstOrdered - See Destination Ordered.
      +
      dstMem - See Destination Memory.
      +
      Returns:
      +
      the result as a CompactSketch.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/BitPacking.html b/docs/621/merge/org/apache/datasketches/theta/BitPacking.html new file mode 100644 index 000000000..3a54b36b3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/BitPacking.html @@ -0,0 +1,214 @@ + + + + +BitPacking (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BitPacking

+
+
java.lang.Object +
org.apache.datasketches.theta.BitPacking
+
+
+
+
public class BitPacking +extends Object
+
Used as part of Theta compression.
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    +
    packBits(long value, + int bits, + byte[] buffer, + int bufOffset, + int bitOffset)
    +
    +
    The bit packing operation
    +
    +
    static void
    +
    unpackBits(long[] value, + int index, + int bits, + byte[] buffer, + int bufOffset, + int bitOffset)
    +
    +
    The unpacking operation
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BitPacking

      +
      public BitPacking()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      packBits

      +
      public static void packBits(long value, + int bits, + byte[] buffer, + int bufOffset, + int bitOffset)
      +
      The bit packing operation
      +
      +
      Parameters:
      +
      value - the value to pack
      +
      bits - number of bits to pack
      +
      buffer - the output byte array buffer
      +
      bufOffset - the byte offset in the buffer
      +
      bitOffset - the bit offset
      +
      +
      +
    • +
    • +
      +

      unpackBits

      +
      public static void unpackBits(long[] value, + int index, + int bits, + byte[] buffer, + int bufOffset, + int bitOffset)
      +
      The unpacking operation
      +
      +
      Parameters:
      +
      value - the output array
      +
      index - index of the value array
      +
      bits - the number of bits to unpack
      +
      buffer - the input packed buffer
      +
      bufOffset - the buffer offset
      +
      bitOffset - the bit offset
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/CompactSketch.html b/docs/621/merge/org/apache/datasketches/theta/CompactSketch.html new file mode 100644 index 000000000..08db85fb4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/CompactSketch.html @@ -0,0 +1,429 @@ + + + + +CompactSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CompactSketch

+
+
java.lang.Object +
org.apache.datasketches.theta.Sketch +
org.apache.datasketches.theta.CompactSketch
+
+
+
+
+
All Implemented Interfaces:
+
MemoryStatus
+
+
+
public abstract class CompactSketch +extends Sketch
+
The parent class of all the CompactSketches. CompactSketches are never created directly. + They are created as a result of the compact() method of an UpdateSketch, a result of a + getResult() of a SetOperation, or from a heapify method. + +

A CompactSketch is the simplest form of a Theta Sketch. It consists of a compact list + (i.e., no intervening spaces) of hash values, which may be ordered or not, a value for theta + and a seed hash. A CompactSketch is immutable (read-only), + and the space required when stored is only the space required for the hash values and 8 to 24 + bytes of preamble. An empty CompactSketch consumes only 8 bytes.

+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      CompactSketch

      +
      public CompactSketch()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static CompactSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify takes a CompactSketch image in Memory and instantiates an on-heap CompactSketch. + +

      The resulting sketch will not retain any link to the source Memory and all of its data will be + copied to the heap CompactSketch.

      + +

      This method assumes that the sketch image was created with the correct hash seed, so it is not checked. + The resulting on-heap CompactSketch will be given the seedHash derived from the given sketch image. + However, Serial Version 1 sketch images do not have a seedHash field, + so the resulting heapified CompactSketch will be given the hash of the DEFAULT_UPDATE_SEED.

      +
      +
      Parameters:
      +
      srcMem - an image of a CompactSketch. + See Memory.
      +
      Returns:
      +
      a CompactSketch on the heap.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static CompactSketch heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
      +
      Heapify takes a CompactSketch image in Memory and instantiates an on-heap CompactSketch. + +

      The resulting sketch will not retain any link to the source Memory and all of its data will be + copied to the heap CompactSketch.

      + +

      This method checks if the given expectedSeed was used to create the source Memory image. + However, SerialVersion 1 sketch images cannot be checked as they don't have a seedHash field, + so the resulting heapified CompactSketch will be given the hash of the expectedSeed.

      +
      +
      Parameters:
      +
      srcMem - an image of a CompactSketch that was created using the given expectedSeed. + See Memory.
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed.
      +
      Returns:
      +
      a CompactSketch on the heap.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static CompactSketch wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap takes the CompactSketch image in given Memory and refers to it directly. + There is no data copying onto the java heap. + The wrap operation enables fast read-only merging and access to all the public read-only API. + +

      Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have + been explicitly stored as direct sketches can be wrapped. + Wrapping earlier serial version sketches will result in a heapify operation. + These early versions were never designed to "wrap".

      + +

      Wrapping any subclass of this class that is empty or contains only a single item will + result in heapified forms of empty and single item sketch respectively. + This is actually faster and consumes less overall memory.

      + +

      This method assumes that the sketch image was created with the correct hash seed, so it is not checked. + However, Serial Version 1 sketch images do not have a seedHash field, + so the resulting on-heap CompactSketch will be given the hash of the DEFAULT_UPDATE_SEED.

      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch. + See Memory.
      +
      Returns:
      +
      a CompactSketch backed by the given Memory except as above.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static CompactSketch wrap(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
      +
      Wrap takes the sketch image in the given Memory and refers to it directly. + There is no data copying onto the java heap. + The wrap operation enables fast read-only merging and access to all the public read-only API. + +

      Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have + been explicitly stored as direct sketches can be wrapped. + Wrapping earlier serial version sketches will result in a heapify operation. + These early versions were never designed to "wrap".

      + +

      Wrapping any subclass of this class that is empty or contains only a single item will + result in heapified forms of empty and single item sketch respectively. + This is actually faster and consumes less overall memory.

      + +

      This method checks if the given expectedSeed was used to create the source Memory image. + However, SerialVersion 1 sketches cannot be checked as they don't have a seedHash field, + so the resulting heapified CompactSketch will be given the hash of the expectedSeed.

      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch that was created using the given expectedSeed. + See Memory
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed.
      +
      Returns:
      +
      a CompactSketch backed by the given Memory except as above.
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public abstract CompactSketch compact(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Description copied from class: Sketch
      +
      Convert this sketch to a CompactSketch. + +

      If this sketch is a type of UpdateSketch, the compacting process converts the hash table + of the UpdateSketch to a simple list of the valid hash values. + Any hash values of zero or equal-to or greater than theta will be discarded. + The number of valid values remaining in the CompactSketch depends on a number of factors, + but may be larger or smaller than Nominal Entries (or k). + It will never exceed 2k. + If it is critical to always limit the size to no more than k, + then rebuild() should be called on the UpdateSketch prior to calling this method.

      + +

      A CompactSketch is always immutable.

      + +

      A new CompactSketch object is created:

      +
      • if dstMem != null
      • +
      • if dstMem == null and this.hasMemory() == true
      • +
      • if dstMem == null and this has more than 1 item and this.isOrdered() == false + and dstOrdered == true.
      • +
      + +

      Otherwise, this operation returns this.

      +
      +
      Specified by:
      +
      compact in class Sketch
      +
      Parameters:
      +
      dstOrdered - assumed true if this sketch is empty or has only one value + See Destination Ordered
      +
      dstMem - See Destination Memory.
      +
      Returns:
      +
      this sketch as a CompactSketch.
      +
      +
      +
    • +
    • +
      +

      getCompactBytes

      +
      public int getCompactBytes()
      +
      Description copied from class: Sketch
      +
      Returns the number of storage bytes required for this Sketch if its current state were + compacted. It this sketch is already in the compact form this is equivalent to + calling Sketch.getCurrentBytes().
      +
      +
      Specified by:
      +
      getCompactBytes in class Sketch
      +
      Returns:
      +
      number of compact bytes
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public Family getFamily()
      +
      Description copied from class: Sketch
      +
      Returns the Family that this sketch belongs to
      +
      +
      Specified by:
      +
      getFamily in class Sketch
      +
      Returns:
      +
      the Family that this sketch belongs to
      +
      +
      +
    • +
    • +
      +

      isCompact

      +
      public boolean isCompact()
      +
      Description copied from class: Sketch
      +
      Returns true if this sketch is in compact form.
      +
      +
      Specified by:
      +
      isCompact in class Sketch
      +
      Returns:
      +
      true if this sketch is in compact form.
      +
      +
      +
    • +
    • +
      +

      toByteArrayCompressed

      +
      public byte[] toByteArrayCompressed()
      +
      gets the sketch as a compressed byte array
      +
      +
      Returns:
      +
      the sketch as a compressed byte array
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/HashIterator.html b/docs/621/merge/org/apache/datasketches/theta/HashIterator.html new file mode 100644 index 000000000..3d1a5de51 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/HashIterator.html @@ -0,0 +1,158 @@ + + + + +HashIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface HashIterator

+
+
+
+
public interface HashIterator
+
This is used to iterate over the retained hash values of the Theta sketch.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    +
    get()
    +
    +
    Gets the hash value
    +
    +
    boolean
    + +
    +
    Returns true at the next hash value in sequence.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      get

      +
      long get()
      +
      Gets the hash value
      +
      +
      Returns:
      +
      the hash value
      +
      +
      +
    • +
    • +
      +

      next

      +
      boolean next()
      +
      Returns true at the next hash value in sequence. + If false, the iteration is done.
      +
      +
      Returns:
      +
      true at the next hash value in sequence.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/Intersection.html b/docs/621/merge/org/apache/datasketches/theta/Intersection.html new file mode 100644 index 000000000..a4e1956c2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/Intersection.html @@ -0,0 +1,360 @@ + + + + +Intersection (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Intersection

+
+
java.lang.Object +
org.apache.datasketches.theta.SetOperation +
org.apache.datasketches.theta.Intersection
+
+
+
+
+
All Implemented Interfaces:
+
MemoryStatus
+
+
+
public abstract class Intersection +extends SetOperation
+
The API for intersection operations
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Intersection

      +
      public Intersection()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getFamily

      +
      public Family getFamily()
      +
      Description copied from class: SetOperation
      +
      Gets the Family of this SetOperation
      +
      +
      Specified by:
      +
      getFamily in class SetOperation
      +
      Returns:
      +
      the Family of this SetOperation
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public CompactSketch getResult()
      +
      Gets the result of this operation as an ordered CompactSketch on the Java heap. + This does not disturb the underlying data structure of this intersection. + The intersect(Sketch) method must have been called at least once, otherwise an + exception will be thrown. This is because a virgin Intersection object represents the + Universal Set, which has an infinite number of values.
      +
      +
      Returns:
      +
      the result of this operation as an ordered CompactSketch on the Java heap
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract CompactSketch getResult(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Gets the result of this operation as a CompactSketch in the given dstMem. + This does not disturb the underlying data structure of this intersection. + The intersect(Sketch) method must have been called at least once, otherwise an + exception will be thrown. This is because a virgin Intersection object represents the + Universal Set, which has an infinite number of values. + +

      Note that presenting an intersection with an empty sketch sets the internal + state of the intersection to empty = true, and current count = 0. This is consistent with + the mathematical definition of the intersection of any set with the empty set is + always empty.

      + +

      Presenting an intersection with a null argument will throw an exception.

      +
      +
      Parameters:
      +
      dstOrdered - See Destination Ordered
      +
      dstMem - See Destination Memory.
      +
      Returns:
      +
      the result of this operation as a CompactSketch stored in the given dstMem, + which can be either on or off-heap..
      +
      +
      +
    • +
    • +
      +

      hasResult

      +
      public abstract boolean hasResult()
      +
      Returns true if there is a valid intersection result available
      +
      +
      Returns:
      +
      true if there is a valid intersection result available
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public abstract void reset()
      +
      Resets this Intersection for stateful operations only. + The seed remains intact, otherwise reverts to + the Universal Set: theta = 1.0, no retained data and empty = false.
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public abstract byte[] toByteArray()
      +
      Serialize this intersection to a byte array form.
      +
      +
      Returns:
      +
      byte array of this intersection
      +
      +
      +
    • +
    • +
      +

      intersect

      +
      public abstract void intersect(Sketch sketchIn)
      +
      Intersect the given sketch with the internal state. + This method can be repeatedly called. + If the given sketch is null the internal state becomes the empty sketch. + Theta will become the minimum of thetas seen so far.
      +
      +
      Parameters:
      +
      sketchIn - the given sketch
      +
      +
      +
    • +
    • +
      +

      intersect

      +
      public CompactSketch intersect(Sketch a, + Sketch b)
      +
      Perform intersect set operation on the two given sketch arguments and return the result as an + ordered CompactSketch on the heap.
      +
      +
      Parameters:
      +
      a - The first sketch argument
      +
      b - The second sketch argument
      +
      Returns:
      +
      an ordered CompactSketch on the heap
      +
      +
      +
    • +
    • +
      +

      intersect

      +
      public abstract CompactSketch intersect(Sketch a, + Sketch b, + boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Perform intersect set operation on the two given sketches and return the result as a + CompactSketch.
      +
      +
      Parameters:
      +
      a - The first sketch argument
      +
      b - The second sketch argument
      +
      dstOrdered - See Destination Ordered.
      +
      dstMem - See Destination Memory.
      +
      Returns:
      +
      the result as a CompactSketch.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/JaccardSimilarity.html b/docs/621/merge/org/apache/datasketches/theta/JaccardSimilarity.html new file mode 100644 index 000000000..8e2320b37 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/JaccardSimilarity.html @@ -0,0 +1,270 @@ + + + + +JaccardSimilarity (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JaccardSimilarity

+
+
java.lang.Object +
org.apache.datasketches.theta.JaccardSimilarity
+
+
+
+
public final class JaccardSimilarity +extends Object
+
Jaccard similarity of two Theta Sketches.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static boolean
    +
    dissimilarityTest(Sketch measured, + Sketch expected, + double threshold)
    +
    +
    Tests dissimilarity of a measured Sketch against an expected Sketch.
    +
    +
    static boolean
    +
    exactlyEqual(Sketch sketchA, + Sketch sketchB)
    +
    +
    Returns true if the two given sketches have exactly the same hash values and the same + theta values.
    +
    +
    static double[]
    +
    jaccard(Sketch sketchA, + Sketch sketchB)
    +
    +
    Computes the Jaccard similarity index with upper and lower bounds.
    +
    +
    static boolean
    +
    similarityTest(Sketch measured, + Sketch expected, + double threshold)
    +
    +
    Tests similarity of a measured Sketch against an expected Sketch.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JaccardSimilarity

      +
      public JaccardSimilarity()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      jaccard

      +
      public static double[] jaccard(Sketch sketchA, + Sketch sketchB)
      +
      Computes the Jaccard similarity index with upper and lower bounds. The Jaccard similarity index + J(A,B) = (A ^ B)/(A U B) is used to measure how similar the two sketches are to each + other. If J = 1.0, the sketches are considered equal. If J = 0, the two sketches are + distinct from each other. A Jaccard of .95 means the overlap between the two + populations is 95% of the union of the two populations. + +

      Note: For very large pairs of sketches, where the configured nominal entries of the sketches + are 2^25 or 2^26, this method may produce unpredictable results.

      +
      +
      Parameters:
      +
      sketchA - given sketch A
      +
      sketchB - given sketch B
      +
      Returns:
      +
      a double array {LowerBound, Estimate, UpperBound} of the Jaccard index. + The Upper and Lower bounds are for a confidence interval of 95.4% or +/- 2 standard deviations.
      +
      +
      +
    • +
    • +
      +

      exactlyEqual

      +
      public static boolean exactlyEqual(Sketch sketchA, + Sketch sketchB)
      +
      Returns true if the two given sketches have exactly the same hash values and the same + theta values. Thus, they are equivalent.
      +
      +
      Parameters:
      +
      sketchA - the given sketch A
      +
      sketchB - the given sketch B
      +
      Returns:
      +
      true if the two given sketches have exactly the same hash values and the same + theta values.
      +
      +
      +
    • +
    • +
      +

      similarityTest

      +
      public static boolean similarityTest(Sketch measured, + Sketch expected, + double threshold)
      +
      Tests similarity of a measured Sketch against an expected Sketch. + Computes the lower bound of the Jaccard index JLB of the measured and + expected sketches. + if JLB ≥ threshold, then the sketches are considered to be + similar with a confidence of 97.7%.
      +
      +
      Parameters:
      +
      measured - the sketch to be tested
      +
      expected - the reference sketch that is considered to be correct.
      +
      threshold - a real value between zero and one.
      +
      Returns:
      +
      if true, the similarity of the two sketches is greater than the given threshold + with at least 97.7% confidence.
      +
      +
      +
    • +
    • +
      +

      dissimilarityTest

      +
      public static boolean dissimilarityTest(Sketch measured, + Sketch expected, + double threshold)
      +
      Tests dissimilarity of a measured Sketch against an expected Sketch. + Computes the upper bound of the Jaccard index JUB of the measured and + expected sketches. + if JUB ≤ threshold, then the sketches are considered to be + dissimilar with a confidence of 97.7%.
      +
      +
      Parameters:
      +
      measured - the sketch to be tested
      +
      expected - the reference sketch that is considered to be correct.
      +
      threshold - a real value between zero and one.
      +
      Returns:
      +
      if true, the dissimilarity of the two sketches is greater than the given threshold + with at least 97.7% confidence.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/SetOperation.html b/docs/621/merge/org/apache/datasketches/theta/SetOperation.html new file mode 100644 index 000000000..2d986aac0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/SetOperation.html @@ -0,0 +1,396 @@ + + + + +SetOperation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SetOperation

+
+
java.lang.Object +
org.apache.datasketches.theta.SetOperation
+
+
+
+
All Implemented Interfaces:
+
MemoryStatus
+
+
+
Direct Known Subclasses:
+
AnotB, Intersection, Union
+
+
+
public abstract class SetOperation +extends Object +implements MemoryStatus
+
The parent API for all Set Operations
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static final SetOperationBuilder
    + +
    +
    Makes a new builder
    +
    +
    abstract Family
    + +
    +
    Gets the Family of this SetOperation
    +
    +
    static int
    +
    getMaxAnotBResultBytes(int nomEntries)
    +
    +
    Returns the maximum number of bytes for the returned CompactSketch, given the + value of nomEntries of the first sketch A of AnotB.
    +
    +
    static int
    +
    getMaxIntersectionBytes(int nomEntries)
    +
    +
    Returns the maximum required storage bytes given a nomEntries parameter for Intersection + operations
    +
    +
    static int
    +
    getMaxUnionBytes(int nomEntries)
    +
    +
    Returns the maximum required storage bytes given a nomEntries parameter for Union operations
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify takes the SetOperations image in Memory and instantiates an on-heap + SetOperation using the + Default Update Seed.
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    +
    +
    Heapify takes the SetOperation image in Memory and instantiates an on-heap + SetOperation using the given expectedSeed.
    +
    + +
    wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap takes the SetOperation image in Memory and refers to it directly.
    +
    + +
    wrap(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    +
    +
    Wrap takes the SetOperation image in Memory and refers to it directly.
    +
    + +
    wrap(org.apache.datasketches.memory.WritableMemory srcMem)
    +
    +
    Wrap takes the SetOperation image in Memory and refers to it directly.
    +
    + +
    wrap(org.apache.datasketches.memory.WritableMemory srcMem, + long expectedSeed)
    +
    +
    Wrap takes the SetOperation image in Memory and refers to it directly.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.common.MemoryStatus

    +hasMemory, isDirect, isSameResource
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      builder

      +
      public static final SetOperationBuilder builder()
      +
      Makes a new builder
      +
      +
      Returns:
      +
      a new builder
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static SetOperation heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify takes the SetOperations image in Memory and instantiates an on-heap + SetOperation using the + Default Update Seed. + The resulting SetOperation will not retain any link to the source Memory. + +

      Note: Only certain set operators during stateful operations can be serialized and thus + heapified.

      +
      +
      Parameters:
      +
      srcMem - an image of a SetOperation where the image seed hash matches the default seed hash. + See Memory
      +
      Returns:
      +
      a Heap-based SetOperation from the given Memory
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static SetOperation heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
      +
      Heapify takes the SetOperation image in Memory and instantiates an on-heap + SetOperation using the given expectedSeed. + The resulting SetOperation will not retain any link to the source Memory. + +

      Note: Only certain set operators during stateful operations can be serialized and thus + heapified.

      +
      +
      Parameters:
      +
      srcMem - an image of a SetOperation where the hash of the given expectedSeed matches the image seed hash. + See Memory
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed.
      +
      Returns:
      +
      a Heap-based SetOperation from the given Memory
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static SetOperation wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap takes the SetOperation image in Memory and refers to it directly. + There is no data copying onto the java heap. + This method assumes the + Default Update Seed. + +

      Note: Only certain set operators during stateful operations can be serialized and thus + wrapped.

      +
      +
      Parameters:
      +
      srcMem - an image of a SetOperation where the image seed hash matches the default seed hash. + See Memory
      +
      Returns:
      +
      a SetOperation backed by the given Memory
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static SetOperation wrap(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
      +
      Wrap takes the SetOperation image in Memory and refers to it directly. + There is no data copying onto the java heap. + +

      Note: Only certain set operators during stateful operations can be serialized and thus + wrapped.

      +
      +
      Parameters:
      +
      srcMem - an image of a SetOperation where the hash of the given expectedSeed matches the image seed hash. + See Memory
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed.
      +
      Returns:
      +
      a SetOperation backed by the given Memory
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static SetOperation wrap(org.apache.datasketches.memory.WritableMemory srcMem)
      +
      Wrap takes the SetOperation image in Memory and refers to it directly. + There is no data copying onto the java heap. + This method assumes the + Default Update Seed. + +

      Note: Only certain set operators during stateful operations can be serialized and thus + wrapped.

      +
      +
      Parameters:
      +
      srcMem - an image of a SetOperation where the image seed hash matches the default seed hash. + See Memory
      +
      Returns:
      +
      a SetOperation backed by the given Memory
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static SetOperation wrap(org.apache.datasketches.memory.WritableMemory srcMem, + long expectedSeed)
      +
      Wrap takes the SetOperation image in Memory and refers to it directly. + There is no data copying onto the java heap. + +

      Note: Only certain set operators during stateful operations can be serialized and thus + wrapped.

      +
      +
      Parameters:
      +
      srcMem - an image of a SetOperation where the hash of the given expectedSeed matches the image seed hash. + See Memory
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed.
      +
      Returns:
      +
      a SetOperation backed by the given Memory
      +
      +
      +
    • +
    • +
      +

      getMaxUnionBytes

      +
      public static int getMaxUnionBytes(int nomEntries)
      +
      Returns the maximum required storage bytes given a nomEntries parameter for Union operations
      +
      +
      Parameters:
      +
      nomEntries - Nominal Entries + This will become the ceiling power of 2 if it is not.
      +
      Returns:
      +
      the maximum required storage bytes given a nomEntries parameter
      +
      +
      +
    • +
    • +
      +

      getMaxIntersectionBytes

      +
      public static int getMaxIntersectionBytes(int nomEntries)
      +
      Returns the maximum required storage bytes given a nomEntries parameter for Intersection + operations
      +
      +
      Parameters:
      +
      nomEntries - Nominal Entries + This will become the ceiling power of 2 if it is not.
      +
      Returns:
      +
      the maximum required storage bytes given a nomEntries parameter
      +
      +
      +
    • +
    • +
      +

      getMaxAnotBResultBytes

      +
      public static int getMaxAnotBResultBytes(int nomEntries)
      +
      Returns the maximum number of bytes for the returned CompactSketch, given the + value of nomEntries of the first sketch A of AnotB.
      +
      +
      Parameters:
      +
      nomEntries - this value must be a power of 2.
      +
      Returns:
      +
      the maximum number of bytes.
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public abstract Family getFamily()
      +
      Gets the Family of this SetOperation
      +
      +
      Returns:
      +
      the Family of this SetOperation
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/SetOperationBuilder.html b/docs/621/merge/org/apache/datasketches/theta/SetOperationBuilder.html new file mode 100644 index 000000000..720389ddc --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/SetOperationBuilder.html @@ -0,0 +1,518 @@ + + + + +SetOperationBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SetOperationBuilder

+
+
java.lang.Object +
org.apache.datasketches.theta.SetOperationBuilder
+
+
+
+
public class SetOperationBuilder +extends Object
+
For building a new SetOperation.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SetOperationBuilder

      +
      public SetOperationBuilder()
      +
      Constructor for building a new SetOperation. The default configuration is +
        +
      • Max Nominal Entries (max K): + 4096
      • +
      • Seed: 9001L
      • +
      • ResizeFactor.X8
      • +
      • Input Sampling Probability: 1.0
      • +
      • Memory: null
      • +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setNominalEntries

      +
      public SetOperationBuilder setNominalEntries(int nomEntries)
      +
      Sets the Maximum Nominal Entries (max K) for this set operation. The effective value of K of the result of a + Set Operation can be less than max K, but never greater. + The minimum value is 16 and the maximum value is 67,108,864, which is 2^26.
      +
      +
      Parameters:
      +
      nomEntries - Nominal Entries + This will become the ceiling power of 2 if it is not a power of 2.
      +
      Returns:
      +
      this SetOperationBuilder
      +
      +
      +
    • +
    • +
      +

      setLogNominalEntries

      +
      public SetOperationBuilder setLogNominalEntries(int lgNomEntries)
      +
      Alternative method of setting the Nominal Entries for this set operation from the log_base2 value. + The minimum value is 4 and the maximum value is 26. + Be aware that set operations as large as this maximum value may not have been + thoroughly characterized for performance.
      +
      +
      Parameters:
      +
      lgNomEntries - the log_base2 Nominal Entries.
      +
      Returns:
      +
      this SetOperationBuilder
      +
      +
      +
    • +
    • +
      +

      getLgNominalEntries

      +
      public int getLgNominalEntries()
      +
      Returns Log-base 2 Nominal Entries
      +
      +
      Returns:
      +
      Log-base 2 Nominal Entries
      +
      +
      +
    • +
    • +
      +

      setSeed

      +
      public SetOperationBuilder setSeed(long seed)
      +
      Sets the long seed value that is require by the hashing function.
      +
      +
      Parameters:
      +
      seed - See seed
      +
      Returns:
      +
      this SetOperationBuilder
      +
      +
      +
    • +
    • +
      +

      getSeed

      +
      public long getSeed()
      +
      Returns the seed
      +
      +
      Returns:
      +
      the seed
      +
      +
      +
    • +
    • +
      +

      setP

      +
      public SetOperationBuilder setP(float p)
      +
      Sets the upfront uniform sampling probability, p. Although this functionality is + implemented for Unions only, it rarely makes sense to use it. The proper use of upfront + sampling is when building the sketches.
      +
      +
      Parameters:
      +
      p - See Sampling Probability, p
      +
      Returns:
      +
      this SetOperationBuilder
      +
      +
      +
    • +
    • +
      +

      getP

      +
      public float getP()
      +
      Returns the pre-sampling probability p
      +
      +
      Returns:
      +
      the pre-sampling probability p
      +
      +
      +
    • +
    • +
      +

      setResizeFactor

      +
      public SetOperationBuilder setResizeFactor(ResizeFactor rf)
      +
      Sets the cache Resize Factor
      +
      +
      Parameters:
      +
      rf - See Resize Factor
      +
      Returns:
      +
      this SetOperationBuilder
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public ResizeFactor getResizeFactor()
      +
      Returns the Resize Factor
      +
      +
      Returns:
      +
      the Resize Factor
      +
      +
      +
    • +
    • +
      +

      setMemoryRequestServer

      +
      public SetOperationBuilder setMemoryRequestServer(org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Set the MemoryRequestServer
      +
      +
      Parameters:
      +
      memReqSvr - the given MemoryRequestServer
      +
      Returns:
      +
      this SetOperationBuilder
      +
      +
      +
    • +
    • +
      +

      getMemoryRequestServer

      +
      public org.apache.datasketches.memory.MemoryRequestServer getMemoryRequestServer()
      +
      Returns the MemoryRequestServer
      +
      +
      Returns:
      +
      the MemoryRequestServer
      +
      +
      +
    • +
    • +
      +

      build

      +
      public SetOperation build(Family family)
      +
      Returns a SetOperation with the current configuration of this Builder and the given Family.
      +
      +
      Parameters:
      +
      family - the chosen SetOperation family
      +
      Returns:
      +
      a SetOperation
      +
      +
      +
    • +
    • +
      +

      build

      +
      public SetOperation build(Family family, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns a SetOperation with the current configuration of this Builder, the given Family + and the given destination memory. Note that the destination memory cannot be used with AnotB.
      +
      +
      Parameters:
      +
      family - the chosen SetOperation family
      +
      dstMem - The destination Memory.
      +
      Returns:
      +
      a SetOperation
      +
      +
      +
    • +
    • +
      +

      buildUnion

      +
      public Union buildUnion()
      +
      Convenience method, returns a configured SetOperation Union with + Default Nominal Entries
      +
      +
      Returns:
      +
      a Union object
      +
      +
      +
    • +
    • +
      +

      buildUnion

      +
      public Union buildUnion(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Convenience method, returns a configured SetOperation Union with + Default Nominal Entries + and the given destination memory.
      +
      +
      Parameters:
      +
      dstMem - The destination Memory.
      +
      Returns:
      +
      a Union object
      +
      +
      +
    • +
    • +
      +

      buildIntersection

      +
      public Intersection buildIntersection()
      +
      Convenience method, returns a configured SetOperation Intersection with + Default Nominal Entries
      +
      +
      Returns:
      +
      an Intersection object
      +
      +
      +
    • +
    • +
      +

      buildIntersection

      +
      public Intersection buildIntersection(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Convenience method, returns a configured SetOperation Intersection with + Default Nominal Entries + and the given destination memory.
      +
      +
      Parameters:
      +
      dstMem - The destination Memory.
      +
      Returns:
      +
      an Intersection object
      +
      +
      +
    • +
    • +
      +

      buildANotB

      +
      public AnotB buildANotB()
      +
      Convenience method, returns a configured SetOperation ANotB with + Default Update Seed
      +
      +
      Returns:
      +
      an ANotB object
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/Sketch.html b/docs/621/merge/org/apache/datasketches/theta/Sketch.html new file mode 100644 index 000000000..18f4d9d22 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/Sketch.html @@ -0,0 +1,801 @@ + + + + +Sketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Sketch

+
+
java.lang.Object +
org.apache.datasketches.theta.Sketch
+
+
+
+
All Implemented Interfaces:
+
MemoryStatus
+
+
+
Direct Known Subclasses:
+
CompactSketch, UpdateSketch
+
+
+
public abstract class Sketch +extends Object +implements MemoryStatus
+
The top-level class for all theta sketches. This class is never constructed directly. + Use the UpdateSketch.builder() methods to create UpdateSketches.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Converts this sketch to a ordered CompactSketch.
    +
    +
    abstract CompactSketch
    +
    compact(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Convert this sketch to a CompactSketch.
    +
    +
    abstract int
    + +
    +
    Returns the number of storage bytes required for this Sketch if its current state were + compacted.
    +
    +
    static int
    +
    getCompactSketchMaxBytes(int lgNomEntries)
    +
    +
    Returns the maximum number of storage bytes required for a CompactSketch given the configured + log_base2 of the number of nominal entries, which is a power of 2.
    +
    +
    int
    +
    getCountLessThanThetaLong(long thetaLong)
    +
    +
    Gets the number of hash values less than the given theta expressed as a long.
    +
    +
    abstract int
    + +
    +
    Returns the number of storage bytes required for this sketch in its current state.
    +
    +
    abstract double
    + +
    +
    Gets the unique count estimate.
    +
    +
    abstract Family
    + +
    +
    Returns the Family that this sketch belongs to
    +
    +
    double
    +
    getLowerBound(int numStdDev)
    +
    +
    Gets the approximate lower error bound given the specified number of Standard Deviations.
    +
    +
    static int
    +
    getMaxCompactSketchBytes(int numberOfEntries)
    +
    +
    Returns the maximum number of storage bytes required for a CompactSketch with the given + number of actual entries.
    +
    +
    static int
    +
    getMaxUpdateSketchBytes(int nomEntries)
    +
    +
    Returns the maximum number of storage bytes required for an UpdateSketch with the given + number of nominal entries (power of 2).
    +
    +
    int
    + +
    +
    Returns the number of valid entries that have been retained by the sketch.
    +
    +
    abstract int
    +
    getRetainedEntries(boolean valid)
    +
    +
    Returns the number of entries that have been retained by the sketch.
    +
    +
    static int
    +
    getSerializationVersion(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns the serialization version from the given Memory
    +
    +
    double
    + +
    +
    Gets the value of theta as a double with a value between zero and one
    +
    +
    abstract long
    + +
    +
    Gets the value of theta as a long
    +
    +
    double
    +
    getUpperBound(int numStdDev)
    +
    +
    Gets the approximate upper error bound given the specified number of Standard Deviations.
    +
    +
    static Sketch
    +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
    +
    +
    static Sketch
    +
    heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    +
    +
    Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
    +
    +
    abstract boolean
    + +
    +
    Returns true if this sketch is in compact form.
    +
    +
    abstract boolean
    + + +
    boolean
    + +
    +
    Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).
    +
    +
    abstract boolean
    + +
    +
    Returns true if internal cache is ordered
    +
    +
    abstract HashIterator
    + +
    +
    Returns a HashIterator that can be used to iterate over the retained hash values of the + Theta sketch.
    +
    +
    abstract byte[]
    + +
    +
    Serialize this sketch to a byte array form.
    +
    + + +
    +
    Returns a human readable summary of the sketch.
    +
    + +
    toString(boolean sketchSummary, + boolean dataDetail, + int width, + boolean hexMode)
    +
    +
    Gets a human readable listing of contents and summary of the given sketch.
    +
    +
    static String
    +
    toString(byte[] byteArr)
    +
    +
    Returns a human readable string of the preamble of a byte array image of a Theta Sketch.
    +
    +
    static String
    +
    toString(org.apache.datasketches.memory.Memory mem)
    +
    +
    Returns a human readable string of the preamble of a Memory image of a Theta Sketch.
    +
    +
    static Sketch
    +
    wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap takes the sketch image in the given Memory and refers to it directly.
    +
    +
    static Sketch
    +
    wrap(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    +
    +
    Wrap takes the sketch image in the given Memory and refers to it directly.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.common.MemoryStatus

    +hasMemory, isDirect, isSameResource
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static Sketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify takes the sketch image in Memory and instantiates an on-heap Sketch. + +

      The resulting sketch will not retain any link to the source Memory.

      + +

      For Update Sketches this method checks if the + Default Update Seed

      + was used to create the source Memory image. + +

      For Compact Sketches this method assumes that the sketch image was created with the + correct hash seed, so it is not checked.

      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch. + See Memory.
      +
      Returns:
      +
      a Sketch on the heap.
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static Sketch heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
      +
      Heapify takes the sketch image in Memory and instantiates an on-heap Sketch. + +

      The resulting sketch will not retain any link to the source Memory.

      + +

      For Update and Compact Sketches this method checks if the given expectedSeed was used to + create the source Memory image. However, SerialVersion 1 sketches cannot be checked.

      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch that was created using the given expectedSeed. + See Memory.
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed. + Compact sketches store a 16-bit hash of the seed, but not the seed itself.
      +
      Returns:
      +
      a Sketch on the heap.
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static Sketch wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap takes the sketch image in the given Memory and refers to it directly. + There is no data copying onto the java heap. + The wrap operation enables fast read-only merging and access to all the public read-only API. + +

      Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have + been explicitly stored as direct sketches can be wrapped. + Wrapping earlier serial version sketches will result in a on-heap CompactSketch + where all data will be copied to the heap. These early versions were never designed to + "wrap".

      + +

      Wrapping any subclass of this class that is empty or contains only a single item will + result in on-heap equivalent forms of empty and single item sketch respectively. + This is actually faster and consumes less overall memory.

      + +

      For Update Sketches this method checks if the + Default Update Seed

      + was used to create the source Memory image. + +

      For Compact Sketches this method assumes that the sketch image was created with the + correct hash seed, so it is not checked.

      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch. + See Memory.
      +
      Returns:
      +
      a Sketch backed by the given Memory
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static Sketch wrap(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
      +
      Wrap takes the sketch image in the given Memory and refers to it directly. + There is no data copying onto the java heap. + The wrap operation enables fast read-only merging and access to all the public read-only API. + +

      Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have + been explicitly stored as direct sketches can be wrapped. + Wrapping earlier serial version sketches will result in a on-heap CompactSketch + where all data will be copied to the heap. These early versions were never designed to + "wrap".

      + +

      Wrapping any subclass of this class that is empty or contains only a single item will + result in on-heap equivalent forms of empty and single item sketch respectively. + This is actually faster and consumes less overall memory.

      + +

      For Update and Compact Sketches this method checks if the given expectedSeed was used to + create the source Memory image. However, SerialVersion 1 sketches cannot be checked.

      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch. + See Memory
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed.
      +
      Returns:
      +
      a UpdateSketch backed by the given Memory except as above.
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public CompactSketch compact()
      +
      Converts this sketch to a ordered CompactSketch. + +

      If this.isCompact() == true this method returns this, + otherwise, this method is equivalent to + compact(true, null). + +

      A CompactSketch is always immutable.

      +
      +
      Returns:
      +
      this sketch as an ordered CompactSketch.
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public abstract CompactSketch compact(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Convert this sketch to a CompactSketch. + +

      If this sketch is a type of UpdateSketch, the compacting process converts the hash table + of the UpdateSketch to a simple list of the valid hash values. + Any hash values of zero or equal-to or greater than theta will be discarded. + The number of valid values remaining in the CompactSketch depends on a number of factors, + but may be larger or smaller than Nominal Entries (or k). + It will never exceed 2k. + If it is critical to always limit the size to no more than k, + then rebuild() should be called on the UpdateSketch prior to calling this method.

      + +

      A CompactSketch is always immutable.

      + +

      A new CompactSketch object is created:

      +
      • if dstMem != null
      • +
      • if dstMem == null and this.hasMemory() == true
      • +
      • if dstMem == null and this has more than 1 item and this.isOrdered() == false + and dstOrdered == true.
      • +
      + +

      Otherwise, this operation returns this.

      +
      +
      Parameters:
      +
      dstOrdered - assumed true if this sketch is empty or has only one value + See Destination Ordered
      +
      dstMem - See Destination Memory.
      +
      Returns:
      +
      this sketch as a CompactSketch.
      +
      +
      +
    • +
    • +
      +

      getCompactBytes

      +
      public abstract int getCompactBytes()
      +
      Returns the number of storage bytes required for this Sketch if its current state were + compacted. It this sketch is already in the compact form this is equivalent to + calling getCurrentBytes().
      +
      +
      Returns:
      +
      number of compact bytes
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public int getCountLessThanThetaLong(long thetaLong)
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      getCurrentBytes

      +
      public abstract int getCurrentBytes()
      +
      Returns the number of storage bytes required for this sketch in its current state.
      +
      +
      Returns:
      +
      the number of storage bytes required for this sketch
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public abstract double getEstimate()
      +
      Gets the unique count estimate.
      +
      +
      Returns:
      +
      the sketch's best estimate of the cardinality of the input stream.
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public abstract Family getFamily()
      +
      Returns the Family that this sketch belongs to
      +
      +
      Returns:
      +
      the Family that this sketch belongs to
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int numStdDev)
      +
      Gets the approximate lower error bound given the specified number of Standard Deviations. + This will return getEstimate() if isEmpty() is true.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      Returns:
      +
      the lower bound.
      +
      +
      +
    • +
    • +
      +

      getMaxCompactSketchBytes

      +
      public static int getMaxCompactSketchBytes(int numberOfEntries)
      +
      Returns the maximum number of storage bytes required for a CompactSketch with the given + number of actual entries.
      +
      +
      Parameters:
      +
      numberOfEntries - the actual number of retained entries stored in the sketch.
      +
      Returns:
      +
      the maximum number of storage bytes required for a CompactSketch with the given number + of retained entries.
      +
      +
      +
    • +
    • +
      +

      getCompactSketchMaxBytes

      +
      public static int getCompactSketchMaxBytes(int lgNomEntries)
      +
      Returns the maximum number of storage bytes required for a CompactSketch given the configured + log_base2 of the number of nominal entries, which is a power of 2.
      +
      +
      Parameters:
      +
      lgNomEntries - Nominal Entries
      +
      Returns:
      +
      the maximum number of storage bytes required for a CompactSketch with the given + lgNomEntries.
      +
      +
      +
    • +
    • +
      +

      getMaxUpdateSketchBytes

      +
      public static int getMaxUpdateSketchBytes(int nomEntries)
      +
      Returns the maximum number of storage bytes required for an UpdateSketch with the given + number of nominal entries (power of 2).
      +
      +
      Parameters:
      +
      nomEntries - Nominal Entries + This will become the ceiling power of 2 if it is not.
      +
      Returns:
      +
      the maximum number of storage bytes required for a UpdateSketch with the given + nomEntries
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public int getRetainedEntries()
      +
      Returns the number of valid entries that have been retained by the sketch.
      +
      +
      Returns:
      +
      the number of valid retained entries
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public abstract int getRetainedEntries(boolean valid)
      +
      Returns the number of entries that have been retained by the sketch.
      +
      +
      Parameters:
      +
      valid - if true, returns the number of valid entries, which are less than theta and used + for estimation. + Otherwise, return the number of all entries, valid or not, that are currently in the internal + sketch cache.
      +
      Returns:
      +
      the number of retained entries
      +
      +
      +
    • +
    • +
      +

      getSerializationVersion

      +
      public static int getSerializationVersion(org.apache.datasketches.memory.Memory mem)
      +
      Returns the serialization version from the given Memory
      +
      +
      Parameters:
      +
      mem - the sketch Memory
      +
      Returns:
      +
      the serialization version from the Memory
      +
      +
      +
    • +
    • +
      +

      getTheta

      +
      public double getTheta()
      +
      Gets the value of theta as a double with a value between zero and one
      +
      +
      Returns:
      +
      the value of theta as a double
      +
      +
      +
    • +
    • +
      +

      getThetaLong

      +
      public abstract long getThetaLong()
      +
      Gets the value of theta as a long
      +
      +
      Returns:
      +
      the value of theta as a long
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int numStdDev)
      +
      Gets the approximate upper error bound given the specified number of Standard Deviations. + This will return getEstimate() if isEmpty() is true.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      Returns:
      +
      the upper bound.
      +
      +
      +
    • +
    • +
      +

      isCompact

      +
      public abstract boolean isCompact()
      +
      Returns true if this sketch is in compact form.
      +
      +
      Returns:
      +
      true if this sketch is in compact form.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public abstract boolean isEmpty()
      + +
      +
      Returns:
      +
      true if empty.
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      Returns true if the sketch is Estimation Mode (as opposed to Exact Mode). + This is true if theta < 1.0 AND isEmpty() is false.
      +
      +
      Returns:
      +
      true if the sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      isOrdered

      +
      public abstract boolean isOrdered()
      +
      Returns true if internal cache is ordered
      +
      +
      Returns:
      +
      true if internal cache is ordered
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public abstract HashIterator iterator()
      +
      Returns a HashIterator that can be used to iterate over the retained hash values of the + Theta sketch.
      +
      +
      Returns:
      +
      a HashIterator that can be used to iterate over the retained hash values of the + Theta sketch.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public abstract byte[] toByteArray()
      +
      Serialize this sketch to a byte array form.
      +
      +
      Returns:
      +
      byte array of this sketch
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      Returns a human readable summary of the sketch. This method is equivalent to the parameterized + call:
      + Sketch.toString(sketch, true, false, 8, true);
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      summary
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString(boolean sketchSummary, + boolean dataDetail, + int width, + boolean hexMode)
      +
      Gets a human readable listing of contents and summary of the given sketch. + This can be a very long string. If this sketch is in a "dirty" state there + may be values in the dataDetail view that are ≥ theta.
      +
      +
      Parameters:
      +
      sketchSummary - If true the sketch summary will be output at the end.
      +
      dataDetail - If true, includes all valid hash values in the sketch.
      +
      width - The number of columns of hash values. Default is 8.
      +
      hexMode - If true, hashes will be output in hex.
      +
      Returns:
      +
      The result string, which can be very long.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(byte[] byteArr)
      +
      Returns a human readable string of the preamble of a byte array image of a Theta Sketch.
      +
      +
      Parameters:
      +
      byteArr - the given byte array
      +
      Returns:
      +
      a human readable string of the preamble of a byte array image of a Theta Sketch.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public static String toString(org.apache.datasketches.memory.Memory mem)
      +
      Returns a human readable string of the preamble of a Memory image of a Theta Sketch.
      +
      +
      Parameters:
      +
      mem - the given Memory object
      +
      Returns:
      +
      a human readable string of the preamble of a Memory image of a Theta Sketch.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/Sketches.html b/docs/621/merge/org/apache/datasketches/theta/Sketches.html new file mode 100644 index 000000000..46d824de4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/Sketches.html @@ -0,0 +1,811 @@ + + + + +Sketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Sketches

+
+
java.lang.Object +
org.apache.datasketches.theta.Sketches
+
+
+
+
public final class Sketches +extends Object
+
This class brings together the common sketch and set operation creation methods and + the public static methods into one place.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+ +
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/Union.html b/docs/621/merge/org/apache/datasketches/theta/Union.html new file mode 100644 index 000000000..b5d770241 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/Union.html @@ -0,0 +1,553 @@ + + + + +Union (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Union

+
+
java.lang.Object +
org.apache.datasketches.theta.SetOperation +
org.apache.datasketches.theta.Union
+
+
+
+
+
All Implemented Interfaces:
+
MemoryStatus
+
+
+
public abstract class Union +extends SetOperation
+
Compute the union of two or more theta sketches. + A new instance represents an empty set.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    abstract int
    + +
    +
    Returns the number of storage bytes required for this union in its current state.
    +
    + + +
    +
    Gets the Family of this SetOperation
    +
    +
    abstract int
    + +
    +
    Returns the maximum required storage bytes for this union.
    +
    +
    abstract CompactSketch
    + +
    +
    Gets the result of this operation as an ordered CompactSketch on the Java heap.
    +
    +
    abstract CompactSketch
    +
    getResult(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Gets the result of this operation as a CompactSketch of the chosen form.
    +
    +
    abstract void
    + +
    +
    Resets this Union.
    +
    +
    abstract byte[]
    + +
    +
    Returns a byte array image of this Union object
    +
    +
    abstract void
    +
    union(org.apache.datasketches.memory.Memory mem)
    +
    +
    Perform a Union operation with this union and the given Memory image of any sketch of the + Theta Family.
    +
    +
    abstract void
    +
    union(Sketch sketchIn)
    +
    +
    Perform a Union operation with this union and the given on-heap sketch of the Theta Family.
    +
    + +
    union(Sketch sketchA, + Sketch sketchB)
    +
    +
    This implements a stateless, pair-wise union operation.
    +
    +
    abstract CompactSketch
    +
    union(Sketch sketchA, + Sketch sketchB, + boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    This implements a stateless, pair-wise union operation.
    +
    +
    abstract void
    +
    update(byte[] data)
    +
    +
    Update this union with the given byte array item.
    +
    +
    abstract void
    +
    update(char[] data)
    +
    +
    Update this union with the given char array item.
    +
    +
    abstract void
    +
    update(double datum)
    +
    +
    Update this union with the given double (or float) data item.
    +
    +
    abstract void
    +
    update(int[] data)
    +
    +
    Update this union with the given integer array item.
    +
    +
    abstract void
    +
    update(long datum)
    +
    +
    Update this union with the given long data item.
    +
    +
    abstract void
    +
    update(long[] data)
    +
    +
    Update this union with the given long array item.
    +
    +
    abstract void
    +
    update(String datum)
    +
    +
    Update this union with the with the given String data item.
    +
    +
    abstract void
    + +
    +
    Update this union with the given ByteBuffer item.
    +
    +
    +
    +
    +
    +

    Methods inherited from class org.apache.datasketches.theta.SetOperation

    +builder, getMaxAnotBResultBytes, getMaxIntersectionBytes, getMaxUnionBytes, heapify, heapify, wrap, wrap, wrap, wrap
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface org.apache.datasketches.common.MemoryStatus

    +hasMemory, isDirect, isSameResource
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Union

      +
      public Union()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCurrentBytes

      +
      public abstract int getCurrentBytes()
      +
      Returns the number of storage bytes required for this union in its current state.
      +
      +
      Returns:
      +
      the number of storage bytes required for this union in its current state.
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public Family getFamily()
      +
      Description copied from class: SetOperation
      +
      Gets the Family of this SetOperation
      +
      +
      Specified by:
      +
      getFamily in class SetOperation
      +
      Returns:
      +
      the Family of this SetOperation
      +
      +
      +
    • +
    • +
      +

      getMaxUnionBytes

      +
      public abstract int getMaxUnionBytes()
      +
      Returns the maximum required storage bytes for this union.
      +
      +
      Returns:
      +
      the maximum required storage bytes for this union.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract CompactSketch getResult()
      +
      Gets the result of this operation as an ordered CompactSketch on the Java heap. + This does not disturb the underlying data structure of the union. + Therefore, it is OK to continue updating the union after this operation.
      +
      +
      Returns:
      +
      the result of this operation as an ordered CompactSketch on the Java heap
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract CompactSketch getResult(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Gets the result of this operation as a CompactSketch of the chosen form. + This does not disturb the underlying data structure of the union. + Therefore, it is OK to continue updating the union after this operation.
      +
      +
      Parameters:
      +
      dstOrdered - See Destination Ordered
      +
      dstMem - See Destination Memory.
      +
      Returns:
      +
      the result of this operation as a CompactSketch of the chosen form
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public abstract void reset()
      +
      Resets this Union. The seed remains intact, everything else reverts back to its virgin state.
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public abstract byte[] toByteArray()
      +
      Returns a byte array image of this Union object
      +
      +
      Returns:
      +
      a byte array image of this Union object
      +
      +
      +
    • +
    • +
      +

      union

      +
      public CompactSketch union(Sketch sketchA, + Sketch sketchB)
      +
      This implements a stateless, pair-wise union operation. The returned sketch will be cut back to + the smaller of the two k values if required. + +

      Nulls and empty sketches are ignored.

      +
      +
      Parameters:
      +
      sketchA - The first argument
      +
      sketchB - The second argument
      +
      Returns:
      +
      the result ordered CompactSketch on the heap.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public abstract CompactSketch union(Sketch sketchA, + Sketch sketchB, + boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      This implements a stateless, pair-wise union operation. The returned sketch will be cut back to + k if required, similar to the regular Union operation. + +

      Nulls and empty sketches are ignored.

      +
      +
      Parameters:
      +
      sketchA - The first argument
      +
      sketchB - The second argument
      +
      dstOrdered - If true, the returned CompactSketch will be ordered.
      +
      dstMem - If not null, the returned CompactSketch will be placed in this WritableMemory.
      +
      Returns:
      +
      the result CompactSketch.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public abstract void union(Sketch sketchIn)
      +
      Perform a Union operation with this union and the given on-heap sketch of the Theta Family. + This method is not valid for the older SetSketch, which was prior to Open Source (August, 2015). + +

      This method can be repeatedly called. + +

      Nulls and empty sketches are ignored.

      +
      +
      Parameters:
      +
      sketchIn - The incoming sketch.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public abstract void union(org.apache.datasketches.memory.Memory mem)
      +
      Perform a Union operation with this union and the given Memory image of any sketch of the + Theta Family. The input image may be from earlier versions of the Theta Compact Sketch, + called the SetSketch (circa 2014), which was prior to Open Source and are compact and ordered. + +

      This method can be repeatedly called. + +

      Nulls and empty sketches are ignored.

      +
      +
      Parameters:
      +
      mem - Memory image of sketch to be merged
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(long datum)
      +
      Update this union with the given long data item.
      +
      +
      Parameters:
      +
      datum - The given long datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(double datum)
      +
      Update this union with the given double (or float) data item. + The double will be converted to a long using Double.doubleToLongBits(datum), + which normalizes all NaN values to a single NaN representation. + Plus and minus zero will be normalized to plus zero. + Each of the special floating-point values NaN and +/- Infinity are treated as distinct.
      +
      +
      Parameters:
      +
      datum - The given double datum.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(String datum)
      +
      Update this union with the with the given String data item. + The string is converted to a byte array using UTF8 encoding. + If the string is null or empty no update attempt is made and the method returns. + +

      Note: this will not produce the same output hash values as the update(char[]) + method and will generally be a little slower depending on the complexity of the UTF8 encoding. +

      + +

      Note: this is not a Sketch Union operation. This treats the given string as a data item.

      +
      +
      Parameters:
      +
      datum - The given String.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(byte[] data)
      +
      Update this union with the given byte array item. + If the byte array is null or empty no update attempt is made and the method returns. + +

      Note: this is not a Sketch Union operation. This treats the given byte array as a data + item.

      +
      +
      Parameters:
      +
      data - The given byte array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(ByteBuffer data)
      +
      Update this union with the given ByteBuffer item. + If the ByteBuffer is null or empty no update attempt is made and the method returns. + +

      Note: this is not a Sketch Union operation. This treats the given ByteBuffer as a data + item.

      +
      +
      Parameters:
      +
      data - The given ByteBuffer.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(int[] data)
      +
      Update this union with the given integer array item. + If the integer array is null or empty no update attempt is made and the method returns. + +

      Note: this is not a Sketch Union operation. This treats the given integer array as a data + item.

      +
      +
      Parameters:
      +
      data - The given int array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(char[] data)
      +
      Update this union with the given char array item. + If the char array is null or empty no update attempt is made and the method returns. + +

      Note: this will not produce the same output hash values as the update(String) + method but will be a little faster as it avoids the complexity of the UTF8 encoding.

      + +

      Note: this is not a Sketch Union operation. This treats the given char array as a data + item.

      +
      +
      Parameters:
      +
      data - The given char array.
      +
      +
      +
    • +
    • +
      +

      update

      +
      public abstract void update(long[] data)
      +
      Update this union with the given long array item. + If the long array is null or empty no update attempt is made and the method returns. + +

      Note: this is not a Sketch Union operation. This treats the given char array as a data + item.

      +
      +
      Parameters:
      +
      data - The given long array.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/UpdateReturnState.html b/docs/621/merge/org/apache/datasketches/theta/UpdateReturnState.html new file mode 100644 index 000000000..5f10580d6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/UpdateReturnState.html @@ -0,0 +1,317 @@ + + + + +UpdateReturnState (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class UpdateReturnState

+
+
java.lang.Object +
java.lang.Enum<UpdateReturnState> +
org.apache.datasketches.theta.UpdateReturnState
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<UpdateReturnState>, Constable
+
+
+
public enum UpdateReturnState +extends Enum<UpdateReturnState>
+ +
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      InsertedCountIncremented

      +
      public static final UpdateReturnState InsertedCountIncremented
      +
      The hash was accepted into the sketch and the retained count was incremented.
      +
      +
    • +
    • +
      +

      InsertedCountIncrementedResized

      +
      public static final UpdateReturnState InsertedCountIncrementedResized
      +
      The hash was accepted into the sketch, the retained count was incremented. + The current cache was out of room and resized larger based on the Resize Factor.
      +
      +
    • +
    • +
      +

      InsertedCountIncrementedRebuilt

      +
      public static final UpdateReturnState InsertedCountIncrementedRebuilt
      +
      The hash was accepted into the sketch, the retained count was incremented. + The current cache was out of room and at maximum size, so the cache was rebuilt.
      +
      +
    • +
    • +
      +

      InsertedCountNotIncremented

      +
      public static final UpdateReturnState InsertedCountNotIncremented
      +
      The hash was accepted into the sketch and the retained count was not incremented.
      +
      +
    • +
    • +
      +

      ConcurrentBufferInserted

      +
      public static final UpdateReturnState ConcurrentBufferInserted
      +
      The hash was inserted into the local concurrent buffer, + but has not yet been propagated to the concurrent shared sketch.
      +
      +
    • +
    • +
      +

      ConcurrentPropagated

      +
      public static final UpdateReturnState ConcurrentPropagated
      +
      The hash has been propagated to the concurrent shared sketch. + This does not reflect the action taken by the shared sketch.
      +
      +
    • +
    • +
      +

      RejectedDuplicate

      +
      public static final UpdateReturnState RejectedDuplicate
      +
      The hash was rejected as a duplicate.
      +
      +
    • +
    • +
      +

      RejectedNullOrEmpty

      +
      public static final UpdateReturnState RejectedNullOrEmpty
      +
      The hash was rejected because it was null or empty.
      +
      +
    • +
    • +
      +

      RejectedOverTheta

      +
      public static final UpdateReturnState RejectedOverTheta
      +
      The hash was rejected because the value was negative, zero or + greater than theta.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static UpdateReturnState[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static UpdateReturnState valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/UpdateSketch.html b/docs/621/merge/org/apache/datasketches/theta/UpdateSketch.html new file mode 100644 index 000000000..a62c36ed3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/UpdateSketch.html @@ -0,0 +1,588 @@ + + + + +UpdateSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UpdateSketch

+
+
java.lang.Object +
org.apache.datasketches.theta.Sketch +
org.apache.datasketches.theta.UpdateSketch
+
+
+
+
+
All Implemented Interfaces:
+
MemoryStatus
+
+
+
public abstract class UpdateSketch +extends Sketch
+
The parent class for the Update Sketch families, such as QuickSelect and Alpha. + The primary task of an Update Sketch is to consider datums presented via the update() methods + for inclusion in its internal cache. This is the sketch building process.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      wrap

      +
      public static UpdateSketch wrap(org.apache.datasketches.memory.WritableMemory srcMem)
      +
      Wrap takes the sketch image in Memory and refers to it directly. There is no data copying onto + the java heap. Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have + been explicitly stored as direct objects can be wrapped. This method assumes the + ThetaUtil.DEFAULT_UPDATE_SEED. + Default Update Seed.
      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch where the image seed hash matches the default seed hash. + It must have a size of at least 24 bytes. + See Memory
      +
      Returns:
      +
      a Sketch backed by the given Memory
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static UpdateSketch wrap(org.apache.datasketches.memory.WritableMemory srcMem, + long expectedSeed)
      +
      Wrap takes the sketch image in Memory and refers to it directly. There is no data copying onto + the java heap. Only "Direct" Serialization Version 3 (i.e, OpenSource) sketches that have + been explicitly stored as direct objects can be wrapped. + An attempt to "wrap" earlier version sketches will result in a "heapified", normal + Java Heap version of the sketch where all data will be copied to the heap.
      +
      +
      Parameters:
      +
      srcMem - an image of a Sketch where the image seed hash matches the given seed hash. + It must have a size of at least 24 bytes. + See Memory
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed. + Compact sketches store a 16-bit hash of the seed, but not the seed itself.
      +
      Returns:
      +
      a UpdateSketch backed by the given Memory
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static UpdateSketch heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Instantiates an on-heap UpdateSketch from Memory. This method assumes the + ThetaUtil.DEFAULT_UPDATE_SEED.
      +
      +
      Parameters:
      +
      srcMem - See Memory + It must have a size of at least 24 bytes.
      +
      Returns:
      +
      an UpdateSketch
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static UpdateSketch heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
      +
      Instantiates an on-heap UpdateSketch from Memory.
      +
      +
      Parameters:
      +
      srcMem - See Memory + It must have a size of at least 24 bytes.
      +
      expectedSeed - the seed used to validate the given Memory image. + See Update Hash Seed.
      +
      Returns:
      +
      an UpdateSketch
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public CompactSketch compact(boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Description copied from class: Sketch
      +
      Convert this sketch to a CompactSketch. + +

      If this sketch is a type of UpdateSketch, the compacting process converts the hash table + of the UpdateSketch to a simple list of the valid hash values. + Any hash values of zero or equal-to or greater than theta will be discarded. + The number of valid values remaining in the CompactSketch depends on a number of factors, + but may be larger or smaller than Nominal Entries (or k). + It will never exceed 2k. + If it is critical to always limit the size to no more than k, + then rebuild() should be called on the UpdateSketch prior to calling this method.

      + +

      A CompactSketch is always immutable.

      + +

      A new CompactSketch object is created:

      +
      • if dstMem != null
      • +
      • if dstMem == null and this.hasMemory() == true
      • +
      • if dstMem == null and this has more than 1 item and this.isOrdered() == false + and dstOrdered == true.
      • +
      + +

      Otherwise, this operation returns this.

      +
      +
      Specified by:
      +
      compact in class Sketch
      +
      Parameters:
      +
      dstOrdered - assumed true if this sketch is empty or has only one value + See Destination Ordered
      +
      dstMem - See Destination Memory.
      +
      Returns:
      +
      this sketch as a CompactSketch.
      +
      +
      +
    • +
    • +
      +

      getCompactBytes

      +
      public int getCompactBytes()
      +
      Description copied from class: Sketch
      +
      Returns the number of storage bytes required for this Sketch if its current state were + compacted. It this sketch is already in the compact form this is equivalent to + calling Sketch.getCurrentBytes().
      +
      +
      Specified by:
      +
      getCompactBytes in class Sketch
      +
      Returns:
      +
      number of compact bytes
      +
      +
      +
    • +
    • +
      +

      isCompact

      +
      public boolean isCompact()
      +
      Description copied from class: Sketch
      +
      Returns true if this sketch is in compact form.
      +
      +
      Specified by:
      +
      isCompact in class Sketch
      +
      Returns:
      +
      true if this sketch is in compact form.
      +
      +
      +
    • +
    • +
      +

      isOrdered

      +
      public boolean isOrdered()
      +
      Description copied from class: Sketch
      +
      Returns true if internal cache is ordered
      +
      +
      Specified by:
      +
      isOrdered in class Sketch
      +
      Returns:
      +
      true if internal cache is ordered
      +
      +
      +
    • +
    • +
      +

      builder

      +
      public static final UpdateSketchBuilder builder()
      +
      Returns a new builder
      +
      +
      Returns:
      +
      a new builder
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public abstract ResizeFactor getResizeFactor()
      +
      Returns the configured ResizeFactor
      +
      +
      Returns:
      +
      the configured ResizeFactor
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public abstract void reset()
      +
      Resets this sketch back to a virgin empty state.
      +
      +
    • +
    • +
      +

      rebuild

      +
      public abstract UpdateSketch rebuild()
      +
      Rebuilds the hash table to remove dirty values or to reduce the size + to nominal entries.
      +
      +
      Returns:
      +
      this sketch
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(long datum)
      +
      Present this sketch with a long.
      +
      +
      Parameters:
      +
      datum - The given long datum.
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(double datum)
      +
      Present this sketch with the given double (or float) datum. + The double will be converted to a long using Double.doubleToLongBits(datum), + which normalizes all NaN values to a single NaN representation. + Plus and minus zero will be normalized to plus zero. + The special floating-point values NaN and +/- Infinity are treated as distinct.
      +
      +
      Parameters:
      +
      datum - The given double datum.
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(String datum)
      +
      Present this sketch with the given String. + The string is converted to a byte array using UTF8 encoding. + If the string is null or empty no update attempt is made and the method returns. + +

      Note: this will not produce the same output hash values as the update(char[]) + method and will generally be a little slower depending on the complexity of the UTF8 encoding. +

      +
      +
      Parameters:
      +
      datum - The given String.
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(byte[] data)
      +
      Present this sketch with the given byte array. + If the byte array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given byte array.
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(ByteBuffer buffer)
      +
      Present this sketch with the given ByteBuffer + If the ByteBuffer is null or empty, no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      buffer - the input ByteBuffer
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(char[] data)
      +
      Present this sketch with the given char array. + If the char array is null or empty no update attempt is made and the method returns. + +

      Note: this will not produce the same output hash values as the update(String) + method but will be a little faster as it avoids the complexity of the UTF8 encoding.

      +
      +
      Parameters:
      +
      data - The given char array.
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(int[] data)
      +
      Present this sketch with the given integer array. + If the integer array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given int array.
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      update

      +
      public UpdateReturnState update(long[] data)
      +
      Present this sketch with the given long array. + If the long array is null or empty no update attempt is made and the method returns.
      +
      +
      Parameters:
      +
      data - The given long array.
      +
      Returns:
      +
      See Update Return State
      +
      +
      +
    • +
    • +
      +

      getLgNomLongs

      +
      public abstract int getLgNomLongs()
      +
      Gets the Log base 2 of the configured nominal entries
      +
      +
      Returns:
      +
      the Log base 2 of the configured nominal entries
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/UpdateSketchBuilder.html b/docs/621/merge/org/apache/datasketches/theta/UpdateSketchBuilder.html new file mode 100644 index 000000000..a116042a3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/UpdateSketchBuilder.html @@ -0,0 +1,784 @@ + + + + +UpdateSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UpdateSketchBuilder

+
+
java.lang.Object +
org.apache.datasketches.theta.UpdateSketchBuilder
+
+
+
+
public class UpdateSketchBuilder +extends Object
+
For building a new UpdateSketch.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UpdateSketchBuilder

      +
      public UpdateSketchBuilder()
      +
      Constructor for building a new UpdateSketch. The default configuration is +
        +
      • Nominal Entries: 4096
      • +
      • Seed: 9001L
      • +
      • Input Sampling Probability: 1.0
      • +
      • Family: Family.QUICKSELECT
      • +
      • Resize Factor: The default for sketches on the Java heap is ResizeFactor.X8. + For direct sketches, which are targeted for native memory off the Java heap, this value will + be fixed at either ResizeFactor.X1 or ResizeFactor.X2.
      • +
      • MemoryRequestServer (Direct only): + DefaultMemoryRequestServer.
      • +
      + Parameters unique to the concurrent sketches only: +
        +
      • Number of local Nominal Entries: 4
      • +
      • Concurrent NumPoolThreads: 3
      • +
      • Concurrent PropagateOrderedCompact: true
      • +
      • Concurrent MaxConcurrencyError: 0
      • +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setNominalEntries

      +
      public UpdateSketchBuilder setNominalEntries(int nomEntries)
      +
      Sets the Nominal Entries for this sketch. + This value is also used for building a shared concurrent sketch. + The minimum value is 16 (2^4) and the maximum value is 67,108,864 (2^26). + Be aware that sketches as large as this maximum value may not have been + thoroughly tested or characterized for performance.
      +
      +
      Parameters:
      +
      nomEntries - Nominal Entries + This will become the ceiling power of 2 if the given value is not.
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      setLogNominalEntries

      +
      public UpdateSketchBuilder setLogNominalEntries(int lgNomEntries)
      +
      Alternative method of setting the Nominal Entries for this sketch from the log_base2 value. + This value is also used for building a shared concurrent sketch. + The minimum value is 4 and the maximum value is 26. + Be aware that sketches as large as this maximum value may not have been + thoroughly characterized for performance.
      +
      +
      Parameters:
      +
      lgNomEntries - the Log Nominal Entries. Also for the concurrent shared sketch
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getLgNominalEntries

      +
      public int getLgNominalEntries()
      +
      Returns Log-base 2 Nominal Entries
      +
      +
      Returns:
      +
      Log-base 2 Nominal Entries
      +
      +
      +
    • +
    • +
      +

      setLocalNominalEntries

      +
      public UpdateSketchBuilder setLocalNominalEntries(int nomEntries)
      +
      Sets the Nominal Entries for the concurrent local sketch. The minimum value is 16 and the + maximum value is 67,108,864, which is 2^26. + Be aware that sketches as large as this maximum + value have not been thoroughly tested or characterized for performance.
      +
      +
      Parameters:
      +
      nomEntries - Nominal Entries + This will become the ceiling power of 2 if it is not.
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      setLocalLogNominalEntries

      +
      public UpdateSketchBuilder setLocalLogNominalEntries(int lgNomEntries)
      +
      Alternative method of setting the Nominal Entries for a local concurrent sketch from the + log_base2 value. + The minimum value is 4 and the maximum value is 26. + Be aware that sketches as large as this maximum + value have not been thoroughly tested or characterized for performance.
      +
      +
      Parameters:
      +
      lgNomEntries - the Log Nominal Entries for a concurrent local sketch
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getLocalLgNominalEntries

      +
      public int getLocalLgNominalEntries()
      +
      Returns Log-base 2 Nominal Entries for the concurrent local sketch
      +
      +
      Returns:
      +
      Log-base 2 Nominal Entries for the concurrent local sketch
      +
      +
      +
    • +
    • +
      +

      setSeed

      +
      public UpdateSketchBuilder setSeed(long seed)
      +
      Sets the long seed value that is required by the hashing function.
      +
      +
      Parameters:
      +
      seed - See seed
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getSeed

      +
      public long getSeed()
      +
      Returns the seed
      +
      +
      Returns:
      +
      the seed
      +
      +
      +
    • +
    • +
      +

      setP

      +
      public UpdateSketchBuilder setP(float p)
      +
      Sets the upfront uniform sampling probability, p
      +
      +
      Parameters:
      +
      p - See Sampling Probability, p
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getP

      +
      public float getP()
      +
      Returns the pre-sampling probability p
      +
      +
      Returns:
      +
      the pre-sampling probability p
      +
      +
      +
    • +
    • +
      +

      setResizeFactor

      +
      public UpdateSketchBuilder setResizeFactor(ResizeFactor rf)
      +
      Sets the cache Resize Factor.
      +
      +
      Parameters:
      +
      rf - See Resize Factor
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public ResizeFactor getResizeFactor()
      +
      Returns the Resize Factor
      +
      +
      Returns:
      +
      the Resize Factor
      +
      +
      +
    • +
    • +
      +

      setFamily

      +
      public UpdateSketchBuilder setFamily(Family family)
      +
      Set the Family.
      +
      +
      Parameters:
      +
      family - the family for this builder
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getFamily

      +
      public Family getFamily()
      +
      Returns the Family
      +
      +
      Returns:
      +
      the Family
      +
      +
      +
    • +
    • +
      +

      setMemoryRequestServer

      +
      public UpdateSketchBuilder setMemoryRequestServer(org.apache.datasketches.memory.MemoryRequestServer memReqSvr)
      +
      Set the MemoryRequestServer
      +
      +
      Parameters:
      +
      memReqSvr - the given MemoryRequestServer
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getMemoryRequestServer

      +
      public org.apache.datasketches.memory.MemoryRequestServer getMemoryRequestServer()
      +
      Returns the MemoryRequestServer
      +
      +
      Returns:
      +
      the MemoryRequestServer
      +
      +
      +
    • +
    • +
      +

      setNumPoolThreads

      +
      public void setNumPoolThreads(int numPoolThreads)
      +
      Sets the number of pool threads used for background propagation in the concurrent sketches.
      +
      +
      Parameters:
      +
      numPoolThreads - the given number of pool threads
      +
      +
      +
    • +
    • +
      +

      getNumPoolThreads

      +
      public int getNumPoolThreads()
      +
      Gets the number of background pool threads used for propagation in the concurrent sketches.
      +
      +
      Returns:
      +
      the number of background pool threads
      +
      +
      +
    • +
    • +
      +

      setPropagateOrderedCompact

      +
      public UpdateSketchBuilder setPropagateOrderedCompact(boolean prop)
      +
      Sets the Propagate Ordered Compact flag to the given value. Used with concurrent sketches.
      +
      +
      Parameters:
      +
      prop - the given value
      +
      Returns:
      +
      this UpdateSketchBuilder
      +
      +
      +
    • +
    • +
      +

      getPropagateOrderedCompact

      +
      public boolean getPropagateOrderedCompact()
      +
      Gets the Propagate Ordered Compact flag used with concurrent sketches.
      +
      +
      Returns:
      +
      the Propagate Ordered Compact flag
      +
      +
      +
    • +
    • +
      +

      setMaxConcurrencyError

      +
      public void setMaxConcurrencyError(double maxConcurrencyError)
      +
      Sets the Maximum Concurrency Error.
      +
      +
      Parameters:
      +
      maxConcurrencyError - the given Maximum Concurrency Error.
      +
      +
      +
    • +
    • +
      +

      getMaxConcurrencyError

      +
      public double getMaxConcurrencyError()
      +
      Gets the Maximum Concurrency Error
      +
      +
      Returns:
      +
      the Maximum Concurrency Error
      +
      +
      +
    • +
    • +
      +

      setMaxNumLocalThreads

      +
      public void setMaxNumLocalThreads(int maxNumLocalThreads)
      +
      Sets the Maximum Number of Local Threads. + This is used to set the size of the local concurrent buffers.
      +
      +
      Parameters:
      +
      maxNumLocalThreads - the given Maximum Number of Local Threads
      +
      +
      +
    • +
    • +
      +

      getMaxNumLocalThreads

      +
      public int getMaxNumLocalThreads()
      +
      Gets the Maximum Number of Local Threads.
      +
      +
      Returns:
      +
      the Maximum Number of Local Threads.
      +
      +
      +
    • +
    • +
      +

      build

      +
      public UpdateSketch build()
      +
      Returns an UpdateSketch with the current configuration of this Builder.
      +
      +
      Returns:
      +
      an UpdateSketch
      +
      +
      +
    • +
    • +
      +

      build

      +
      public UpdateSketch build(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns an UpdateSketch with the current configuration of this Builder + with the specified backing destination Memory store. + Note: this cannot be used with the Alpha Family of sketches.
      +
      +
      Parameters:
      +
      dstMem - The destination Memory.
      +
      Returns:
      +
      an UpdateSketch
      +
      +
      +
    • +
    • +
      +

      buildShared

      +
      public UpdateSketch buildShared()
      +
      Returns an on-heap concurrent shared UpdateSketch with the current configuration of the + Builder. + +

      The parameters unique to the shared concurrent sketch are: +

        +
      • Number of Pool Threads (default is 3)
      • +
      • Maximum Concurrency Error
      • +
      + +

      Key parameters that are in common with other Theta sketches: +

        +
      • Nominal Entries or Log Nominal Entries (for the shared concurrent sketch)
      • +
      +
      +
      Returns:
      +
      an on-heap concurrent UpdateSketch with the current configuration of the Builder.
      +
      +
      +
    • +
    • +
      +

      buildShared

      +
      public UpdateSketch buildShared(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current + configuration of the Builder and the given destination WritableMemory. If the destination + WritableMemory is null, this defaults to an on-heap concurrent shared UpdateSketch. + +

      The parameters unique to the shared concurrent sketch are: +

        +
      • Number of Pool Threads (default is 3)
      • +
      • Maximum Concurrency Error
      • +
      + +

      Key parameters that are in common with other Theta sketches: +

        +
      • Nominal Entries or Log Nominal Entries (for the shared concurrent sketch)
      • +
      • Destination Writable Memory (if not null, returned sketch is Direct. Default is null.)
      • +
      +
      +
      Parameters:
      +
      dstMem - the given WritableMemory for Direct, otherwise null.
      +
      Returns:
      +
      a concurrent UpdateSketch with the current configuration of the Builder + and the given destination WritableMemory.
      +
      +
      +
    • +
    • +
      +

      buildSharedFromSketch

      +
      public UpdateSketch buildSharedFromSketch(UpdateSketch sketch, + org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current + configuration of the Builder, the data from the given sketch, and the given destination + WritableMemory. If the destination WritableMemory is null, this defaults to an on-heap + concurrent shared UpdateSketch. + +

      The parameters unique to the shared concurrent sketch are: +

        +
      • Number of Pool Threads (default is 3)
      • +
      • Maximum Concurrency Error
      • +
      + +

      Key parameters that are in common with other Theta sketches: +

        +
      • Nominal Entries or Log Nominal Entries (for the shared concurrent sketch)
      • +
      • Destination Writable Memory (if not null, returned sketch is Direct. Default is null.)
      • +
      +
      +
      Parameters:
      +
      sketch - a given UpdateSketch from which the data is used to initialize the returned + shared sketch.
      +
      dstMem - the given WritableMemory for Direct, otherwise null.
      +
      Returns:
      +
      a concurrent UpdateSketch with the current configuration of the Builder + and the given destination WritableMemory.
      +
      +
      +
    • +
    • +
      +

      buildLocal

      +
      public UpdateSketch buildLocal(UpdateSketch shared)
      +
      Returns a local, on-heap, concurrent UpdateSketch to be used as a per-thread local buffer + along with the given concurrent shared UpdateSketch and the current configuration of this + Builder. + +

      The parameters unique to the local concurrent sketch are: +

        +
      • Local Nominal Entries or Local Log Nominal Entries
      • +
      • Propagate Ordered Compact flag
      • +
      +
      +
      Parameters:
      +
      shared - the concurrent shared sketch to be accessed via the concurrent local sketch.
      +
      Returns:
      +
      an UpdateSketch to be used as a per-thread local buffer.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/AnotB.html b/docs/621/merge/org/apache/datasketches/theta/class-use/AnotB.html new file mode 100644 index 000000000..fdcaf3431 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/AnotB.html @@ -0,0 +1,93 @@ + + + + +Uses of Class org.apache.datasketches.theta.AnotB (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.AnotB

+
+
Packages that use AnotB
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/BitPacking.html b/docs/621/merge/org/apache/datasketches/theta/class-use/BitPacking.html new file mode 100644 index 000000000..db8c08a5e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/BitPacking.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.theta.BitPacking (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.BitPacking

+
+No usage of org.apache.datasketches.theta.BitPacking
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/CompactSketch.html b/docs/621/merge/org/apache/datasketches/theta/class-use/CompactSketch.html new file mode 100644 index 000000000..bd64e7f9d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/CompactSketch.html @@ -0,0 +1,234 @@ + + + + +Uses of Class org.apache.datasketches.theta.CompactSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.CompactSketch

+
+
Packages that use CompactSketch
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/HashIterator.html b/docs/621/merge/org/apache/datasketches/theta/class-use/HashIterator.html new file mode 100644 index 000000000..b5ec74fc3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/HashIterator.html @@ -0,0 +1,93 @@ + + + + +Uses of Interface org.apache.datasketches.theta.HashIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.theta.HashIterator

+
+
Packages that use HashIterator
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/Intersection.html b/docs/621/merge/org/apache/datasketches/theta/class-use/Intersection.html new file mode 100644 index 000000000..aafada0d9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/Intersection.html @@ -0,0 +1,110 @@ + + + + +Uses of Class org.apache.datasketches.theta.Intersection (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.Intersection

+
+
Packages that use Intersection
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/JaccardSimilarity.html b/docs/621/merge/org/apache/datasketches/theta/class-use/JaccardSimilarity.html new file mode 100644 index 000000000..0f62fd7c4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/JaccardSimilarity.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.theta.JaccardSimilarity (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.JaccardSimilarity

+
+No usage of org.apache.datasketches.theta.JaccardSimilarity
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/SetOperation.html b/docs/621/merge/org/apache/datasketches/theta/class-use/SetOperation.html new file mode 100644 index 000000000..90c7f2afb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/SetOperation.html @@ -0,0 +1,189 @@ + + + + +Uses of Class org.apache.datasketches.theta.SetOperation (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.SetOperation

+
+
Packages that use SetOperation
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/SetOperationBuilder.html b/docs/621/merge/org/apache/datasketches/theta/class-use/SetOperationBuilder.html new file mode 100644 index 000000000..9bf8aacf6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/SetOperationBuilder.html @@ -0,0 +1,127 @@ + + + + +Uses of Class org.apache.datasketches.theta.SetOperationBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.SetOperationBuilder

+
+
Packages that use SetOperationBuilder
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/Sketch.html b/docs/621/merge/org/apache/datasketches/theta/class-use/Sketch.html new file mode 100644 index 000000000..c49425654 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/Sketch.html @@ -0,0 +1,394 @@ + + + + +Uses of Class org.apache.datasketches.theta.Sketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.Sketch

+
+
Packages that use Sketch
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
+
+
    +
  • +
    +

    Uses of Sketch in org.apache.datasketches.theta

    + +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    class 
    + +
    +
    The parent class of all the CompactSketches.
    +
    +
    class 
    + +
    +
    The parent class for the Update Sketch families, such as QuickSelect and Alpha.
    +
    +
    +
    Methods in org.apache.datasketches.theta that return Sketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static Sketch
    +
    Sketch.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
    +
    +
    static Sketch
    +
    Sketch.heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    +
    +
    Heapify takes the sketch image in Memory and instantiates an on-heap Sketch.
    +
    +
    static Sketch
    +
    Sketches.heapifySketch(org.apache.datasketches.memory.Memory srcMem)
    + +
    static Sketch
    +
    Sketches.heapifySketch(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    + +
    static Sketch
    +
    Sketch.wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap takes the sketch image in the given Memory and refers to it directly.
    +
    +
    static Sketch
    +
    Sketch.wrap(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    +
    +
    Wrap takes the sketch image in the given Memory and refers to it directly.
    +
    +
    static Sketch
    +
    Sketches.wrapSketch(org.apache.datasketches.memory.Memory srcMem)
    + +
    static Sketch
    +
    Sketches.wrapSketch(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    + +
    +
    Methods in org.apache.datasketches.theta with parameters of type Sketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    AnotB.aNotB(Sketch skA, + Sketch skB)
    +
    +
    Perform A-and-not-B set operation on the two given sketches and return the result as an + ordered CompactSketch on the heap.
    +
    +
    abstract CompactSketch
    +
    AnotB.aNotB(Sketch skA, + Sketch skB, + boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Perform A-and-not-B set operation on the two given sketches and return the result as a + CompactSketch.
    +
    +
    static boolean
    +
    JaccardSimilarity.dissimilarityTest(Sketch measured, + Sketch expected, + double threshold)
    +
    +
    Tests dissimilarity of a measured Sketch against an expected Sketch.
    +
    +
    static boolean
    +
    JaccardSimilarity.exactlyEqual(Sketch sketchA, + Sketch sketchB)
    +
    +
    Returns true if the two given sketches have exactly the same hash values and the same + theta values.
    +
    +
    abstract void
    +
    Intersection.intersect(Sketch sketchIn)
    +
    +
    Intersect the given sketch with the internal state.
    +
    + +
    Intersection.intersect(Sketch a, + Sketch b)
    +
    +
    Perform intersect set operation on the two given sketch arguments and return the result as an + ordered CompactSketch on the heap.
    +
    +
    abstract CompactSketch
    +
    Intersection.intersect(Sketch a, + Sketch b, + boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Perform intersect set operation on the two given sketches and return the result as a + CompactSketch.
    +
    +
    static double[]
    +
    JaccardSimilarity.jaccard(Sketch sketchA, + Sketch sketchB)
    +
    +
    Computes the Jaccard similarity index with upper and lower bounds.
    +
    +
    abstract void
    +
    AnotB.notB(Sketch skB)
    +
    +
    This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + second (or n+1th) argument B of A-AND-NOT-B.
    +
    +
    abstract void
    +
    AnotB.setA(Sketch skA)
    +
    +
    This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + first argument A of A-AND-NOT-B.
    +
    +
    static boolean
    +
    JaccardSimilarity.similarityTest(Sketch measured, + Sketch expected, + double threshold)
    +
    +
    Tests similarity of a measured Sketch against an expected Sketch.
    +
    +
    abstract void
    +
    Union.union(Sketch sketchIn)
    +
    +
    Perform a Union operation with this union and the given on-heap sketch of the Theta Family.
    +
    + +
    Union.union(Sketch sketchA, + Sketch sketchB)
    +
    +
    This implements a stateless, pair-wise union operation.
    +
    +
    abstract CompactSketch
    +
    Union.union(Sketch sketchA, + Sketch sketchB, + boolean dstOrdered, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    This implements a stateless, pair-wise union operation.
    +
    +
    +
    +
  • +
  • +
    +

    Uses of Sketch in org.apache.datasketches.thetacommon

    +
    Methods in org.apache.datasketches.thetacommon with parameters of type Sketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(Sketch sketchA, + Sketch sketchB)
    +
    +
    Gets the estimate for B over A
    +
    +
    static <S extends Summary>
    double
    +
    BoundsOnRatiosInTupleSketchedSets.getEstimateOfBoverA(Sketch<S> sketchA, + Sketch sketchB)
    +
    +
    Gets the estimate for B over A
    +
    +
    static double
    +
    BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(Sketch sketchA, + Sketch sketchB)
    +
    +
    Gets the approximate lower bound for B over A based on a 95% confidence interval
    +
    +
    static <S extends Summary>
    double
    +
    BoundsOnRatiosInTupleSketchedSets.getLowerBoundForBoverA(Sketch<S> sketchA, + Sketch sketchB)
    +
    +
    Gets the approximate lower bound for B over A based on a 95% confidence interval
    +
    +
    static double
    +
    BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(Sketch sketchA, + Sketch sketchB)
    +
    +
    Gets the approximate upper bound for B over A based on a 95% confidence interval
    +
    +
    static <S extends Summary>
    double
    +
    BoundsOnRatiosInTupleSketchedSets.getUpperBoundForBoverA(Sketch<S> sketchA, + Sketch sketchB)
    +
    +
    Gets the approximate upper bound for B over A based on a 95% confidence interval
    +
    +
    +
    +
  • +
  • +
    +

    Uses of Sketch in org.apache.datasketches.tuple

    +
    Methods in org.apache.datasketches.tuple with parameters of type Sketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static <S extends Summary>
    CompactSketch<S>
    +
    AnotB.aNotB(Sketch<S> skA, + Sketch skB)
    +
    +
    Returns the A-and-not-B set operation on a Tuple sketch and a Theta sketch.
    +
    +
    static <S extends Summary>
    boolean
    +
    JaccardSimilarity.dissimilarityTest(Sketch<S> measured, + Sketch expected, + S summary, + SummarySetOperations<S> summarySetOps, + double threshold)
    +
    +
    Tests dissimilarity of a measured Sketch against an expected Sketch.
    +
    +
    static <S extends Summary>
    boolean
    +
    JaccardSimilarity.exactlyEqual(Sketch<S> sketchA, + Sketch sketchB, + S summary, + SummarySetOperations<S> summarySetOps)
    +
    +
    Returns true if the two given sketches have exactly the same hash values and the same + theta values.
    +
    +
    void
    +
    Intersection.intersect(Sketch thetaSketch, + S summary)
    +
    +
    Performs a stateful intersection of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary and rules + from the summarySetOps defined by the Intersection constructor.
    +
    + +
    Intersection.intersect(Sketch<S> tupleSketch, + Sketch thetaSketch, + S summary)
    +
    +
    Perform a stateless intersect set operation on a tuple sketch and a theta sketch and returns the + result as an unordered CompactSketch on the heap.
    +
    +
    static <S extends Summary>
    double[]
    +
    JaccardSimilarity.jaccard(Sketch<S> sketchA, + Sketch sketchB, + S summary, + SummarySetOperations<S> summarySetOps)
    +
    +
    Computes the Jaccard similarity index with upper and lower bounds.
    +
    +
    void
    +
    AnotB.notB(Sketch skB)
    +
    +
    This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + second (or n+1th) argument B of A-AND-NOT-B.
    +
    +
    static <S extends Summary>
    boolean
    +
    JaccardSimilarity.similarityTest(Sketch<S> measured, + Sketch expected, + S summary, + SummarySetOperations<S> summarySetOps, + double threshold)
    +
    +
    Tests similarity of a measured Sketch against an expected Sketch.
    +
    +
    void
    +
    Union.union(Sketch thetaSketch, + S summary)
    +
    +
    Performs a stateful union of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary.
    +
    + +
    Union.union(Sketch<S> tupleSketch, + Sketch thetaSketch, + S summary)
    +
    +
    Perform a stateless, pair-wise union operation between a tupleSketch and a thetaSketch.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/Sketches.html b/docs/621/merge/org/apache/datasketches/theta/class-use/Sketches.html new file mode 100644 index 000000000..692551b65 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/Sketches.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.theta.Sketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.Sketches

+
+No usage of org.apache.datasketches.theta.Sketches
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/Union.html b/docs/621/merge/org/apache/datasketches/theta/class-use/Union.html new file mode 100644 index 000000000..aeda45dd0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/Union.html @@ -0,0 +1,110 @@ + + + + +Uses of Class org.apache.datasketches.theta.Union (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.Union

+
+
Packages that use Union
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateReturnState.html b/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateReturnState.html new file mode 100644 index 000000000..c144b9c6a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateReturnState.html @@ -0,0 +1,139 @@ + + + + +Uses of Enum Class org.apache.datasketches.theta.UpdateReturnState (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.theta.UpdateReturnState

+
+
Packages that use UpdateReturnState
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketch.html b/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketch.html new file mode 100644 index 000000000..ebc347735 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketch.html @@ -0,0 +1,196 @@ + + + + +Uses of Class org.apache.datasketches.theta.UpdateSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.UpdateSketch

+
+
Packages that use UpdateSketch
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+
    +
  • +
    +

    Uses of UpdateSketch in org.apache.datasketches.theta

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    UpdateSketchBuilder.build()
    +
    +
    Returns an UpdateSketch with the current configuration of this Builder.
    +
    + +
    UpdateSketchBuilder.build(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns an UpdateSketch with the current configuration of this Builder + with the specified backing destination Memory store.
    +
    + +
    UpdateSketchBuilder.buildLocal(UpdateSketch shared)
    +
    +
    Returns a local, on-heap, concurrent UpdateSketch to be used as a per-thread local buffer + along with the given concurrent shared UpdateSketch and the current configuration of this + Builder.
    +
    + +
    UpdateSketchBuilder.buildShared()
    +
    +
    Returns an on-heap concurrent shared UpdateSketch with the current configuration of the + Builder.
    +
    + +
    UpdateSketchBuilder.buildShared(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current + configuration of the Builder and the given destination WritableMemory.
    +
    + +
    UpdateSketchBuilder.buildSharedFromSketch(UpdateSketch sketch, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current + configuration of the Builder, the data from the given sketch, and the given destination + WritableMemory.
    +
    + +
    UpdateSketch.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Instantiates an on-heap UpdateSketch from Memory.
    +
    + +
    UpdateSketch.heapify(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    +
    +
    Instantiates an on-heap UpdateSketch from Memory.
    +
    + +
    Sketches.heapifyUpdateSketch(org.apache.datasketches.memory.Memory srcMem)
    + + +
    Sketches.heapifyUpdateSketch(org.apache.datasketches.memory.Memory srcMem, + long expectedSeed)
    + +
    abstract UpdateSketch
    +
    UpdateSketch.rebuild()
    +
    +
    Rebuilds the hash table to remove dirty values or to reduce the size + to nominal entries.
    +
    + +
    UpdateSketch.wrap(org.apache.datasketches.memory.WritableMemory srcMem)
    +
    +
    Wrap takes the sketch image in Memory and refers to it directly.
    +
    + +
    UpdateSketch.wrap(org.apache.datasketches.memory.WritableMemory srcMem, + long expectedSeed)
    +
    +
    Wrap takes the sketch image in Memory and refers to it directly.
    +
    + +
    Sketches.wrapUpdateSketch(org.apache.datasketches.memory.WritableMemory srcMem)
    + + +
    Sketches.wrapUpdateSketch(org.apache.datasketches.memory.WritableMemory srcMem, + long expectedSeed)
    + +
    +
    Methods in org.apache.datasketches.theta with parameters of type UpdateSketch
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    UpdateSketchBuilder.buildLocal(UpdateSketch shared)
    +
    +
    Returns a local, on-heap, concurrent UpdateSketch to be used as a per-thread local buffer + along with the given concurrent shared UpdateSketch and the current configuration of this + Builder.
    +
    + +
    UpdateSketchBuilder.buildSharedFromSketch(UpdateSketch sketch, + org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns a direct (potentially off-heap) concurrent shared UpdateSketch with the current + configuration of the Builder, the data from the given sketch, and the given destination + WritableMemory.
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketchBuilder.html b/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketchBuilder.html new file mode 100644 index 000000000..88fb818b1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/class-use/UpdateSketchBuilder.html @@ -0,0 +1,148 @@ + + + + +Uses of Class org.apache.datasketches.theta.UpdateSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.theta.UpdateSketchBuilder

+
+
Packages that use UpdateSketchBuilder
+
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/package-summary.html b/docs/621/merge/org/apache/datasketches/theta/package-summary.html new file mode 100644 index 000000000..15feb74fb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/package-summary.html @@ -0,0 +1,168 @@ + + + + +org.apache.datasketches.theta (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.theta

+
+
+
package org.apache.datasketches.theta
+
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework. + +

There is a separate Tuple package for many of the sketches that are derived from the + same algorithms defined in the Theta Sketch Framework paper.

+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    Computes a set difference, A-AND-NOT-B, of two theta sketches.
    +
    + +
    +
    Used as part of Theta compression.
    +
    + +
    +
    The parent class of all the CompactSketches.
    +
    + +
    +
    This is used to iterate over the retained hash values of the Theta sketch.
    +
    + +
    +
    The API for intersection operations
    +
    + +
    +
    Jaccard similarity of two Theta Sketches.
    +
    + +
    +
    The parent API for all Set Operations
    +
    + +
    +
    For building a new SetOperation.
    +
    + +
    +
    The top-level class for all theta sketches.
    +
    + +
    +
    This class brings together the common sketch and set operation creation methods and + the public static methods into one place.
    +
    + +
    +
    Compute the union of two or more theta sketches.
    +
    + + + +
    +
    The parent class for the Update Sketch families, such as QuickSelect and Alpha.
    +
    + +
    +
    For building a new UpdateSketch.
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/package-tree.html b/docs/621/merge/org/apache/datasketches/theta/package-tree.html new file mode 100644 index 000000000..b1824bccb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/package-tree.html @@ -0,0 +1,113 @@ + + + + +org.apache.datasketches.theta Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.theta

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/theta/package-use.html b/docs/621/merge/org/apache/datasketches/theta/package-use.html new file mode 100644 index 000000000..7dc27c1de --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/theta/package-use.html @@ -0,0 +1,166 @@ + + + + +Uses of Package org.apache.datasketches.theta (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.theta

+
+ +
+
Package
+
Description
+ +
+
The theta package contains the basic sketch classes that are members of the + Theta Sketch Framework.
+
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/BinomialBoundsN.html b/docs/621/merge/org/apache/datasketches/thetacommon/BinomialBoundsN.html new file mode 100644 index 000000000..679234626 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/BinomialBoundsN.html @@ -0,0 +1,197 @@ + + + + +BinomialBoundsN (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BinomialBoundsN

+
+
java.lang.Object +
org.apache.datasketches.thetacommon.BinomialBoundsN
+
+
+
+
public final class BinomialBoundsN +extends Object
+
This class enables the estimation of error bounds given a sample set size, the sampling + probability theta, the number of standard deviations and a simple noDataSeen flag. This can + be used to estimate error bounds for fixed threshold sampling as well as the error bounds + calculations for sketches.
+
+
Author:
+
Kevin Lang
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    getLowerBound(long numSamples, + double theta, + int numSDev, + boolean noDataSeen)
    +
    +
    Returns the approximate lower bound value
    +
    +
    static double
    +
    getUpperBound(long numSamples, + double theta, + int numSDev, + boolean noDataSeen)
    +
    +
    Returns the approximate upper bound value
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getLowerBound

      +
      public static double getLowerBound(long numSamples, + double theta, + int numSDev, + boolean noDataSeen)
      +
      Returns the approximate lower bound value
      +
      +
      Parameters:
      +
      numSamples - the number of samples in the sample set
      +
      theta - the sampling probability
      +
      numSDev - the number of "standard deviations" from the mean for the tail bounds. + This must be an integer value of 1, 2 or 3.
      +
      noDataSeen - this is normally false. However, in the case where you have zero samples + and a theta < 1.0, this flag enables the distinction between a virgin case when no actual + data has been seen and the case where the estimate may be zero but an upper error bound may + still exist.
      +
      Returns:
      +
      the approximate lower bound value
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public static double getUpperBound(long numSamples, + double theta, + int numSDev, + boolean noDataSeen)
      +
      Returns the approximate upper bound value
      +
      +
      Parameters:
      +
      numSamples - the number of samples in the sample set
      +
      theta - the sampling probability
      +
      numSDev - the number of "standard deviations" from the mean for the tail bounds. + This must be an integer value of 1, 2 or 3.
      +
      noDataSeen - this is normally false. However, in the case where you have zero samples + and a theta < 1.0, this flag enables the distinction between a virgin case when no actual + data has been seen and the case where the estimate may be zero but an upper error bound may + still exist.
      +
      Returns:
      +
      the approximate upper bound value
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInThetaSketchedSets.html b/docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInThetaSketchedSets.html new file mode 100644 index 000000000..cb328f995 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInThetaSketchedSets.html @@ -0,0 +1,210 @@ + + + + +BoundsOnRatiosInThetaSketchedSets (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BoundsOnRatiosInThetaSketchedSets

+
+
java.lang.Object +
org.apache.datasketches.thetacommon.BoundsOnRatiosInThetaSketchedSets
+
+
+
+
public final class BoundsOnRatiosInThetaSketchedSets +extends Object
+
This class is used to compute the bounds on the estimate of the ratio B / A, where: +
    +
  • A is a Theta Sketch of population PopA.
  • +
  • B is a Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Theta Sketch C, + which acts like a predicate or selection clause.
  • +
  • The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B).
  • +
  • The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B).
  • +
  • The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B).
  • +
+ Note: The theta of A cannot be greater than the theta of B. + If B is formed as an intersection of A and some other set C, + then the theta of B is guaranteed to be less than or equal to the theta of B.
+
+
Author:
+
Kevin Lang, Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getLowerBoundForBoverA

      +
      public static double getLowerBoundForBoverA(Sketch sketchA, + Sketch sketchB)
      +
      Gets the approximate lower bound for B over A based on a 95% confidence interval
      +
      +
      Parameters:
      +
      sketchA - the sketch A
      +
      sketchB - the sketch B
      +
      Returns:
      +
      the approximate lower bound for B over A
      +
      +
      +
    • +
    • +
      +

      getUpperBoundForBoverA

      +
      public static double getUpperBoundForBoverA(Sketch sketchA, + Sketch sketchB)
      +
      Gets the approximate upper bound for B over A based on a 95% confidence interval
      +
      +
      Parameters:
      +
      sketchA - the sketch A
      +
      sketchB - the sketch B
      +
      Returns:
      +
      the approximate upper bound for B over A
      +
      +
      +
    • +
    • +
      +

      getEstimateOfBoverA

      +
      public static double getEstimateOfBoverA(Sketch sketchA, + Sketch sketchB)
      +
      Gets the estimate for B over A
      +
      +
      Parameters:
      +
      sketchA - the sketch A
      +
      sketchB - the sketch B
      +
      Returns:
      +
      the estimate for B over A
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInTupleSketchedSets.html b/docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInTupleSketchedSets.html new file mode 100644 index 000000000..6fde97eb2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/BoundsOnRatiosInTupleSketchedSets.html @@ -0,0 +1,285 @@ + + + + +BoundsOnRatiosInTupleSketchedSets (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BoundsOnRatiosInTupleSketchedSets

+
+
java.lang.Object +
org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+
+
+
+
public final class BoundsOnRatiosInTupleSketchedSets +extends Object
+
This class is used to compute the bounds on the estimate of the ratio B / A, where: +
    +
  • A is a Tuple Sketch of population PopA.
  • +
  • B is a Tuple or Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Tuple or Theta Sketch C, + which acts like a predicate or selection clause.
  • +
  • The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B).
  • +
  • The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B).
  • +
  • The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B).
  • +
+ Note: The theta of A cannot be greater than the theta of B. + If B is formed as an intersection of A and some other set C, + then the theta of B is guaranteed to be less than or equal to the theta of B.
+
+
Author:
+
Kevin Lang, Lee Rhodes, David Cromberge
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getLowerBoundForBoverA

      +
      public static <S extends Summary> double getLowerBoundForBoverA(Sketch<S> sketchA, + Sketch<S> sketchB)
      +
      Gets the approximate lower bound for B over A based on a 95% confidence interval
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - the Tuple sketch A with summary type S
      +
      sketchB - the Tuple sketch B with summary type S
      +
      Returns:
      +
      the approximate lower bound for B over A
      +
      +
      +
    • +
    • +
      +

      getLowerBoundForBoverA

      +
      public static <S extends Summary> double getLowerBoundForBoverA(Sketch<S> sketchA, + Sketch sketchB)
      +
      Gets the approximate lower bound for B over A based on a 95% confidence interval
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - the Tuple sketch A with summary type S
      +
      sketchB - the Theta sketch B
      +
      Returns:
      +
      the approximate lower bound for B over A
      +
      +
      +
    • +
    • +
      +

      getUpperBoundForBoverA

      +
      public static <S extends Summary> double getUpperBoundForBoverA(Sketch<S> sketchA, + Sketch<S> sketchB)
      +
      Gets the approximate upper bound for B over A based on a 95% confidence interval
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - the Tuple sketch A with summary type S
      +
      sketchB - the Tuple sketch B with summary type S
      +
      Returns:
      +
      the approximate upper bound for B over A
      +
      +
      +
    • +
    • +
      +

      getUpperBoundForBoverA

      +
      public static <S extends Summary> double getUpperBoundForBoverA(Sketch<S> sketchA, + Sketch sketchB)
      +
      Gets the approximate upper bound for B over A based on a 95% confidence interval
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - the Tuple sketch A with summary type S
      +
      sketchB - the Theta sketch B
      +
      Returns:
      +
      the approximate upper bound for B over A
      +
      +
      +
    • +
    • +
      +

      getEstimateOfBoverA

      +
      public static <S extends Summary> double getEstimateOfBoverA(Sketch<S> sketchA, + Sketch<S> sketchB)
      +
      Gets the estimate for B over A
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - the Tuple sketch A with summary type S
      +
      sketchB - the Tuple sketch B with summary type S
      +
      Returns:
      +
      the estimate for B over A
      +
      +
      +
    • +
    • +
      +

      getEstimateOfBoverA

      +
      public static <S extends Summary> double getEstimateOfBoverA(Sketch<S> sketchA, + Sketch sketchB)
      +
      Gets the estimate for B over A
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - the Tuple sketch A with summary type S
      +
      sketchB - the Theta sketch B
      +
      Returns:
      +
      the estimate for B over A
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/HashOperations.html b/docs/621/merge/org/apache/datasketches/thetacommon/HashOperations.html new file mode 100644 index 000000000..bb228c7b7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/HashOperations.html @@ -0,0 +1,534 @@ + + + + +HashOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HashOperations

+
+
java.lang.Object +
org.apache.datasketches.thetacommon.HashOperations
+
+
+
+
public final class HashOperations +extends Object
+
Helper class for the common hash table methods.
+
+
Author:
+
Lee Rhodes, Kevin Lang
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final int
    + +
    +
    The stride mask for the Open Address, Double Hashing (OADH) hash table algorithm.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    + +
     
    +
    static void
    +
    checkThetaCorruption(long thetaLong)
    +
     
    +
    static boolean
    +
    continueCondition(long thetaLong, + long hash)
    +
    +
    Return true (continue) if hash is greater than or equal to thetaLong, or if hash == 0, + or if hash == Long.MAX_VALUE.
    +
    +
    static long[]
    +
    convertToHashTable(long[] hashArr, + int count, + long thetaLong, + double rebuildThreshold)
    +
    +
    Converts the given array to a hash table.
    +
    +
    static int
    +
    count(long[] srcArr, + long thetaLong)
    +
    +
    Counts the cardinality of the given source array.
    +
    +
    static int
    +
    countPart(long[] srcArr, + int lgArrLongs, + long thetaLong)
    +
    +
    Counts the cardinality of the first Log2 values of the given source array.
    +
    +
    static int
    +
    hashArrayInsert(long[] srcArr, + long[] hashTable, + int lgArrLongs, + long thetaLong)
    +
    +
    Inserts the given long array into the given OADH hashTable of the target size, + ignores duplicates and counts the values inserted.
    +
    +
    static int
    +
    hashInsertOnly(long[] hashTable, + int lgArrLongs, + long hash)
    +
    +
    This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap.
    +
    +
    static int
    +
    hashInsertOnlyMemory(org.apache.datasketches.memory.WritableMemory wmem, + int lgArrLongs, + long hash, + int memOffsetBytes)
    +
    +
    This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for Memory.
    +
    +
    static int
    +
    hashSearch(long[] hashTable, + int lgArrLongs, + long hash)
    +
    +
    This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for on-heap.
    +
    +
    static int
    +
    hashSearchMemory(org.apache.datasketches.memory.Memory mem, + int lgArrLongs, + long hash, + int memOffsetBytes)
    +
    +
    This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for Memory.
    +
    +
    static int
    +
    hashSearchOrInsert(long[] hashTable, + int lgArrLongs, + long hash)
    +
    +
    This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap.
    +
    +
    static int
    +
    hashSearchOrInsertMemory(org.apache.datasketches.memory.WritableMemory wmem, + int lgArrLongs, + long hash, + int memOffsetBytes)
    +
    +
    This is a classical Knuth-style Open Addressing, Double Hash insert scheme, but inserts + values directly into a Memory.
    +
    +
    static int
    +
    minLgHashTableSize(int count, + double rebuild_threshold)
    +
    +
    Returns the smallest log hash table size given the count of items and the rebuild threshold.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      STRIDE_MASK

      +
      public static final int STRIDE_MASK
      +
      The stride mask for the Open Address, Double Hashing (OADH) hash table algorithm.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      hashSearch

      +
      public static int hashSearch(long[] hashTable, + int lgArrLongs, + long hash)
      +
      This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for on-heap. + Returns the index if found, -1 if not found.
      +
      +
      Parameters:
      +
      hashTable - The hash table to search. Its size must be a power of 2.
      +
      lgArrLongs - The log_base2(hashTable.length). + See lgArrLongs.
      +
      hash - The hash value to search for. It must not be zero.
      +
      Returns:
      +
      Current probe index if found, -1 if not found.
      +
      +
      +
    • +
    • +
      +

      hashInsertOnly

      +
      public static int hashInsertOnly(long[] hashTable, + int lgArrLongs, + long hash)
      +
      This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap. + This method assumes that the input hash is not a duplicate. + Useful for rebuilding tables to avoid unnecessary comparisons. + Returns the index of insertion, which is always positive or zero. + Throws an exception if the table has no empty slot.
      +
      +
      Parameters:
      +
      hashTable - the hash table to insert into. Its size must be a power of 2.
      +
      lgArrLongs - The log_base2(hashTable.length). + See lgArrLongs.
      +
      hash - The hash value to be potentially inserted into an empty slot. It must not be zero.
      +
      Returns:
      +
      index of insertion. Always positive or zero.
      +
      +
      +
    • +
    • +
      +

      hashSearchOrInsert

      +
      public static int hashSearchOrInsert(long[] hashTable, + int lgArrLongs, + long hash)
      +
      This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for on-heap. + Returns index ≥ 0 if found (duplicate); < 0 if inserted, inserted at -(index + 1). + Throws an exception if the value is not found and table has no empty slot.
      +
      +
      Parameters:
      +
      hashTable - The hash table to insert into. Its size must be a power of 2.
      +
      lgArrLongs - The log_base2(hashTable.length). + See lgArrLongs.
      +
      hash - The hash value to be potentially inserted into an empty slot only if it is not + a duplicate of any other hash value in the table. It must not be zero.
      +
      Returns:
      +
      index ≥ 0 if found (duplicate); < 0 if inserted, inserted at -(index + 1).
      +
      +
      +
    • +
    • +
      +

      hashArrayInsert

      +
      public static int hashArrayInsert(long[] srcArr, + long[] hashTable, + int lgArrLongs, + long thetaLong)
      +
      Inserts the given long array into the given OADH hashTable of the target size, + ignores duplicates and counts the values inserted. + The hash values must not be negative, zero values and values ≥ thetaLong are ignored. + The given hash table may have values, but they must have been inserted by this method or one + of the other OADH insert methods in this class. + This method performs additional checks against potentially invalid hash values or theta values. + Returns the count of values actually inserted.
      +
      +
      Parameters:
      +
      srcArr - the source hash array to be potentially inserted
      +
      hashTable - The hash table to insert into. Its size must be a power of 2.
      +
      lgArrLongs - The log_base2(hashTable.length). + See lgArrLongs.
      +
      thetaLong - The theta value that all input hash values are compared against. + It must greater than zero. + See Theta Long
      +
      Returns:
      +
      the count of values actually inserted
      +
      +
      +
    • +
    • +
      +

      hashSearchMemory

      +
      public static int hashSearchMemory(org.apache.datasketches.memory.Memory mem, + int lgArrLongs, + long hash, + int memOffsetBytes)
      +
      This is a classical Knuth-style Open Addressing, Double Hash (OADH) search scheme for Memory. + Returns the index if found, -1 if not found.
      +
      +
      Parameters:
      +
      mem - The Memory containing the hash table to search. + The hash table portion must be a power of 2 in size.
      +
      lgArrLongs - The log_base2(hashTable.length). + See lgArrLongs.
      +
      hash - The hash value to search for. Must not be zero.
      +
      memOffsetBytes - offset in the memory where the hashTable starts
      +
      Returns:
      +
      Current probe index if found, -1 if not found.
      +
      +
      +
    • +
    • +
      +

      hashInsertOnlyMemory

      +
      public static int hashInsertOnlyMemory(org.apache.datasketches.memory.WritableMemory wmem, + int lgArrLongs, + long hash, + int memOffsetBytes)
      +
      This is a classical Knuth-style Open Addressing, Double Hash (OADH) insert scheme for Memory. + This method assumes that the input hash is not a duplicate. + Useful for rebuilding tables to avoid unnecessary comparisons. + Returns the index of insertion, which is always positive or zero. + Throws an exception if table has no empty slot.
      +
      +
      Parameters:
      +
      wmem - The WritableMemory that contains the hashTable to insert into. + The size of the hashTable portion must be a power of 2.
      +
      lgArrLongs - The log_base2(hashTable.length. + See lgArrLongs.
      +
      hash - value that must not be zero and will be inserted into the array into an empty slot.
      +
      memOffsetBytes - offset in the WritableMemory where the hashTable starts
      +
      Returns:
      +
      index of insertion. Always positive or zero.
      +
      +
      +
    • +
    • +
      +

      hashSearchOrInsertMemory

      +
      public static int hashSearchOrInsertMemory(org.apache.datasketches.memory.WritableMemory wmem, + int lgArrLongs, + long hash, + int memOffsetBytes)
      +
      This is a classical Knuth-style Open Addressing, Double Hash insert scheme, but inserts + values directly into a Memory. + Returns index ≥ 0 if found (duplicate); < 0 if inserted, inserted at -(index + 1). + Throws an exception if the value is not found and table has no empty slot.
      +
      +
      Parameters:
      +
      wmem - The WritableMemory that contains the hashTable to insert into.
      +
      lgArrLongs - The log_base2(hashTable.length). + See lgArrLongs.
      +
      hash - The hash value to be potentially inserted into an empty slot only if it is not + a duplicate of any other hash value in the table. It must not be zero.
      +
      memOffsetBytes - offset in the WritableMemory where the hash array starts
      +
      Returns:
      +
      index ≥ 0 if found (duplicate); < 0 if inserted, inserted at -(index + 1).
      +
      +
      +
    • +
    • +
      +

      checkThetaCorruption

      +
      public static void checkThetaCorruption(long thetaLong)
      +
      +
      Parameters:
      +
      thetaLong - must be greater than zero otherwise throws an exception. + See Theta Long
      +
      +
      +
    • +
    • +
      +

      checkHashCorruption

      +
      public static void checkHashCorruption(long hash)
      +
      +
      Parameters:
      +
      hash - must be greater than -1 otherwise throws an exception. + Note a hash of zero is normally ignored, but a negative hash is never allowed.
      +
      +
      +
    • +
    • +
      +

      continueCondition

      +
      public static boolean continueCondition(long thetaLong, + long hash)
      +
      Return true (continue) if hash is greater than or equal to thetaLong, or if hash == 0, + or if hash == Long.MAX_VALUE.
      +
      +
      Parameters:
      +
      thetaLong - must be greater than the hash value + See Theta Long
      +
      hash - must be less than thetaLong and not less than or equal to zero.
      +
      Returns:
      +
      true (continue) if hash is greater than or equal to thetaLong, or if hash == 0, + or if hash == Long.MAX_VALUE.
      +
      +
      +
    • +
    • +
      +

      convertToHashTable

      +
      public static long[] convertToHashTable(long[] hashArr, + int count, + long thetaLong, + double rebuildThreshold)
      +
      Converts the given array to a hash table.
      +
      +
      Parameters:
      +
      hashArr - The given array of hashes. Gaps are OK.
      +
      count - The number of valid hashes in the array
      +
      thetaLong - Any hashes equal to or greater than thetaLong will be ignored
      +
      rebuildThreshold - The fill fraction for the hash table forcing a rebuild or resize.
      +
      Returns:
      +
      a HashTable
      +
      +
      +
    • +
    • +
      +

      minLgHashTableSize

      +
      public static int minLgHashTableSize(int count, + double rebuild_threshold)
      +
      Returns the smallest log hash table size given the count of items and the rebuild threshold.
      +
      +
      Parameters:
      +
      count - the given count of items
      +
      rebuild_threshold - the rebuild threshold as a fraction between zero and one.
      +
      Returns:
      +
      the smallest log hash table size
      +
      +
      +
    • +
    • +
      +

      countPart

      +
      public static int countPart(long[] srcArr, + int lgArrLongs, + long thetaLong)
      +
      Counts the cardinality of the first Log2 values of the given source array.
      +
      +
      Parameters:
      +
      srcArr - the given source array
      +
      lgArrLongs - See lgArrLongs
      +
      thetaLong - See Theta Long
      +
      Returns:
      +
      the cardinality
      +
      +
      +
    • +
    • +
      +

      count

      +
      public static int count(long[] srcArr, + long thetaLong)
      +
      Counts the cardinality of the given source array.
      +
      +
      Parameters:
      +
      srcArr - the given source array
      +
      thetaLong - See Theta Long
      +
      Returns:
      +
      the cardinality
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/QuickSelect.html b/docs/621/merge/org/apache/datasketches/thetacommon/QuickSelect.html new file mode 100644 index 000000000..ec6a8c043 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/QuickSelect.html @@ -0,0 +1,303 @@ + + + + +QuickSelect (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class QuickSelect

+
+
java.lang.Object +
org.apache.datasketches.thetacommon.QuickSelect
+
+
+
+
public final class QuickSelect +extends Object
+
QuickSelect algorithm improved from Sedgewick. Gets the kth order value + (1-based or 0-based) from the array. + Warning! This changes the ordering of elements in the given array!
+ Also see:
+ blog.teamleadnet.com/2012/07/quick-select-algorithm-find-kth-element.html
+ See QuickSelectTest for examples and testNG tests.
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static double
    +
    select(double[] arr, + int lo, + int hi, + int pivot)
    +
    +
    Gets the 0-based kth order statistic from the array.
    +
    +
    static long
    +
    select(long[] arr, + int lo, + int hi, + int pivot)
    +
    +
    Gets the 0-based kth order statistic from the array.
    +
    +
    static double
    +
    selectExcludingZeros(double[] arr, + int nonZeros, + int pivot)
    +
    +
    Gets the 1-based kth order statistic from the array excluding any zero values in the + array.
    +
    +
    static long
    +
    selectExcludingZeros(long[] arr, + int nonZeros, + int pivot)
    +
    +
    Gets the 1-based kth order statistic from the array excluding any zero values in the + array.
    +
    +
    static double
    +
    selectIncludingZeros(double[] arr, + int pivot)
    +
    +
    Gets the 1-based kth order statistic from the array including any zero values in the + array.
    +
    +
    static long
    +
    selectIncludingZeros(long[] arr, + int pivot)
    +
    +
    Gets the 1-based kth order statistic from the array including any zero values in the + array.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      select

      +
      public static long select(long[] arr, + int lo, + int hi, + int pivot)
      +
      Gets the 0-based kth order statistic from the array. Warning! This changes the ordering + of elements in the given array!
      +
      +
      Parameters:
      +
      arr - The array to be re-arranged.
      +
      lo - The lowest 0-based index to be considered.
      +
      hi - The highest 0-based index to be considered.
      +
      pivot - The 0-based index of the value to pivot on.
      +
      Returns:
      +
      The value of the smallest (n)th element where n is 0-based.
      +
      +
      +
    • +
    • +
      +

      selectIncludingZeros

      +
      public static long selectIncludingZeros(long[] arr, + int pivot)
      +
      Gets the 1-based kth order statistic from the array including any zero values in the + array. Warning! This changes the ordering of elements in the given array!
      +
      +
      Parameters:
      +
      arr - The hash array.
      +
      pivot - The 1-based index of the value that is chosen as the pivot for the array. + After the operation all values below this 1-based index will be less than this value + and all values above this index will be greater. The 0-based index of the pivot will be + pivot-1.
      +
      Returns:
      +
      The value of the smallest (N)th element including zeros, where N is 1-based.
      +
      +
      +
    • +
    • +
      +

      selectExcludingZeros

      +
      public static long selectExcludingZeros(long[] arr, + int nonZeros, + int pivot)
      +
      Gets the 1-based kth order statistic from the array excluding any zero values in the + array. Warning! This changes the ordering of elements in the given array!
      +
      +
      Parameters:
      +
      arr - The hash array.
      +
      nonZeros - The number of non-zero values in the array.
      +
      pivot - The 1-based index of the value that is chosen as the pivot for the array. + After the operation all values below this 1-based index will be less than this value + and all values above this index will be greater. The 0-based index of the pivot will be + pivot+arr.length-nonZeros-1.
      +
      Returns:
      +
      The value of the smallest (N)th element excluding zeros, where N is 1-based.
      +
      +
      +
    • +
    • +
      +

      select

      +
      public static double select(double[] arr, + int lo, + int hi, + int pivot)
      +
      Gets the 0-based kth order statistic from the array. Warning! This changes the ordering + of elements in the given array!
      +
      +
      Parameters:
      +
      arr - The array to be re-arranged.
      +
      lo - The lowest 0-based index to be considered.
      +
      hi - The highest 0-based index to be considered.
      +
      pivot - The 0-based smallest value to pivot on.
      +
      Returns:
      +
      The value of the smallest (n)th element where n is 0-based.
      +
      +
      +
    • +
    • +
      +

      selectIncludingZeros

      +
      public static double selectIncludingZeros(double[] arr, + int pivot)
      +
      Gets the 1-based kth order statistic from the array including any zero values in the + array. Warning! This changes the ordering of elements in the given array!
      +
      +
      Parameters:
      +
      arr - The hash array.
      +
      pivot - The 1-based index of the value that is chosen as the pivot for the array. + After the operation all values below this 1-based index will be less than this value + and all values above this index will be greater. The 0-based index of the pivot will be + pivot-1.
      +
      Returns:
      +
      The value of the smallest (N)th element including zeros, where N is 1-based.
      +
      +
      +
    • +
    • +
      +

      selectExcludingZeros

      +
      public static double selectExcludingZeros(double[] arr, + int nonZeros, + int pivot)
      +
      Gets the 1-based kth order statistic from the array excluding any zero values in the + array. Warning! This changes the ordering of elements in the given array!
      +
      +
      Parameters:
      +
      arr - The hash array.
      +
      nonZeros - The number of non-zero values in the array.
      +
      pivot - The 1-based index of the value that is chosen as the pivot for the array. + After the operation all values below this 1-based index will be less than this value + and all values above this index will be greater. The 0-based index of the pivot will be + pivot+arr.length-nonZeros-1.
      +
      Returns:
      +
      The value of the smallest (N)th element excluding zeros, where N is 1-based.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.AnotbAction.html b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.AnotbAction.html new file mode 100644 index 000000000..6ead94612 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.AnotbAction.html @@ -0,0 +1,309 @@ + + + + +SetOperationCornerCases.AnotbAction (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class SetOperationCornerCases.AnotbAction

+
+
java.lang.Object +
java.lang.Enum<SetOperationCornerCases.AnotbAction> +
org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SetOperationCornerCases.AnotbAction>, Constable
+
+
+
Enclosing class:
+
SetOperationCornerCases
+
+
+
public static enum SetOperationCornerCases.AnotbAction +extends Enum<SetOperationCornerCases.AnotbAction>
+
A not B actions
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static SetOperationCornerCases.AnotbAction[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static SetOperationCornerCases.AnotbAction valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getActionId

      +
      public String getActionId()
      +
      Gets the Action ID
      +
      +
      Returns:
      +
      the actionId
      +
      +
      +
    • +
    • +
      +

      getActionDescription

      +
      public String getActionDescription()
      +
      Gets the action description
      +
      +
      Returns:
      +
      the action description
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.CornerCase.html b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.CornerCase.html new file mode 100644 index 000000000..718386bb1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.CornerCase.html @@ -0,0 +1,485 @@ + + + + +SetOperationCornerCases.CornerCase (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class SetOperationCornerCases.CornerCase

+
+
java.lang.Object +
java.lang.Enum<SetOperationCornerCases.CornerCase> +
org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SetOperationCornerCases.CornerCase>, Constable
+
+
+
Enclosing class:
+
SetOperationCornerCases
+
+
+
public static enum SetOperationCornerCases.CornerCase +extends Enum<SetOperationCornerCases.CornerCase>
+
List of corner cases
+
+
+ +
+
+ +
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.IntersectAction.html b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.IntersectAction.html new file mode 100644 index 000000000..eb373e8d7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.IntersectAction.html @@ -0,0 +1,276 @@ + + + + +SetOperationCornerCases.IntersectAction (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class SetOperationCornerCases.IntersectAction

+
+
java.lang.Object +
java.lang.Enum<SetOperationCornerCases.IntersectAction> +
org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SetOperationCornerCases.IntersectAction>, Constable
+
+
+
Enclosing class:
+
SetOperationCornerCases
+
+
+
public static enum SetOperationCornerCases.IntersectAction +extends Enum<SetOperationCornerCases.IntersectAction>
+
Intersection actions
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static SetOperationCornerCases.IntersectAction[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static SetOperationCornerCases.IntersectAction valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      getActionId

      +
      public String getActionId()
      +
      Gets the Action ID
      +
      +
      Returns:
      +
      the actionId
      +
      +
      +
    • +
    • +
      +

      getActionDescription

      +
      public String getActionDescription()
      +
      Gets the Action Description
      +
      +
      Returns:
      +
      the actionDescription
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.UnionAction.html b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.UnionAction.html new file mode 100644 index 000000000..83873d161 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.UnionAction.html @@ -0,0 +1,342 @@ + + + + +SetOperationCornerCases.UnionAction (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class SetOperationCornerCases.UnionAction

+
+
java.lang.Object +
java.lang.Enum<SetOperationCornerCases.UnionAction> +
org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SetOperationCornerCases.UnionAction>, Constable
+
+
+
Enclosing class:
+
SetOperationCornerCases
+
+
+
public static enum SetOperationCornerCases.UnionAction +extends Enum<SetOperationCornerCases.UnionAction>
+
List of union actions
+
+
+ +
+
+ +
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.html b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.html new file mode 100644 index 000000000..f1c5f9994 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/SetOperationCornerCases.html @@ -0,0 +1,248 @@ + + + + +SetOperationCornerCases (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SetOperationCornerCases

+
+
java.lang.Object +
org.apache.datasketches.thetacommon.SetOperationCornerCases
+
+
+
+
public class SetOperationCornerCases +extends Object
+
Simplifies and speeds up set operations by resolving specific corner cases.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SetOperationCornerCases

      +
      public SetOperationCornerCases()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createCornerCaseId

      +
      public static int createCornerCaseId(long thetaLongA, + int countA, + boolean emptyA, + long thetaLongB, + int countB, + boolean emptyB)
      +
      Creates the CornerCase ID
      +
      +
      Parameters:
      +
      thetaLongA - the theta of A as a long
      +
      countA - the count of A
      +
      emptyA - true if A is empty
      +
      thetaLongB - the theta of B as a long
      +
      countB - the count of B
      +
      emptyB - true if B is empty
      +
      Returns:
      +
      the Corner Case ID
      +
      +
      +
    • +
    • +
      +

      sketchStateId

      +
      public static int sketchStateId(boolean isEmpty, + int numRetained, + long thetaLong)
      +
      Returns the sketch state ID
      +
      +
      Parameters:
      +
      isEmpty - true if empty
      +
      numRetained - the number of items retained
      +
      thetaLong - the value of theta as a long
      +
      Returns:
      +
      the sketch state ID
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/ThetaUtil.html b/docs/621/merge/org/apache/datasketches/thetacommon/ThetaUtil.html new file mode 100644 index 000000000..b48135233 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/ThetaUtil.html @@ -0,0 +1,404 @@ + + + + +ThetaUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ThetaUtil

+
+
java.lang.Object +
org.apache.datasketches.thetacommon.ThetaUtil
+
+
+
+
public final class ThetaUtil +extends Object
+
Utility methods for the Theta Family of sketches
+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    static final int
    + +
    +
    The default nominal entries is provided as a convenience for those cases where the + nominal sketch size in number of entries is not provided.
    +
    +
    static final long
    + +
    +
    The seed 9001 used in the sketch update methods is a prime number that + was chosen very early on in experimental testing.
    +
    +
    static final int
    + +
    +
    The largest Log2 nom entries allowed: 26.
    +
    +
    static final int
    + +
    +
    The smallest Log2 cache size allowed: 5.
    +
    +
    static final int
    + +
    +
    The smallest Log2 nom entries allowed: 4.
    +
    +
    static final double
    + +
    +
    The hash table rebuild threshold = 15.0/16.0.
    +
    +
    static final double
    + +
    +
    The resize threshold = 0.5; tuned for speed.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static int
    +
    checkNomLongs(int nomLongs)
    +
    +
    Checks that the given nomLongs is within bounds and returns the Log2 of the ceiling power of 2 + of the given nomLongs.
    +
    +
    static short
    +
    checkSeedHashes(short seedHashA, + short seedHashB)
    +
    +
    Check if the two seed hashes are equal.
    +
    +
    static short
    +
    computeSeedHash(long seed)
    +
    +
    Computes and checks the 16-bit seed hash from the given long seed.
    +
    +
    static int
    +
    startingSubMultiple(int lgTarget, + int lgRF, + int lgMin)
    +
    +
    Gets the smallest allowed exponent of 2 that it is a sub-multiple of the target by zero, + one or more resize factors.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      MIN_LG_NOM_LONGS

      +
      public static final int MIN_LG_NOM_LONGS
      +
      The smallest Log2 nom entries allowed: 4.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      MAX_LG_NOM_LONGS

      +
      public static final int MAX_LG_NOM_LONGS
      +
      The largest Log2 nom entries allowed: 26.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      REBUILD_THRESHOLD

      +
      public static final double REBUILD_THRESHOLD
      +
      The hash table rebuild threshold = 15.0/16.0.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      RESIZE_THRESHOLD

      +
      public static final double RESIZE_THRESHOLD
      +
      The resize threshold = 0.5; tuned for speed.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      DEFAULT_NOMINAL_ENTRIES

      +
      public static final int DEFAULT_NOMINAL_ENTRIES
      +
      The default nominal entries is provided as a convenience for those cases where the + nominal sketch size in number of entries is not provided. + A sketch of 4096 entries has a Relative Standard Error (RSE) of +/- 1.56% at a confidence of + 68%; or equivalently, a Relative Error of +/- 3.1% at a confidence of 95.4%. + See Default Nominal Entries
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      DEFAULT_UPDATE_SEED

      +
      public static final long DEFAULT_UPDATE_SEED
      +
      The seed 9001 used in the sketch update methods is a prime number that + was chosen very early on in experimental testing. Choosing a seed is somewhat arbitrary, and + the author cannot prove that this particular seed is somehow superior to other seeds. There + was some early Internet discussion that a seed of 0 did not produce as clean avalanche diagrams + as non-zero seeds, but this may have been more related to the MurmurHash2 release, which did + have some issues. As far as the author can determine, MurmurHash3 does not have these problems. + +

      In order to perform set operations on two sketches it is critical that the same hash + function and seed are identical for both sketches, otherwise the assumed 1:1 relationship + between the original source key value and the hashed bit string would be violated. Once + you have developed a history of stored sketches you are stuck with it. + +

      WARNING: This seed is used internally by library sketches in different + packages and thus must be declared public. However, this seed value must not be used by library + users with the MurmurHash3 function. It should be viewed as existing for exclusive, private + use by the library. + +

      See Default Update Seed

      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      MIN_LG_ARR_LONGS

      +
      public static final int MIN_LG_ARR_LONGS
      +
      The smallest Log2 cache size allowed: 5.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      checkSeedHashes

      +
      public static short checkSeedHashes(short seedHashA, + short seedHashB)
      +
      Check if the two seed hashes are equal. If not, throw an SketchesArgumentException.
      +
      +
      Parameters:
      +
      seedHashA - the seedHash A
      +
      seedHashB - the seedHash B
      +
      Returns:
      +
      seedHashA if they are equal
      +
      +
      +
    • +
    • +
      +

      computeSeedHash

      +
      public static short computeSeedHash(long seed)
      +
      Computes and checks the 16-bit seed hash from the given long seed. + The seed hash may not be zero in order to maintain compatibility with older serialized + versions that did not have this concept.
      +
      +
      Parameters:
      +
      seed - See Update Hash Seed
      +
      Returns:
      +
      the seed hash.
      +
      +
      +
    • +
    • +
      +

      startingSubMultiple

      +
      public static int startingSubMultiple(int lgTarget, + int lgRF, + int lgMin)
      +
      Gets the smallest allowed exponent of 2 that it is a sub-multiple of the target by zero, + one or more resize factors.
      +
      +
      Parameters:
      +
      lgTarget - Log2 of the target size
      +
      lgRF - Log_base2 of Resize Factor. + See Resize Factor
      +
      lgMin - Log2 of the minimum allowed starting size
      +
      Returns:
      +
      The Log2 of the starting size
      +
      +
      +
    • +
    • +
      +

      checkNomLongs

      +
      public static int checkNomLongs(int nomLongs)
      +
      Checks that the given nomLongs is within bounds and returns the Log2 of the ceiling power of 2 + of the given nomLongs.
      +
      +
      Parameters:
      +
      nomLongs - the given number of nominal longs. This can be any value from 16 to + 67108864, inclusive.
      +
      Returns:
      +
      The Log2 of the ceiling power of 2 of the given nomLongs.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BinomialBoundsN.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BinomialBoundsN.html new file mode 100644 index 000000000..ee169686c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BinomialBoundsN.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.thetacommon.BinomialBoundsN (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.thetacommon.BinomialBoundsN

+
+No usage of org.apache.datasketches.thetacommon.BinomialBoundsN
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInThetaSketchedSets.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInThetaSketchedSets.html new file mode 100644 index 000000000..40f2e4965 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInThetaSketchedSets.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.thetacommon.BoundsOnRatiosInThetaSketchedSets (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.thetacommon.BoundsOnRatiosInThetaSketchedSets

+
+No usage of org.apache.datasketches.thetacommon.BoundsOnRatiosInThetaSketchedSets
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInTupleSketchedSets.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInTupleSketchedSets.html new file mode 100644 index 000000000..87b38f3b2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/BoundsOnRatiosInTupleSketchedSets.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets

+
+No usage of org.apache.datasketches.thetacommon.BoundsOnRatiosInTupleSketchedSets
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/HashOperations.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/HashOperations.html new file mode 100644 index 000000000..5006a317a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/HashOperations.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.thetacommon.HashOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.thetacommon.HashOperations

+
+No usage of org.apache.datasketches.thetacommon.HashOperations
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/QuickSelect.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/QuickSelect.html new file mode 100644 index 000000000..0f2265a43 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/QuickSelect.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.thetacommon.QuickSelect (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.thetacommon.QuickSelect

+
+No usage of org.apache.datasketches.thetacommon.QuickSelect
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.AnotbAction.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.AnotbAction.html new file mode 100644 index 000000000..feb934838 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.AnotbAction.html @@ -0,0 +1,103 @@ + + + + +Uses of Enum Class org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.thetacommon.SetOperationCornerCases.AnotbAction

+
+ +
+
Package
+
Description
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.CornerCase.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.CornerCase.html new file mode 100644 index 000000000..50e1c5600 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.CornerCase.html @@ -0,0 +1,103 @@ + + + + +Uses of Enum Class org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.thetacommon.SetOperationCornerCases.CornerCase

+
+ +
+
Package
+
Description
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.IntersectAction.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.IntersectAction.html new file mode 100644 index 000000000..f2b500f06 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.IntersectAction.html @@ -0,0 +1,103 @@ + + + + +Uses of Enum Class org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.thetacommon.SetOperationCornerCases.IntersectAction

+
+ +
+
Package
+
Description
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.UnionAction.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.UnionAction.html new file mode 100644 index 000000000..bba14bfc9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.UnionAction.html @@ -0,0 +1,103 @@ + + + + +Uses of Enum Class org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.thetacommon.SetOperationCornerCases.UnionAction

+
+ +
+
Package
+
Description
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.html new file mode 100644 index 000000000..47e5b82eb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/SetOperationCornerCases.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.thetacommon.SetOperationCornerCases (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.thetacommon.SetOperationCornerCases

+
+No usage of org.apache.datasketches.thetacommon.SetOperationCornerCases
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/class-use/ThetaUtil.html b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/ThetaUtil.html new file mode 100644 index 000000000..4b4b1a919 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/class-use/ThetaUtil.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.thetacommon.ThetaUtil (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.thetacommon.ThetaUtil

+
+No usage of org.apache.datasketches.thetacommon.ThetaUtil
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/package-summary.html b/docs/621/merge/org/apache/datasketches/thetacommon/package-summary.html new file mode 100644 index 000000000..cd16d1c9d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/package-summary.html @@ -0,0 +1,179 @@ + + + + +org.apache.datasketches.thetacommon (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.thetacommon

+
+
+
package org.apache.datasketches.thetacommon
+
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    + +
    +
    This class enables the estimation of error bounds given a sample set size, the sampling + probability theta, the number of standard deviations and a simple noDataSeen flag.
    +
    + +
    +
    This class is used to compute the bounds on the estimate of the ratio B / A, where: + + A is a Theta Sketch of population PopA. + B is a Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Theta Sketch C, + which acts like a predicate or selection clause. + The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B). + The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B). + The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B). + + Note: The theta of A cannot be greater than the theta of B.
    +
    + +
    +
    This class is used to compute the bounds on the estimate of the ratio B / A, where: + + A is a Tuple Sketch of population PopA. + B is a Tuple or Theta Sketch of population PopB that is a subset of A, + obtained by an intersection of A with some other Tuple or Theta Sketch C, + which acts like a predicate or selection clause. + The estimate of the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getEstimateOfBoverA(A, B). + The Upper Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getUpperBoundForBoverA(A, B). + The Lower Bound estimate on the ratio PopB/PopA is + BoundsOnRatiosInThetaSketchedSets.getLowerBoundForBoverA(A, B). + + Note: The theta of A cannot be greater than the theta of B.
    +
    + +
    +
    Helper class for the common hash table methods.
    +
    + +
    +
    QuickSelect algorithm improved from Sedgewick.
    +
    + +
    +
    Simplifies and speeds up set operations by resolving specific corner cases.
    +
    + +
    +
    A not B actions
    +
    + +
    +
    List of corner cases
    +
    + +
    +
    Intersection actions
    +
    + +
    +
    List of union actions
    +
    + +
    +
    Utility methods for the Theta Family of sketches
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/package-tree.html b/docs/621/merge/org/apache/datasketches/thetacommon/package-tree.html new file mode 100644 index 000000000..477664371 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/package-tree.html @@ -0,0 +1,99 @@ + + + + +org.apache.datasketches.thetacommon Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.thetacommon

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/thetacommon/package-use.html b/docs/621/merge/org/apache/datasketches/thetacommon/package-use.html new file mode 100644 index 000000000..ffbc445f9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/thetacommon/package-use.html @@ -0,0 +1,101 @@ + + + + +Uses of Package org.apache.datasketches.thetacommon (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.thetacommon

+
+ +
+
Package
+
Description
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/AnotB.html b/docs/621/merge/org/apache/datasketches/tuple/AnotB.html new file mode 100644 index 000000000..28eedddeb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/AnotB.html @@ -0,0 +1,397 @@ + + + + +AnotB (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class AnotB<S extends Summary>

+
+
java.lang.Object +
org.apache.datasketches.tuple.AnotB<S>
+
+
+
+
Type Parameters:
+
S - Type of Summary
+
+
+
public final class AnotB<S extends Summary> +extends Object
+
Computes a set difference, A-AND-NOT-B, of two generic tuple sketches. + This class includes both stateful and stateless operations. + +

The stateful operation is as follows:

+

+ AnotB anotb = new AnotB();
+
+ anotb.setA(Sketch skA); //The first argument.
+ anotb.notB(Sketch skB); //The second (subtraction) argument.
+ anotb.notB(Sketch skC); // ...any number of additional subtractions...
+ anotb.getResult(false); //Get an interim result.
+ anotb.notB(Sketch skD); //Additional subtractions.
+ anotb.getResult(true);  //Final result and resets the AnotB operator.
+ 
+ +

The stateless operation is as follows:

+

+ AnotB anotb = new AnotB();
+
+ CompactSketch csk = anotb.aNotB(Sketch skA, Sketch skB);
+ 
+ +

Calling the setA operation a second time essentially clears the internal state and loads + the new sketch.

+ +

The stateless and stateful operations are independent of each other.

+
+
Author:
+
Lee Rhodes
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static <S extends Summary>
    CompactSketch<S>
    +
    aNotB(Sketch<S> skA, + Sketch skB)
    +
    +
    Returns the A-and-not-B set operation on a Tuple sketch and a Theta sketch.
    +
    +
    static <S extends Summary>
    CompactSketch<S>
    +
    aNotB(Sketch<S> skA, + Sketch<S> skB)
    +
    +
    Returns the A-and-not-B set operation on the two given Tuple sketches.
    +
    + +
    getResult(boolean reset)
    +
    +
    Gets the result of the multistep, stateful operation AnotB that have been executed with calls + to setA(Sketch) and (notB(Sketch) or + notB(org.apache.datasketches.theta.Sketch)).
    +
    +
    void
    +
    notB(Sketch skB)
    +
    +
    This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + second (or n+1th) argument B of A-AND-NOT-B.
    +
    +
    void
    +
    notB(Sketch<S> skB)
    +
    +
    This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the + second (or n+1th) argument B of A-AND-NOT-B.
    +
    +
    void
    + +
    +
    Resets this operation back to the empty state.
    +
    +
    void
    +
    setA(Sketch<S> skA)
    +
    +
    This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the + first argument A of A-AND-NOT-B.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      AnotB

      +
      public AnotB()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setA

      +
      public void setA(Sketch<S> skA)
      +
      This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the + first argument A of A-AND-NOT-B. This overwrites the internal state of this + AnotB operator with the contents of the given sketch. + This sets the stage for multiple following notB steps. + +

      An input argument of null will throw an exception.

      + +

      Rationale: In mathematics a "null set" is a set with no members, which we call an empty set. + That is distinctly different from the java null, which represents a nonexistent object. + In most cases it is a programming error due to some object that was not properly initialized. + With a null as the first argument, we cannot know what the user's intent is. + Since it is very likely that a null is a programming error, we throw a an exception.

      + +

      An empty input argument will set the internal state to empty.

      + +

      Rationale: An empty set is a mathematically legal concept. Although it makes any subsequent, + valid argument for B irrelevant, we must allow this and assume the user knows what they are + doing.

      + +

      Performing getResult(boolean) just after this step will return a compact form of + the given argument.

      +
      +
      Parameters:
      +
      skA - The incoming sketch for the first argument, A.
      +
      +
      +
    • +
    • +
      +

      notB

      +
      public void notB(Sketch<S> skB)
      +
      This is part of a multistep, stateful AnotB operation and sets the given Tuple sketch as the + second (or n+1th) argument B of A-AND-NOT-B. + Performs an AND NOT operation with the existing internal state of this AnotB operator. + +

      An input argument of null or empty is ignored.

      + +

      Rationale: A null for the second or following arguments is more tolerable because + A NOT null is still A even if we don't know exactly what the null represents. It + clearly does not have any content that overlaps with A. Also, because this can be part of + a multistep operation with multiple notB steps. Other following steps can still produce + a valid result.

      + +

      Use getResult(boolean) to obtain the result.

      +
      +
      Parameters:
      +
      skB - The incoming Tuple sketch for the second (or following) argument B.
      +
      +
      +
    • +
    • +
      +

      notB

      +
      public void notB(Sketch skB)
      +
      This is part of a multistep, stateful AnotB operation and sets the given Theta sketch as the + second (or n+1th) argument B of A-AND-NOT-B. + Performs an AND NOT operation with the existing internal state of this AnotB operator. + Calls to this method can be intermingled with calls to + notB(org.apache.datasketches.theta.Sketch). + +

      An input argument of null or empty is ignored.

      + +

      Rationale: A null for the second or following arguments is more tolerable because + A NOT null is still A even if we don't know exactly what the null represents. It + clearly does not have any content that overlaps with A. Also, because this can be part of + a multistep operation with multiple notB steps. Other following steps can still produce + a valid result.

      + +

      Use getResult(boolean) to obtain the result.

      +
      +
      Parameters:
      +
      skB - The incoming Theta sketch for the second (or following) argument B.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public CompactSketch<S> getResult(boolean reset)
      +
      Gets the result of the multistep, stateful operation AnotB that have been executed with calls + to setA(Sketch) and (notB(Sketch) or + notB(org.apache.datasketches.theta.Sketch)).
      +
      +
      Parameters:
      +
      reset - If true, clears this operator to the empty state after this result is + returned. Set this to false if you wish to obtain an intermediate result.
      +
      Returns:
      +
      the result of this operation as an unordered CompactSketch.
      +
      +
      +
    • +
    • +
      +

      aNotB

      +
      public static <S extends Summary> CompactSketch<S> aNotB(Sketch<S> skA, + Sketch<S> skB)
      +
      Returns the A-and-not-B set operation on the two given Tuple sketches. + +

      This a stateless operation and has no impact on the internal state of this operator. + Thus, this is not an accumulating update and is independent of the setA(Sketch), + notB(Sketch), notB(org.apache.datasketches.theta.Sketch), and + getResult(boolean) methods.

      + +

      If either argument is null an exception is thrown.

      + +

      Rationale: In mathematics a "null set" is a set with no members, which we call an empty set. + That is distinctly different from the java null, which represents a nonexistent object. + In most cases it is a programming error due to some object that was not properly initialized. + With a null as the first argument, we cannot know what the user's intent is. + With a null as the second argument, we can't ignore it as we must return a result and there is + no following possible viable arguments for the second argument. + Since it is very likely that a null is a programming error, we throw an exception.

      +
      +
      Type Parameters:
      +
      S - Type of Summary
      +
      Parameters:
      +
      skA - The incoming Tuple sketch for the first argument
      +
      skB - The incoming Tuple sketch for the second argument
      +
      Returns:
      +
      the result as an unordered CompactSketch
      +
      +
      +
    • +
    • +
      +

      aNotB

      +
      public static <S extends Summary> CompactSketch<S> aNotB(Sketch<S> skA, + Sketch skB)
      +
      Returns the A-and-not-B set operation on a Tuple sketch and a Theta sketch. + +

      This a stateless operation and has no impact on the internal state of this operator. + Thus, this is not an accumulating update and is independent of the setA(Sketch), + notB(Sketch), notB(org.apache.datasketches.theta.Sketch), and + getResult(boolean) methods.

      + +

      If either argument is null an exception is thrown.

      + +

      Rationale: In mathematics a "null set" is a set with no members, which we call an empty set. + That is distinctly different from the java null, which represents a nonexistent object. + In most cases it is a programming error due to some object that was not properly initialized. + With a null as the first argument, we cannot know what the user's intent is. + With a null as the second argument, we can't ignore it as we must return a result and there is + no following possible viable arguments for the second argument. + Since it is very likely that a null is a programming error for either argument + we throw a an exception.

      +
      +
      Type Parameters:
      +
      S - Type of Summary
      +
      Parameters:
      +
      skA - The incoming Tuple sketch for the first argument
      +
      skB - The incoming Theta sketch for the second argument
      +
      Returns:
      +
      the result as an unordered CompactSketch
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this operation back to the empty state.
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/CompactSketch.html b/docs/621/merge/org/apache/datasketches/tuple/CompactSketch.html new file mode 100644 index 000000000..efe14b6b5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/CompactSketch.html @@ -0,0 +1,241 @@ + + + + +CompactSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class CompactSketch<S extends Summary>

+
+
java.lang.Object +
org.apache.datasketches.tuple.Sketch<S> +
org.apache.datasketches.tuple.CompactSketch<S>
+
+
+
+
+
Type Parameters:
+
S - type of Summary
+
+
+
public final class CompactSketch<S extends Summary> +extends Sketch<S>
+
CompactSketches are never created directly. They are created as a result of + the compact() method of an UpdatableSketch or as a result of the getResult() + method of a set operation like Union, Intersection or AnotB. CompactSketch + consists of a compact list (i.e. no intervening spaces) of hash values, + corresponding list of Summaries, and a value for theta. The lists may or may + not be ordered. CompactSketch is read-only.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      compact

      +
      public CompactSketch<S> compact()
      +
      Description copied from class: Sketch
      +
      Converts this sketch to a CompactSketch on the Java heap. + +

      If this sketch is already in compact form this operation returns this.

      +
      +
      Specified by:
      +
      compact in class Sketch<S extends Summary>
      +
      Returns:
      +
      this sketch as a CompactSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public int getRetainedEntries()
      +
      +
      Specified by:
      +
      getRetainedEntries in class Sketch<S extends Summary>
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public int getCountLessThanThetaLong(long thetaLong)
      +
      Description copied from class: Sketch
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Specified by:
      +
      getCountLessThanThetaLong in class Sketch<S extends Summary>
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from class: Sketch
      +
      This is to serialize a sketch instance to a byte array. + +

      As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.

      +
      +
      Specified by:
      +
      toByteArray in class Sketch<S extends Summary>
      +
      Returns:
      +
      serialized representation of the sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public TupleSketchIterator<S> iterator()
      +
      Description copied from class: Sketch
      +
      Returns a SketchIterator
      +
      +
      Specified by:
      +
      iterator in class Sketch<S extends Summary>
      +
      Returns:
      +
      a SketchIterator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/DeserializeResult.html b/docs/621/merge/org/apache/datasketches/tuple/DeserializeResult.html new file mode 100644 index 000000000..1863c766e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/DeserializeResult.html @@ -0,0 +1,195 @@ + + + + +DeserializeResult (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DeserializeResult<T>

+
+
java.lang.Object +
org.apache.datasketches.tuple.DeserializeResult<T>
+
+
+
+
Type Parameters:
+
T - Type of object
+
+
+
public class DeserializeResult<T> +extends Object
+
Returns an object and its size in bytes as a result of a deserialize operation
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DeserializeResult

      +
      public DeserializeResult(T object, + int size)
      +
      Creates an instance.
      +
      +
      Parameters:
      +
      object - Deserialized object.
      +
      size - Deserialized size in bytes.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getObject

      +
      public T getObject()
      +
      +
      Returns:
      +
      Deserialized object
      +
      +
      +
    • +
    • +
      +

      getSize

      +
      public int getSize()
      +
      +
      Returns:
      +
      Size in bytes occupied by the object in the serialized form
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/Filter.html b/docs/621/merge/org/apache/datasketches/tuple/Filter.html new file mode 100644 index 000000000..9c4b1aa42 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/Filter.html @@ -0,0 +1,186 @@ + + + + +Filter (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Filter<T extends Summary>

+
+
java.lang.Object +
org.apache.datasketches.tuple.Filter<T>
+
+
+
+
Type Parameters:
+
T - Summary type against which apply the Predicate
+
+
+
public class Filter<T extends Summary> +extends Object
+
Class for filtering entries from a Sketch given a Summary
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Filter

      +
      public Filter(Predicate<T> predicate)
      +
      Filter constructor with a Predicate
      +
      +
      Parameters:
      +
      predicate - Predicate to use in this filter. If the Predicate returns False, the + element is discarded. If the Predicate returns True, then the element is kept in the + Sketch
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      filter

      +
      public CompactSketch<T> filter(Sketch<T> sketchIn)
      +
      Filters elements on the provided Sketch
      +
      +
      Parameters:
      +
      sketchIn - The sketch against which apply the Predicate
      +
      Returns:
      +
      A new Sketch with some of the entries filtered out based on the Predicate
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/Intersection.html b/docs/621/merge/org/apache/datasketches/tuple/Intersection.html new file mode 100644 index 000000000..bc3bada4b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/Intersection.html @@ -0,0 +1,307 @@ + + + + +Intersection (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Intersection<S extends Summary>

+
+
java.lang.Object +
org.apache.datasketches.tuple.Intersection<S>
+
+
+
+
Type Parameters:
+
S - Type of Summary
+
+
+
public class Intersection<S extends Summary> +extends Object
+
Computes an intersection of two or more generic tuple sketches or generic tuple sketches + combined with theta sketches. + A new instance represents the Universal Set. Because the Universal Set + cannot be realized a getResult() on a new instance will produce an error. + Every update() computes an intersection with the internal state, which will never + grow larger and may be reduced to zero.
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Creates new Intersection instance with instructions on how to process two summaries that + intersect.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Gets the internal set as an unordered CompactSketch
    +
    +
    boolean
    + +
    +
    Returns true if there is a valid intersection result available
    +
    +
    void
    +
    intersect(Sketch thetaSketch, + S summary)
    +
    +
    Performs a stateful intersection of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary and rules + from the summarySetOps defined by the Intersection constructor.
    +
    +
    void
    +
    intersect(Sketch<S> tupleSketch)
    +
    +
    Performs a stateful intersection of the internal set with the given tupleSketch.
    +
    + +
    intersect(Sketch<S> tupleSketch, + Sketch thetaSketch, + S summary)
    +
    +
    Perform a stateless intersect set operation on a tuple sketch and a theta sketch and returns the + result as an unordered CompactSketch on the heap.
    +
    + +
    intersect(Sketch<S> tupleSketchA, + Sketch<S> tupleSketchB)
    +
    +
    Perform a stateless intersect set operation on the two given tuple sketches and returns the + result as an unordered CompactSketch on the heap.
    +
    +
    void
    + +
    +
    Resets the internal set to the initial state, which represents the Universal Set
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Intersection

      +
      public Intersection(SummarySetOperations<S> summarySetOps)
      +
      Creates new Intersection instance with instructions on how to process two summaries that + intersect.
      +
      +
      Parameters:
      +
      summarySetOps - instance of SummarySetOperations
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      intersect

      +
      public CompactSketch<S> intersect(Sketch<S> tupleSketchA, + Sketch<S> tupleSketchB)
      +
      Perform a stateless intersect set operation on the two given tuple sketches and returns the + result as an unordered CompactSketch on the heap.
      +
      +
      Parameters:
      +
      tupleSketchA - The first sketch argument. It must not be null.
      +
      tupleSketchB - The second sketch argument. It must not be null.
      +
      Returns:
      +
      an unordered CompactSketch on the heap
      +
      +
      +
    • +
    • +
      +

      intersect

      +
      public CompactSketch<S> intersect(Sketch<S> tupleSketch, + Sketch thetaSketch, + S summary)
      +
      Perform a stateless intersect set operation on a tuple sketch and a theta sketch and returns the + result as an unordered CompactSketch on the heap.
      +
      +
      Parameters:
      +
      tupleSketch - The first sketch argument. It must not be null.
      +
      thetaSketch - The second sketch argument. It must not be null.
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. + This must not be null.
      +
      Returns:
      +
      an unordered CompactSketch on the heap
      +
      +
      +
    • +
    • +
      +

      intersect

      +
      public void intersect(Sketch<S> tupleSketch)
      +
      Performs a stateful intersection of the internal set with the given tupleSketch.
      +
      +
      Parameters:
      +
      tupleSketch - input sketch to intersect with the internal state. It must not be null.
      +
      +
      +
    • +
    • +
      +

      intersect

      +
      public void intersect(Sketch thetaSketch, + S summary)
      +
      Performs a stateful intersection of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary and rules + from the summarySetOps defined by the Intersection constructor.
      +
      +
      Parameters:
      +
      thetaSketch - input theta sketch to intersect with the internal state. It must not be null.
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. + It will be copied for each matching index. It must not be null.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public CompactSketch<S> getResult()
      +
      Gets the internal set as an unordered CompactSketch
      +
      +
      Returns:
      +
      result of the intersections so far
      +
      +
      +
    • +
    • +
      +

      hasResult

      +
      public boolean hasResult()
      +
      Returns true if there is a valid intersection result available
      +
      +
      Returns:
      +
      true if there is a valid intersection result available
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets the internal set to the initial state, which represents the Universal Set
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/JaccardSimilarity.html b/docs/621/merge/org/apache/datasketches/tuple/JaccardSimilarity.html new file mode 100644 index 000000000..851be5e8f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/JaccardSimilarity.html @@ -0,0 +1,440 @@ + + + + +JaccardSimilarity (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class JaccardSimilarity

+
+
java.lang.Object +
org.apache.datasketches.tuple.JaccardSimilarity
+
+
+
+
public final class JaccardSimilarity +extends Object
+
Jaccard similarity of two Tuple Sketches, or alternatively, of a Tuple and Theta Sketch. + +

Note: only retained hash values are compared, and the Tuple summary values are not accounted for in the + similarity measure.

+
+
Author:
+
Lee Rhodes, David Cromberge
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      JaccardSimilarity

      +
      public JaccardSimilarity()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      jaccard

      +
      public static <S extends Summary> double[] jaccard(Sketch<S> sketchA, + Sketch<S> sketchB, + SummarySetOperations<S> summarySetOps)
      +
      Computes the Jaccard similarity index with upper and lower bounds. The Jaccard similarity index + J(A,B) = (A ^ B)/(A U B) is used to measure how similar the two sketches are to each + other. If J = 1.0, the sketches are considered equal. If J = 0, the two sketches are + distinct from each other. A Jaccard of .95 means the overlap between the two + populations is 95% of the union of the two populations. + +

      Note: For very large pairs of sketches, where the configured nominal entries of the sketches + are 2^25 or 2^26, this method may produce unpredictable results.

      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - The first argument, a Tuple sketch with summary type S
      +
      sketchB - The second argument, a Tuple sketch with summary type S
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      Returns:
      +
      a double array {LowerBound, Estimate, UpperBound} of the Jaccard index. + The Upper and Lower bounds are for a confidence interval of 95.4% or +/- 2 standard deviations.
      +
      +
      +
    • +
    • +
      +

      jaccard

      +
      public static <S extends Summary> double[] jaccard(Sketch<S> sketchA, + Sketch sketchB, + S summary, + SummarySetOperations<S> summarySetOps)
      +
      Computes the Jaccard similarity index with upper and lower bounds. The Jaccard similarity index + J(A,B) = (A ^ B)/(A U B) is used to measure how similar the two sketches are to each + other. If J = 1.0, the sketches are considered equal. If J = 0, the two sketches are + distinct from each other. A Jaccard of .95 means the overlap between the two + populations is 95% of the union of the two populations. + +

      Note: For very large pairs of sketches, where the configured nominal entries of the sketches + are 2^25 or 2^26, this method may produce unpredictable results.

      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - The first argument, a Tuple sketch with summary type S
      +
      sketchB - The second argument, a Theta sketch
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. + This may not be null.
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      Returns:
      +
      a double array {LowerBound, Estimate, UpperBound} of the Jaccard index. + The Upper and Lower bounds are for a confidence interval of 95.4% or +/- 2 standard deviations.
      +
      +
      +
    • +
    • +
      +

      exactlyEqual

      +
      public static <S extends Summary> boolean exactlyEqual(Sketch<S> sketchA, + Sketch<S> sketchB, + SummarySetOperations<S> summarySetOps)
      +
      Returns true if the two given sketches have exactly the same hash values and the same + theta values. Thus, they are equivalent.
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - The first argument, a Tuple sketch with summary type S
      +
      sketchB - The second argument, a Tuple sketch with summary type S
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      Returns:
      +
      true if the two given sketches have exactly the same hash values and the same + theta values.
      +
      +
      +
    • +
    • +
      +

      exactlyEqual

      +
      public static <S extends Summary> boolean exactlyEqual(Sketch<S> sketchA, + Sketch sketchB, + S summary, + SummarySetOperations<S> summarySetOps)
      +
      Returns true if the two given sketches have exactly the same hash values and the same + theta values. Thus, they are equivalent.
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      sketchA - The first argument, a Tuple sketch with summary type S
      +
      sketchB - The second argument, a Theta sketch
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. + This may not be null.
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      Returns:
      +
      true if the two given sketches have exactly the same hash values and the same + theta values.
      +
      +
      +
    • +
    • +
      +

      similarityTest

      +
      public static <S extends Summary> boolean similarityTest(Sketch<S> measured, + Sketch<S> expected, + SummarySetOperations<S> summarySetOps, + double threshold)
      +
      Tests similarity of a measured Sketch against an expected Sketch. + Computes the lower bound of the Jaccard index JLB of the measured and + expected sketches. + if JLB ≥ threshold, then the sketches are considered to be + similar with a confidence of 97.7%.
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      measured - a Tuple sketch with summary type S to be tested
      +
      expected - the reference Tuple sketch with summary type S that is considered to be correct.
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      threshold - a real value between zero and one.
      +
      Returns:
      +
      if true, the similarity of the two sketches is greater than the given threshold + with at least 97.7% confidence.
      +
      +
      +
    • +
    • +
      +

      similarityTest

      +
      public static <S extends Summary> boolean similarityTest(Sketch<S> measured, + Sketch expected, + S summary, + SummarySetOperations<S> summarySetOps, + double threshold)
      +
      Tests similarity of a measured Sketch against an expected Sketch. + Computes the lower bound of the Jaccard index JLB of the measured and + expected sketches. + if JLB ≥ threshold, then the sketches are considered to be + similar with a confidence of 97.7%.
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      measured - a Tuple sketch with summary type S to be tested
      +
      expected - the reference Theta sketch that is considered to be correct.
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. + This may not be null.
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      threshold - a real value between zero and one.
      +
      Returns:
      +
      if true, the similarity of the two sketches is greater than the given threshold + with at least 97.7% confidence.
      +
      +
      +
    • +
    • +
      +

      dissimilarityTest

      +
      public static <S extends Summary> boolean dissimilarityTest(Sketch<S> measured, + Sketch<S> expected, + SummarySetOperations<S> summarySetOps, + double threshold)
      +
      Tests dissimilarity of a measured Sketch against an expected Sketch. + Computes the upper bound of the Jaccard index JUB of the measured and + expected sketches. + if JUB ≤ threshold, then the sketches are considered to be + dissimilar with a confidence of 97.7%.
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      measured - a Tuple sketch with summary type S to be tested
      +
      expected - the reference Theta sketch that is considered to be correct.
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      threshold - a real value between zero and one.
      +
      Returns:
      +
      if true, the dissimilarity of the two sketches is greater than the given threshold + with at least 97.7% confidence.
      +
      +
      +
    • +
    • +
      +

      dissimilarityTest

      +
      public static <S extends Summary> boolean dissimilarityTest(Sketch<S> measured, + Sketch expected, + S summary, + SummarySetOperations<S> summarySetOps, + double threshold)
      +
      Tests dissimilarity of a measured Sketch against an expected Sketch. + Computes the upper bound of the Jaccard index JUB of the measured and + expected sketches. + if JUB ≤ threshold, then the sketches are considered to be + dissimilar with a confidence of 97.7%.
      +
      +
      Type Parameters:
      +
      S - Summary
      +
      Parameters:
      +
      measured - a Tuple sketch with summary type S to be tested
      +
      expected - the reference Theta sketch that is considered to be correct.
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. + This may not be null.
      +
      summarySetOps - instance of SummarySetOperations used to unify or intersect summaries.
      +
      threshold - a real value between zero and one.
      +
      Returns:
      +
      if true, the dissimilarity of the two sketches is greater than the given threshold + with at least 97.7% confidence.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html b/docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html new file mode 100644 index 000000000..e27b7554c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.SketchType.html @@ -0,0 +1,266 @@ + + + + +SerializerDeserializer.SketchType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class SerializerDeserializer.SketchType

+
+
java.lang.Object +
java.lang.Enum<SerializerDeserializer.SketchType> +
org.apache.datasketches.tuple.SerializerDeserializer.SketchType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<SerializerDeserializer.SketchType>, Constable
+
+
+
Enclosing class:
+
SerializerDeserializer
+
+
+
public static enum SerializerDeserializer.SketchType +extends Enum<SerializerDeserializer.SketchType>
+
Defines the sketch classes that this SerializerDeserializer can handle.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    + +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static SerializerDeserializer.SketchType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static SerializerDeserializer.SketchType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.html new file mode 100644 index 000000000..edd7bbfbe --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/SerializerDeserializer.html @@ -0,0 +1,228 @@ + + + + +SerializerDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SerializerDeserializer

+
+
java.lang.Object +
org.apache.datasketches.tuple.SerializerDeserializer
+
+
+
+
public final class SerializerDeserializer +extends Object
+
Multipurpose serializer-deserializer for a collection of sketches defined by the enum.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SerializerDeserializer

      +
      public SerializerDeserializer()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      validateFamily

      +
      public static void validateFamily(byte familyId, + byte preambleLongs)
      +
      Validates the preamble-Longs value given the family ID
      +
      +
      Parameters:
      +
      familyId - the given family ID
      +
      preambleLongs - the given preambleLongs value
      +
      +
      +
    • +
    • +
      +

      validateType

      +
      public static void validateType(byte sketchTypeByte, + SerializerDeserializer.SketchType expectedType)
      +
      Validates the sketch type byte versus the expected value
      +
      +
      Parameters:
      +
      sketchTypeByte - the given sketch type byte
      +
      expectedType - the expected value
      +
      +
      +
    • +
    • +
      +

      getSketchType

      +
      public static SerializerDeserializer.SketchType getSketchType(org.apache.datasketches.memory.Memory mem)
      +
      Gets the sketch type byte from the given Memory image
      +
      +
      Parameters:
      +
      mem - the given Memory image
      +
      Returns:
      +
      the SketchType
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/Sketch.html b/docs/621/merge/org/apache/datasketches/tuple/Sketch.html new file mode 100644 index 000000000..e62e41935 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/Sketch.html @@ -0,0 +1,440 @@ + + + + +Sketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Sketch<S extends Summary>

+
+
java.lang.Object +
org.apache.datasketches.tuple.Sketch<S>
+
+
+
+
Type Parameters:
+
S - Type of Summary
+
+
+
Direct Known Subclasses:
+
CompactSketch, UpdatableSketch
+
+
+
public abstract class Sketch<S extends Summary> +extends Object
+
This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    abstract CompactSketch<S>
    + +
    +
    Converts this sketch to a CompactSketch on the Java heap.
    +
    +
    abstract int
    +
    getCountLessThanThetaLong(long thetaLong)
    +
    +
    Gets the number of hash values less than the given theta expressed as a long.
    +
    +
    double
    + +
    +
    Estimates the cardinality of the set (number of unique values presented to the sketch)
    +
    +
    double
    +
    getEstimate(int numSubsetEntries)
    +
    +
    Gets the estimate of the true distinct population of subset tuples represented by the count + of entries in a subset of the total retained entries of the sketch.
    +
    +
    double
    +
    getLowerBound(int numStdDev)
    +
    +
    Gets the approximate lower error bound given the specified number of Standard Deviations.
    +
    +
    double
    +
    getLowerBound(int numStdDev, + int numSubsetEntries)
    +
    +
    Gets the estimate of the lower bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
    +
    +
    abstract int
    + +
     
    + + +
    +
    Gets the Summary Factory class of type S
    +
    +
    double
    + +
    +
    Gets the value of theta as a double between zero and one
    +
    +
    long
    + +
    +
    Returns Theta as a long
    +
    +
    double
    +
    getUpperBound(int numStdDev)
    +
    +
    Gets the approximate upper error bound given the specified number of Standard Deviations.
    +
    +
    double
    +
    getUpperBound(int numStdDev, + int numSubsetEntries)
    +
    +
    Gets the estimate of the upper bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
    +
    +
    boolean
    + + +
    boolean
    + +
    +
    Returns true if the sketch is Estimation Mode (as opposed to Exact Mode).
    +
    + + +
    +
    Returns a SketchIterator
    +
    +
    abstract byte[]
    + +
    +
    This is to serialize a sketch instance to a byte array.
    +
    + + +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      compact

      +
      public abstract CompactSketch<S> compact()
      +
      Converts this sketch to a CompactSketch on the Java heap. + +

      If this sketch is already in compact form this operation returns this.

      +
      +
      Returns:
      +
      this sketch as a CompactSketch on the Java heap.
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      Estimates the cardinality of the set (number of unique values presented to the sketch)
      +
      +
      Returns:
      +
      best estimate of the number of unique values
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int numStdDev)
      +
      Gets the approximate upper error bound given the specified number of Standard Deviations. + This will return getEstimate() if isEmpty() is true.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      Returns:
      +
      the upper bound.
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int numStdDev)
      +
      Gets the approximate lower error bound given the specified number of Standard Deviations. + This will return getEstimate() if isEmpty() is true.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      Returns:
      +
      the lower bound.
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate(int numSubsetEntries)
      +
      Gets the estimate of the true distinct population of subset tuples represented by the count + of entries in a subset of the total retained entries of the sketch.
      +
      +
      Parameters:
      +
      numSubsetEntries - number of entries for a chosen subset of the sketch.
      +
      Returns:
      +
      the estimate of the true distinct population of subset tuples represented by the count + of entries in a subset of the total retained entries of the sketch.
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int numStdDev, + int numSubsetEntries)
      +
      Gets the estimate of the lower bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      numSubsetEntries - number of entries for a chosen subset of the sketch.
      +
      Returns:
      +
      the estimate of the lower bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int numStdDev, + int numSubsetEntries)
      +
      Gets the estimate of the upper bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      numSubsetEntries - number of entries for a chosen subset of the sketch.
      +
      Returns:
      +
      the estimate of the upper bound of the true distinct population represented by the count + of entries in a subset of the total retained entries of the sketch.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      + +
      +
      Returns:
      +
      true if empty.
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      Returns true if the sketch is Estimation Mode (as opposed to Exact Mode). + This is true if theta < 1.0 AND isEmpty() is false.
      +
      +
      Returns:
      +
      true if the sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public abstract int getRetainedEntries()
      +
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public abstract int getCountLessThanThetaLong(long thetaLong)
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      getSummaryFactory

      +
      public SummaryFactory<S> getSummaryFactory()
      +
      Gets the Summary Factory class of type S
      +
      +
      Returns:
      +
      the Summary Factory class of type S
      +
      +
      +
    • +
    • +
      +

      getTheta

      +
      public double getTheta()
      +
      Gets the value of theta as a double between zero and one
      +
      +
      Returns:
      +
      the value of theta as a double
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public abstract byte[] toByteArray()
      +
      This is to serialize a sketch instance to a byte array. + +

      As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.

      +
      +
      Returns:
      +
      serialized representation of the sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public abstract TupleSketchIterator<S> iterator()
      +
      Returns a SketchIterator
      +
      +
      Returns:
      +
      a SketchIterator
      +
      +
      +
    • +
    • +
      +

      getThetaLong

      +
      public long getThetaLong()
      +
      Returns Theta as a long
      +
      +
      Returns:
      +
      Theta as a long
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/Sketches.html b/docs/621/merge/org/apache/datasketches/tuple/Sketches.html new file mode 100644 index 000000000..d6400b934 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/Sketches.html @@ -0,0 +1,223 @@ + + + + +Sketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Sketches

+
+
java.lang.Object +
org.apache.datasketches.tuple.Sketches
+
+
+
+
public final class Sketches +extends Object
+
Convenient static methods to instantiate generic tuple sketches.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Sketches

      +
      public Sketches()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      createEmptySketch

      +
      public static <S extends Summary> Sketch<S> createEmptySketch()
      +
      +
      Type Parameters:
      +
      S - Type of Summary
      +
      Returns:
      +
      an empty instance of Sketch
      +
      +
      +
    • +
    • +
      +

      heapifySketch

      +
      public static <S extends Summary> Sketch<S> heapifySketch(org.apache.datasketches.memory.Memory mem, + SummaryDeserializer<S> deserializer)
      +
      Instantiate a Sketch from a given Memory.
      +
      +
      Type Parameters:
      +
      S - Type of Summary
      +
      Parameters:
      +
      mem - Memory object representing a Sketch
      +
      deserializer - instance of SummaryDeserializer
      +
      Returns:
      +
      Sketch created from its Memory representation
      +
      +
      +
    • +
    • +
      +

      heapifyUpdatableSketch

      +
      public static <U, +S extends UpdatableSummary<U>> +UpdatableSketch<U,S> heapifyUpdatableSketch(org.apache.datasketches.memory.Memory mem, + SummaryDeserializer<S> deserializer, + SummaryFactory<S> summaryFactory)
      +
      Instantiate UpdatableSketch from a given Memory
      +
      +
      Type Parameters:
      +
      U - Type of update value
      +
      S - Type of Summary
      +
      Parameters:
      +
      mem - Memory object representing a Sketch
      +
      deserializer - instance of SummaryDeserializer
      +
      summaryFactory - instance of SummaryFactory
      +
      Returns:
      +
      Sketch created from its Memory representation
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/Summary.html b/docs/621/merge/org/apache/datasketches/tuple/Summary.html new file mode 100644 index 000000000..b164968e4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/Summary.html @@ -0,0 +1,166 @@ + + + + +Summary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface Summary

+
+
+
+
All Known Subinterfaces:
+
UpdatableSummary<U>
+
+
+
All Known Implementing Classes:
+
ArrayOfStringsSummary, DoubleSummary, IntegerSummary
+
+
+
public interface Summary
+
Interface for user-defined Summary, which is associated with every hash in a tuple sketch
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Deep copy.
    +
    +
    byte[]
    + +
    +
    This is to serialize a Summary instance to a byte array.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      copy

      +
      Summary copy()
      +
      Deep copy. + +

      Caution: This must implement a deep copy.

      +
      +
      Returns:
      +
      deep copy of the Summary
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      byte[] toByteArray()
      +
      This is to serialize a Summary instance to a byte array. + +

      The user should encode in the byte array its total size, which is used during + deserialization, especially if the Summary has variable sized elements.

      +
      +
      Returns:
      +
      serialized representation of the Summary
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/SummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/SummaryDeserializer.html new file mode 100644 index 000000000..c1b9b5d0d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/SummaryDeserializer.html @@ -0,0 +1,152 @@ + + + + +SummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SummaryDeserializer<S extends Summary>

+
+
+
+
Type Parameters:
+
S - type of Summary
+
+
+
All Known Implementing Classes:
+
ArrayOfStringsSummaryDeserializer, DoubleSummaryDeserializer, IntegerSummaryDeserializer
+
+
+
public interface SummaryDeserializer<S extends Summary>
+
Interface for deserializing user-defined Summary
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    heapifySummary(org.apache.datasketches.memory.Memory mem)
    +
    +
    This is to create an instance of a Summary given a serialized representation.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapifySummary

      +
      DeserializeResult<S> heapifySummary(org.apache.datasketches.memory.Memory mem)
      +
      This is to create an instance of a Summary given a serialized representation. + The user may assume that the start of the given Memory is the correct place to start + deserializing. However, the user must be able to determine the number of bytes required to + deserialize the summary as the capacity of the given Memory may + include multiple such summaries and may be much larger than required for a single summary.
      +
      +
      Parameters:
      +
      mem - Memory object with serialized representation of a Summary
      +
      Returns:
      +
      DeserializedResult object, which contains a Summary object and number of bytes read + from the Memory
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/SummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/SummaryFactory.html new file mode 100644 index 000000000..a68ff5e08 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/SummaryFactory.html @@ -0,0 +1,142 @@ + + + + +SummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SummaryFactory<S extends Summary>

+
+
+
+
Type Parameters:
+
S - type of Summary
+
+
+
All Known Implementing Classes:
+
ArrayOfStringsSummaryFactory, DoubleSummaryFactory, IntegerSummaryFactory
+
+
+
public interface SummaryFactory<S extends Summary>
+
Interface for user-defined SummaryFactory
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newSummary

      +
      S newSummary()
      +
      +
      Returns:
      +
      new instance of Summary
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/SummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/SummarySetOperations.html new file mode 100644 index 000000000..d5c493910 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/SummarySetOperations.html @@ -0,0 +1,181 @@ + + + + +SummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface SummarySetOperations<S extends Summary>

+
+
+
+
Type Parameters:
+
S - type of Summary
+
+
+
All Known Implementing Classes:
+
ArrayOfStringsSummarySetOperations, DoubleSummarySetOperations, IntegerSummarySetOperations
+
+
+
public interface SummarySetOperations<S extends Summary>
+
This is to provide methods of producing unions and intersections of two Summary objects.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    intersection(S a, + S b)
    +
    +
    This is called by the intersection operator when both sketches have the same hash value.
    +
    + +
    union(S a, + S b)
    +
    +
    This is called by the union operator when both sketches have the same hash value.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      union

      +
      S union(S a, + S b)
      +
      This is called by the union operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      union of Summary A and Summary B
      +
      +
      +
    • +
    • +
      +

      intersection

      +
      S intersection(S a, + S b)
      +
      This is called by the intersection operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      intersection of Summary A and Summary B
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/TupleSketchIterator.html b/docs/621/merge/org/apache/datasketches/tuple/TupleSketchIterator.html new file mode 100644 index 000000000..43e033d6c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/TupleSketchIterator.html @@ -0,0 +1,189 @@ + + + + +TupleSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TupleSketchIterator<S extends Summary>

+
+
java.lang.Object +
org.apache.datasketches.tuple.TupleSketchIterator<S>
+
+
+
+
Type Parameters:
+
S - Type of Summary
+
+
+
public class TupleSketchIterator<S extends Summary> +extends Object
+
Iterator over a generic tuple sketch
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    + +
    +
    Gets the hash from the current entry in the sketch, which is a hash + of the original key passed to update().
    +
    + + +
    +
    Gets a Summary object from the current entry in the sketch.
    +
    +
    boolean
    + +
    +
    Advancing the iterator and checking existence of the next entry + is combined here for efficiency.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      next

      +
      public boolean next()
      +
      Advancing the iterator and checking existence of the next entry + is combined here for efficiency. This results in an undefined + state of the iterator before the first call of this method.
      +
      +
      Returns:
      +
      true if the next element exists
      +
      +
      +
    • +
    • +
      +

      getHash

      +
      public long getHash()
      +
      Gets the hash from the current entry in the sketch, which is a hash + of the original key passed to update(). The original keys are not + retained. Don't call this before calling next() for the first time + or after getting false from next().
      +
      +
      Returns:
      +
      hash from the current entry
      +
      +
      +
    • +
    • +
      +

      getSummary

      +
      public S getSummary()
      +
      Gets a Summary object from the current entry in the sketch. + Don't call this before calling next() for the first time + or after getting false from next().
      +
      +
      Returns:
      +
      Summary object for the current entry (this is not a copy!)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/Union.html b/docs/621/merge/org/apache/datasketches/tuple/Union.html new file mode 100644 index 000000000..4a11f5ffc --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/Union.html @@ -0,0 +1,328 @@ + + + + +Union (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Union<S extends Summary>

+
+
java.lang.Object +
org.apache.datasketches.tuple.Union<S>
+
+
+
+
Type Parameters:
+
S - Type of Summary
+
+
+
public class Union<S extends Summary> +extends Object
+
Compute the union of two or more generic tuple sketches or generic tuple sketches combined with + theta sketches. A new instance represents an empty set.
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Union(int nomEntries, + SummarySetOperations<S> summarySetOps)
    +
    +
    Creates new Union instance.
    +
    +
    Union(SummarySetOperations<S> summarySetOps)
    +
    +
    Creates new Union instance with instructions on how to process two summaries that + overlap.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Gets the result of a sequence of stateful union operations as an unordered CompactSketch
    +
    + +
    getResult(boolean reset)
    +
    +
    Gets the result of a sequence of stateful union operations as an unordered CompactSketch.
    +
    +
    void
    + +
    +
    Resets the internal set to the initial state, which represents an empty set.
    +
    +
    void
    +
    union(Sketch thetaSketch, + S summary)
    +
    +
    Performs a stateful union of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary.
    +
    +
    void
    +
    union(Sketch<S> tupleSketch)
    +
    +
    Performs a stateful union of the internal set with the given tupleSketch.
    +
    + +
    union(Sketch<S> tupleSketch, + Sketch thetaSketch, + S summary)
    +
    +
    Perform a stateless, pair-wise union operation between a tupleSketch and a thetaSketch.
    +
    + +
    union(Sketch<S> tupleSketchA, + Sketch<S> tupleSketchB)
    +
    +
    Perform a stateless, pair-wise union operation between two tuple sketches.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Union

      +
      public Union(SummarySetOperations<S> summarySetOps)
      +
      Creates new Union instance with instructions on how to process two summaries that + overlap. This will have the default nominal entries (K).
      +
      +
      Parameters:
      +
      summarySetOps - instance of SummarySetOperations
      +
      +
      +
    • +
    • +
      +

      Union

      +
      public Union(int nomEntries, + SummarySetOperations<S> summarySetOps)
      +
      Creates new Union instance.
      +
      +
      Parameters:
      +
      nomEntries - nominal entries (K). Forced to the nearest power of 2 greater than + given value.
      +
      summarySetOps - instance of SummarySetOperations
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      union

      +
      public CompactSketch<S> union(Sketch<S> tupleSketchA, + Sketch<S> tupleSketchB)
      +
      Perform a stateless, pair-wise union operation between two tuple sketches. + The returned sketch will be cut back to the smaller of the two k values if required. + +

      Nulls and empty sketches are ignored.

      +
      +
      Parameters:
      +
      tupleSketchA - The first argument
      +
      tupleSketchB - The second argument
      +
      Returns:
      +
      the result ordered CompactSketch on the heap.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public CompactSketch<S> union(Sketch<S> tupleSketch, + Sketch thetaSketch, + S summary)
      +
      Perform a stateless, pair-wise union operation between a tupleSketch and a thetaSketch. + The returned sketch will be cut back to the smaller of the two k values if required. + +

      Nulls and empty sketches are ignored.

      +
      +
      Parameters:
      +
      tupleSketch - The first argument
      +
      thetaSketch - The second argument
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. + This may not be null.
      +
      Returns:
      +
      the result ordered CompactSketch on the heap.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public void union(Sketch<S> tupleSketch)
      +
      Performs a stateful union of the internal set with the given tupleSketch.
      +
      +
      Parameters:
      +
      tupleSketch - input tuple sketch to merge with the internal set. + Nulls and empty sketches are ignored.
      +
      +
      +
    • +
    • +
      +

      union

      +
      public void union(Sketch thetaSketch, + S summary)
      +
      Performs a stateful union of the internal set with the given thetaSketch by combining entries + using the hashes from the theta sketch and summary values from the given summary.
      +
      +
      Parameters:
      +
      thetaSketch - the given theta sketch input. If null or empty, it is ignored.
      +
      summary - the given proxy summary for the theta sketch, which doesn't have one. This may + not be null.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public CompactSketch<S> getResult()
      +
      Gets the result of a sequence of stateful union operations as an unordered CompactSketch
      +
      +
      Returns:
      +
      result of the stateful unions so far. The state of this operation is not reset after the + result is returned.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public CompactSketch<S> getResult(boolean reset)
      +
      Gets the result of a sequence of stateful union operations as an unordered CompactSketch.
      +
      +
      Parameters:
      +
      reset - If true, clears this operator to the empty state after this result is + returned. Set this to false if you wish to obtain an intermediate result.
      +
      Returns:
      +
      result of the stateful union
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets the internal set to the initial state, which represents an empty set. This is only useful + after sequences of stateful union operations.
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/UpdatableSketch.html b/docs/621/merge/org/apache/datasketches/tuple/UpdatableSketch.html new file mode 100644 index 000000000..d8440f203 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/UpdatableSketch.html @@ -0,0 +1,602 @@ + + + + +UpdatableSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UpdatableSketch<U,S extends UpdatableSummary<U>>

+
+
java.lang.Object +
org.apache.datasketches.tuple.Sketch<S> +
org.apache.datasketches.tuple.UpdatableSketch<U,S>
+
+
+
+
+
Type Parameters:
+
U - Type of the value, which is passed to update method of a Summary
+
S - Type of the UpdatableSummary<U>
+
+
+
Direct Known Subclasses:
+
ArrayOfStringsSketch, DoubleSketch, IntegerSketch
+
+
+
public class UpdatableSketch<U,S extends UpdatableSummary<U>> +extends Sketch<S>
+
An extension of QuickSelectSketch<S>, which can be updated with many types of keys. + Summary objects are created using a user-defined SummaryFactory class, + which should allow very flexible parameterization if needed. + Keys are presented to a sketch along with values of a user-defined + update type U. When an entry is inserted into a sketch or a duplicate key is + presented to a sketch then summary.update(U value) method will be called. So + any kind of user-defined accumulation is possible. Summaries also must know + how to copy themselves. Also union and intersection of summaries can be + implemented in a sub-class of SummarySetOperations, which will be used in + case Union or Intersection of two instances of Tuple Sketch is needed
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UpdatableSketch

      +
      public UpdatableSketch(int nomEntries, + int lgResizeFactor, + float samplingProbability, + SummaryFactory<S> summaryFactory)
      +
      This is to create a new instance of an UpdatableQuickSelectSketch.
      +
      +
      Parameters:
      +
      nomEntries - Nominal number of entries. Forced to the nearest power of 2 greater than + or equal to the given value.
      +
      lgResizeFactor - log2(resizeFactor) - value from 0 to 3: +
      + 0 - no resizing (max size allocated),
      + 1 - double internal hash table each time it reaches a threshold
      + 2 - grow four times
      + 3 - grow eight times (default)
      + 
      +
      samplingProbability - See Sampling Probability
      +
      summaryFactory - An instance of a SummaryFactory.
      +
      +
      +
    • +
    • +
      +

      UpdatableSketch

      +
      @Deprecated +public UpdatableSketch(org.apache.datasketches.memory.Memory srcMem, + SummaryDeserializer<S> deserializer, + SummaryFactory<S> summaryFactory)
      +
      Deprecated. +
      As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
      +
      +
      This is to create an instance of a sketch given a serialized form
      +
      +
      Parameters:
      +
      srcMem - Memory object with data of a serialized UpdatableSketch
      +
      deserializer - instance of SummaryDeserializer
      +
      summaryFactory - instance of SummaryFactory
      +
      +
      +
    • +
    • +
      +

      UpdatableSketch

      +
      public UpdatableSketch(UpdatableSketch<U,S> sketch)
      +
      Copy Constructor
      +
      +
      Parameters:
      +
      sketch - the sketch to copy
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      copy

      +
      public UpdatableSketch<U,S> copy()
      +
      +
      Returns:
      +
      a deep copy of this sketch
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long key, + U value)
      +
      Updates this sketch with a long key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Parameters:
      +
      key - The given long key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double key, + U value)
      +
      Updates this sketch with a double key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Parameters:
      +
      key - The given double key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String key, + U value)
      +
      Updates this sketch with a String key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Parameters:
      +
      key - The given String key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(byte[] key, + U value)
      +
      Updates this sketch with a byte[] key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Parameters:
      +
      key - The given byte[] key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ByteBuffer buffer, + U value)
      +
      Updates this sketch with a ByteBuffer and U value + The value is passed to the update() method of the Summary object associated with the key
      +
      +
      Parameters:
      +
      buffer - The given ByteBuffer key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(int[] key, + U value)
      +
      Updates this sketch with a int[] key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Parameters:
      +
      key - The given int[] key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long[] key, + U value)
      +
      Updates this sketch with a long[] key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Parameters:
      +
      key - The given long[] key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public int getRetainedEntries()
      +
      +
      Specified by:
      +
      getRetainedEntries in class Sketch<S extends Summary>
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public int getCountLessThanThetaLong(long thetaLong)
      +
      Description copied from class: Sketch
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Specified by:
      +
      getCountLessThanThetaLong in class Sketch<S extends Summary>
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      getNominalEntries

      +
      public int getNominalEntries()
      +
      Get configured nominal number of entries
      +
      +
      Returns:
      +
      nominal number of entries
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Get log_base2 of Nominal Entries
      +
      +
      Returns:
      +
      log_base2 of Nominal Entries
      +
      +
      +
    • +
    • +
      +

      getSamplingProbability

      +
      public float getSamplingProbability()
      +
      Get configured sampling probability
      +
      +
      Returns:
      +
      sampling probability
      +
      +
      +
    • +
    • +
      +

      getCurrentCapacity

      +
      public int getCurrentCapacity()
      +
      Get current capacity
      +
      +
      Returns:
      +
      current capacity
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public ResizeFactor getResizeFactor()
      +
      Get configured resize factor
      +
      +
      Returns:
      +
      resize factor
      +
      +
      +
    • +
    • +
      +

      trim

      +
      public void trim()
      +
      Rebuilds reducing the actual number of entries to the nominal number of entries if needed
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch an empty state.
      +
      +
    • +
    • +
      +

      compact

      +
      public CompactSketch<S> compact()
      +
      Converts the current state of the sketch into a compact sketch
      +
      +
      Specified by:
      +
      compact in class Sketch<S extends Summary>
      +
      Returns:
      +
      compact sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      @Deprecated +public byte[] toByteArray()
      +
      Deprecated. +
      As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.
      +
      +
      This serializes an UpdatableSketch (QuickSelectSketch).
      +
      +
      Specified by:
      +
      toByteArray in class Sketch<S extends Summary>
      +
      Returns:
      +
      serialized representation of an UpdatableSketch (QuickSelectSketch).
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public TupleSketchIterator<S> iterator()
      +
      Description copied from class: Sketch
      +
      Returns a SketchIterator
      +
      +
      Specified by:
      +
      iterator in class Sketch<S extends Summary>
      +
      Returns:
      +
      a SketchIterator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/UpdatableSketchBuilder.html b/docs/621/merge/org/apache/datasketches/tuple/UpdatableSketchBuilder.html new file mode 100644 index 000000000..32e4a072d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/UpdatableSketchBuilder.html @@ -0,0 +1,254 @@ + + + + +UpdatableSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UpdatableSketchBuilder<U,S extends UpdatableSummary<U>>

+
+
java.lang.Object +
org.apache.datasketches.tuple.UpdatableSketchBuilder<U,S>
+
+
+
+
Type Parameters:
+
U - Type of update value
+
S - Type of Summary
+
+
+
public class UpdatableSketchBuilder<U,S extends UpdatableSummary<U>> +extends Object
+
For building a new generic tuple UpdatableSketch
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UpdatableSketchBuilder

      +
      public UpdatableSketchBuilder(SummaryFactory<S> summaryFactory)
      +
      Creates an instance of UpdatableSketchBuilder with default parameters
      +
      +
      Parameters:
      +
      summaryFactory - An instance of SummaryFactory.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setNominalEntries

      +
      public UpdatableSketchBuilder<U,S> setNominalEntries(int nomEntries)
      +
      This is to set the nominal number of entries.
      +
      +
      Parameters:
      +
      nomEntries - Nominal number of entries. Forced to the nearest power of 2 greater than + or equal to the given value.
      +
      Returns:
      +
      this UpdatableSketchBuilder
      +
      +
      +
    • +
    • +
      +

      setResizeFactor

      +
      public UpdatableSketchBuilder<U,S> setResizeFactor(ResizeFactor resizeFactor)
      +
      This is to set the resize factor. + Value of X1 means that the maximum capacity is allocated from the start. + Default resize factor is X8.
      +
      +
      Parameters:
      +
      resizeFactor - value of X1, X2, X4 or X8
      +
      Returns:
      +
      this UpdatableSketchBuilder
      +
      +
      +
    • +
    • +
      +

      setSamplingProbability

      +
      public UpdatableSketchBuilder<U,S> setSamplingProbability(float samplingProbability)
      +
      This is to set sampling probability. + Default probability is 1.
      +
      +
      Parameters:
      +
      samplingProbability - sampling probability from 0 to 1
      +
      Returns:
      +
      this UpdatableSketchBuilder
      +
      +
      +
    • +
    • +
      +

      build

      +
      public UpdatableSketch<U,S> build()
      +
      Returns an UpdatableSketch with the current configuration of this Builder.
      +
      +
      Returns:
      +
      an UpdatableSketch
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets the Nominal Entries, Resize Factor and Sampling Probability to their default values. + The assignment of U and S remain the same.
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/UpdatableSummary.html b/docs/621/merge/org/apache/datasketches/tuple/UpdatableSummary.html new file mode 100644 index 000000000..8c7c7ce54 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/UpdatableSummary.html @@ -0,0 +1,156 @@ + + + + +UpdatableSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface UpdatableSummary<U>

+
+
+
+
Type Parameters:
+
U - type of update value
+
+
+
All Superinterfaces:
+
Summary
+
+
+
All Known Implementing Classes:
+
ArrayOfStringsSummary, DoubleSummary, IntegerSummary
+
+
+
public interface UpdatableSummary<U> +extends Summary
+
Interface for updating user-defined Summary
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    update(U value)
    +
    +
    This is to provide a method of updating summaries.
    +
    +
    +
    +
    +
    +

    Methods inherited from interface org.apache.datasketches.tuple.Summary

    +copy, toByteArray
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      UpdatableSummary<U> update(U value)
      +
      This is to provide a method of updating summaries. + This is primarily used internally.
      +
      +
      Parameters:
      +
      value - update value
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/Util.html b/docs/621/merge/org/apache/datasketches/tuple/Util.html new file mode 100644 index 000000000..7e56d1ee9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/Util.html @@ -0,0 +1,343 @@ + + + + +Util (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Util

+
+
java.lang.Object +
org.apache.datasketches.tuple.Util
+
+
+
+
public final class Util +extends Object
+
Common utility functions for Tuples
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static final void
    +
    checkSeedHashes(short seedHashA, + short seedHashB)
    +
    +
    Checks the two given seed hashes.
    +
    +
    static short
    +
    computeSeedHash(long seed)
    +
    +
    Computes and checks the 16-bit seed hash from the given long seed.
    +
    +
    static <S extends Summary>
    S[]
    +
    copySummaryArray(S[] summaryArr)
    +
    +
    Will copy compact summary arrays as well as hashed summary tables (with nulls).
    +
    +
    static final long[]
    +
    doubleToLongArray(double value)
    +
    +
    Converts a double to a long[].
    +
    +
    static int
    +
    getStartingCapacity(int nomEntries, + int lgResizeFactor)
    +
    +
    Gets the starting capacity of a new sketch given the Nominal Entries and the log Resize Factor.
    +
    +
    static <S extends Summary>
    S[]
    +
    newSummaryArray(S[] summaryArr, + int length)
    +
    +
    Creates a new Summary Array with the specified length
    +
    +
    static long
    +
    stringArrHash(String[] strArray)
    +
     
    +
    static String
    +
    stringConcat(String[] strArr)
    +
    +
    Concatenate array of Strings to a single String.
    +
    +
    static long
    + +
     
    +
    static final byte[]
    + +
    +
    Converts a String to a UTF_8 byte array.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Util

      +
      public Util()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      doubleToLongArray

      +
      public static final long[] doubleToLongArray(double value)
      +
      Converts a double to a long[].
      +
      +
      Parameters:
      +
      value - the given double value
      +
      Returns:
      +
      the long array
      +
      +
      +
    • +
    • +
      +

      stringToByteArray

      +
      public static final byte[] stringToByteArray(String value)
      +
      Converts a String to a UTF_8 byte array. If the given value is either null or empty this + method returns null.
      +
      +
      Parameters:
      +
      value - the given String value
      +
      Returns:
      +
      the UTF_8 byte array
      +
      +
      +
    • +
    • +
      +

      computeSeedHash

      +
      public static short computeSeedHash(long seed)
      +
      Computes and checks the 16-bit seed hash from the given long seed. + The seed hash may not be zero in order to maintain compatibility with older serialized + versions that did not have this concept.
      +
      +
      Parameters:
      +
      seed - See Update Hash Seed
      +
      Returns:
      +
      the seed hash.
      +
      +
      +
    • +
    • +
      +

      checkSeedHashes

      +
      public static final void checkSeedHashes(short seedHashA, + short seedHashB)
      +
      Checks the two given seed hashes. If they are not equal, this method throws an Exception.
      +
      +
      Parameters:
      +
      seedHashA - given seed hash A
      +
      seedHashB - given seed hash B
      +
      +
      +
    • +
    • +
      +

      getStartingCapacity

      +
      public static int getStartingCapacity(int nomEntries, + int lgResizeFactor)
      +
      Gets the starting capacity of a new sketch given the Nominal Entries and the log Resize Factor.
      +
      +
      Parameters:
      +
      nomEntries - the given Nominal Entries
      +
      lgResizeFactor - the given log Resize Factor
      +
      Returns:
      +
      the starting capacity
      +
      +
      +
    • +
    • +
      +

      stringConcat

      +
      public static String stringConcat(String[] strArr)
      +
      Concatenate array of Strings to a single String.
      +
      +
      Parameters:
      +
      strArr - the given String array
      +
      Returns:
      +
      the concatenated String
      +
      +
      +
    • +
    • +
      +

      stringHash

      +
      public static long stringHash(String s)
      +
      +
      Parameters:
      +
      s - the string to hash
      +
      Returns:
      +
      the hash of the string
      +
      +
      +
    • +
    • +
      +

      stringArrHash

      +
      public static long stringArrHash(String[] strArray)
      +
      +
      Parameters:
      +
      strArray - array of Strings
      +
      Returns:
      +
      long hash of concatenated strings.
      +
      +
      +
    • +
    • +
      +

      copySummaryArray

      +
      public static <S extends Summary> S[] copySummaryArray(S[] summaryArr)
      +
      Will copy compact summary arrays as well as hashed summary tables (with nulls).
      +
      +
      Type Parameters:
      +
      S - type of summary
      +
      Parameters:
      +
      summaryArr - the given summary array or table
      +
      Returns:
      +
      the copy
      +
      +
      +
    • +
    • +
      +

      newSummaryArray

      +
      public static <S extends Summary> S[] newSummaryArray(S[] summaryArr, + int length)
      +
      Creates a new Summary Array with the specified length
      +
      +
      Type Parameters:
      +
      S - the summary class type
      +
      Parameters:
      +
      summaryArr - example array, only used to obtain the component type. It has no data.
      +
      length - the desired length of the returned array.
      +
      Returns:
      +
      a new Summary Array with the specified length
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSketch.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSketch.html new file mode 100644 index 000000000..ade90fea3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSketch.html @@ -0,0 +1,485 @@ + + + + +DoubleSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoubleSketch

+
+ +
+
+
public class DoubleSketch +extends UpdatableSketch<Double,DoubleSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoubleSketch

      +
      public DoubleSketch(int lgK, + DoubleSummary.Mode mode)
      +
      Constructs this sketch with given lgK.
      +
      +
      Parameters:
      +
      lgK - Log_base2 of Nominal Entries. + See Nominal Entries
      +
      mode - The DoubleSummary mode to be used
      +
      +
      +
    • +
    • +
      +

      DoubleSketch

      +
      public DoubleSketch(int lgK, + int lgResizeFactor, + float samplingProbability, + DoubleSummary.Mode mode)
      +
      Creates this sketch with the following parameters:
      +
      +
      Parameters:
      +
      lgK - Log_base2 of Nominal Entries.
      +
      lgResizeFactor - log2(resizeFactor) - value from 0 to 3: +
      + 0 - no resizing (max size allocated),
      + 1 - double internal hash table each time it reaches a threshold
      + 2 - grow four times
      + 3 - grow eight times (default)
      + 
      +
      samplingProbability - See Sampling Probability
      +
      mode - The DoubleSummary mode to be used
      +
      +
      +
    • +
    • +
      +

      DoubleSketch

      +
      @Deprecated +public DoubleSketch(org.apache.datasketches.memory.Memory mem, + DoubleSummary.Mode mode)
      +
      Deprecated. +
      As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
      +
      +
      Constructs this sketch from a Memory image, which must be from an DoubleSketch, and + usually with data.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      mode - The DoubleSummary mode to be used
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public void update(String key, + Double value)
      +
      Description copied from class: UpdatableSketch
      +
      Updates this sketch with a String key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Overrides:
      +
      update in class UpdatableSketch<Double,DoubleSummary>
      +
      Parameters:
      +
      key - The given String key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long key, + Double value)
      +
      Description copied from class: UpdatableSketch
      +
      Updates this sketch with a long key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Overrides:
      +
      update in class UpdatableSketch<Double,DoubleSummary>
      +
      Parameters:
      +
      key - The given long key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public int getRetainedEntries()
      +
      +
      Specified by:
      +
      getRetainedEntries in class Sketch<S extends Summary>
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public int getCountLessThanThetaLong(long thetaLong)
      +
      Description copied from class: Sketch
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Specified by:
      +
      getCountLessThanThetaLong in class Sketch<S extends Summary>
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      getNominalEntries

      +
      public int getNominalEntries()
      +
      Get configured nominal number of entries
      +
      +
      Returns:
      +
      nominal number of entries
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Get log_base2 of Nominal Entries
      +
      +
      Returns:
      +
      log_base2 of Nominal Entries
      +
      +
      +
    • +
    • +
      +

      getSamplingProbability

      +
      public float getSamplingProbability()
      +
      Get configured sampling probability
      +
      +
      Returns:
      +
      sampling probability
      +
      +
      +
    • +
    • +
      +

      getCurrentCapacity

      +
      public int getCurrentCapacity()
      +
      Get current capacity
      +
      +
      Returns:
      +
      current capacity
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public ResizeFactor getResizeFactor()
      +
      Get configured resize factor
      +
      +
      Returns:
      +
      resize factor
      +
      +
      +
    • +
    • +
      +

      trim

      +
      public void trim()
      +
      Rebuilds reducing the actual number of entries to the nominal number of entries if needed
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch an empty state.
      +
      +
    • +
    • +
      +

      compact

      +
      public CompactSketch<DoubleSummary> compact()
      +
      Converts the current state of the sketch into a compact sketch
      +
      +
      Specified by:
      +
      compact in class Sketch<S extends Summary>
      +
      Returns:
      +
      compact sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      @Deprecated +public byte[] toByteArray()
      +
      Deprecated. +
      As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.
      +
      +
      This serializes an UpdatableSketch (QuickSelectSketch).
      +
      +
      Specified by:
      +
      toByteArray in class Sketch<S extends Summary>
      +
      Returns:
      +
      serialized representation of an UpdatableSketch (QuickSelectSketch).
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public TupleSketchIterator<DoubleSummary> iterator()
      +
      Description copied from class: Sketch
      +
      Returns a SketchIterator
      +
      +
      Specified by:
      +
      iterator in class Sketch<S extends Summary>
      +
      Returns:
      +
      a SketchIterator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html new file mode 100644 index 000000000..174afa290 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.Mode.html @@ -0,0 +1,263 @@ + + + + +DoubleSummary.Mode (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class DoubleSummary.Mode

+
+
java.lang.Object +
java.lang.Enum<DoubleSummary.Mode> +
org.apache.datasketches.tuple.adouble.DoubleSummary.Mode
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<DoubleSummary.Mode>, Constable
+
+
+
Enclosing class:
+
DoubleSummary
+
+
+
public static enum DoubleSummary.Mode +extends Enum<DoubleSummary.Mode>
+
The aggregation modes for this Summary
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      Sum

      +
      public static final DoubleSummary.Mode Sum
      +
      The aggregation mode is the summation function. + +

      New retained value = previous retained value + incoming value

      +
      +
    • +
    • +
      +

      Min

      +
      public static final DoubleSummary.Mode Min
      +
      The aggregation mode is the minimum function. + +

      New retained value = min(previous retained value, incoming value)

      +
      +
    • +
    • +
      +

      Max

      +
      public static final DoubleSummary.Mode Max
      +
      The aggregation mode is the maximum function. + +

      New retained value = max(previous retained value, incoming value)

      +
      +
    • +
    • +
      +

      AlwaysOne

      +
      public static final DoubleSummary.Mode AlwaysOne
      +
      The aggregation mode is always one. + +

      New retained value = 1.0

      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static DoubleSummary.Mode[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static DoubleSummary.Mode valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.html new file mode 100644 index 000000000..01c9fa169 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummary.html @@ -0,0 +1,284 @@ + + + + +DoubleSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoubleSummary

+
+
java.lang.Object +
org.apache.datasketches.tuple.adouble.DoubleSummary
+
+
+
+
All Implemented Interfaces:
+
Summary, UpdatableSummary<Double>
+
+
+
public final class DoubleSummary +extends Object +implements UpdatableSummary<Double>
+
Summary for generic tuple sketches of type Double. + This summary keeps a double value. On update a predefined operation is performed depending on + the mode. + Supported modes: Sum, Min, Max, AlwaysOne, Increment. The default mode is Sum.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoubleSummary

      +
      public DoubleSummary(DoubleSummary.Mode mode)
      +
      Creates an instance of DoubleSummary with a given mode.
      +
      +
      Parameters:
      +
      mode - update mode
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public DoubleSummary update(Double value)
      +
      Description copied from interface: UpdatableSummary
      +
      This is to provide a method of updating summaries. + This is primarily used internally.
      +
      +
      Specified by:
      +
      update in interface UpdatableSummary<Double>
      +
      Parameters:
      +
      value - update value
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    • +
      +

      copy

      +
      public DoubleSummary copy()
      +
      Description copied from interface: Summary
      +
      Deep copy. + +

      Caution: This must implement a deep copy.

      +
      +
      Specified by:
      +
      copy in interface Summary
      +
      Returns:
      +
      deep copy of the Summary
      +
      +
      +
    • +
    • +
      +

      getValue

      +
      public double getValue()
      +
      +
      Returns:
      +
      current value of the DoubleSummary
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: Summary
      +
      This is to serialize a Summary instance to a byte array. + +

      The user should encode in the byte array its total size, which is used during + deserialization, especially if the Summary has variable sized elements.

      +
      +
      Specified by:
      +
      toByteArray in interface Summary
      +
      Returns:
      +
      serialized representation of the Summary
      +
      +
      +
    • +
    • +
      +

      fromMemory

      +
      public static DeserializeResult<DoubleSummary> fromMemory(org.apache.datasketches.memory.Memory mem)
      +
      Creates an instance of the DoubleSummary given a serialized representation
      +
      +
      Parameters:
      +
      mem - Memory object with serialized DoubleSummary
      +
      Returns:
      +
      DeserializedResult object, which contains a DoubleSummary object and number of bytes + read from the Memory
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html new file mode 100644 index 000000000..1f084a9c0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryDeserializer.html @@ -0,0 +1,189 @@ + + + + +DoubleSummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoubleSummaryDeserializer

+
+
java.lang.Object +
org.apache.datasketches.tuple.adouble.DoubleSummaryDeserializer
+
+
+
+
All Implemented Interfaces:
+
SummaryDeserializer<DoubleSummary>
+
+
+
public class DoubleSummaryDeserializer +extends Object +implements SummaryDeserializer<DoubleSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoubleSummaryDeserializer

      +
      public DoubleSummaryDeserializer()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapifySummary

      +
      public DeserializeResult<DoubleSummary> heapifySummary(org.apache.datasketches.memory.Memory mem)
      +
      Description copied from interface: SummaryDeserializer
      +
      This is to create an instance of a Summary given a serialized representation. + The user may assume that the start of the given Memory is the correct place to start + deserializing. However, the user must be able to determine the number of bytes required to + deserialize the summary as the capacity of the given Memory may + include multiple such summaries and may be much larger than required for a single summary.
      +
      +
      Specified by:
      +
      heapifySummary in interface SummaryDeserializer<DoubleSummary>
      +
      Parameters:
      +
      mem - Memory object with serialized representation of a Summary
      +
      Returns:
      +
      DeserializedResult object, which contains a Summary object and number of bytes read + from the Memory
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html new file mode 100644 index 000000000..3357ccae4 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummaryFactory.html @@ -0,0 +1,186 @@ + + + + +DoubleSummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoubleSummaryFactory

+
+
java.lang.Object +
org.apache.datasketches.tuple.adouble.DoubleSummaryFactory
+
+
+
+
All Implemented Interfaces:
+
SummaryFactory<DoubleSummary>
+
+
+
public final class DoubleSummaryFactory +extends Object +implements SummaryFactory<DoubleSummary>
+
Factory for DoubleSummary.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoubleSummaryFactory

      +
      public DoubleSummaryFactory(DoubleSummary.Mode summaryMode)
      +
      Creates an instance of DoubleSummaryFactory with a given mode
      +
      +
      Parameters:
      +
      summaryMode - summary mode
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html new file mode 100644 index 000000000..3615b0469 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/DoubleSummarySetOperations.html @@ -0,0 +1,258 @@ + + + + +DoubleSummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class DoubleSummarySetOperations

+
+
java.lang.Object +
org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations
+
+
+
+
All Implemented Interfaces:
+
SummarySetOperations<DoubleSummary>
+
+
+
public final class DoubleSummarySetOperations +extends Object +implements SummarySetOperations<DoubleSummary>
+
Methods for defining how unions and intersections of two objects of type DoubleSummary + are performed.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DoubleSummarySetOperations

      +
      public DoubleSummarySetOperations()
      +
      Creates an instance with default mode of sum for both union and intersection. + This exists for backward compatibility.
      +
      +
    • +
    • +
      +

      DoubleSummarySetOperations

      +
      public DoubleSummarySetOperations(DoubleSummary.Mode summaryMode)
      +
      Creates an instance given a DoubleSummary update mode where the mode is the same for both + union and intersection. This exists for backward compatibility.
      +
      +
      Parameters:
      +
      summaryMode - DoubleSummary update mode.
      +
      +
      +
    • +
    • +
      +

      DoubleSummarySetOperations

      +
      public DoubleSummarySetOperations(DoubleSummary.Mode unionSummaryMode, + DoubleSummary.Mode intersectionSummaryMode)
      +
      Creates an instance with two modes.
      +
      +
      Parameters:
      +
      unionSummaryMode - for unions
      +
      intersectionSummaryMode - for intersections
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      union

      +
      public DoubleSummary union(DoubleSummary a, + DoubleSummary b)
      +
      Description copied from interface: SummarySetOperations
      +
      This is called by the union operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Specified by:
      +
      union in interface SummarySetOperations<DoubleSummary>
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      union of Summary A and Summary B
      +
      +
      +
    • +
    • +
      +

      intersection

      +
      public DoubleSummary intersection(DoubleSummary a, + DoubleSummary b)
      +
      Description copied from interface: SummarySetOperations
      +
      This is called by the intersection operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Specified by:
      +
      intersection in interface SummarySetOperations<DoubleSummary>
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      intersection of Summary A and Summary B
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSketch.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSketch.html new file mode 100644 index 000000000..15cadf1ec --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSketch.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.adouble.DoubleSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.adouble.DoubleSketch

+
+No usage of org.apache.datasketches.tuple.adouble.DoubleSketch
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.Mode.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.Mode.html new file mode 100644 index 000000000..f4bc8280c --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.Mode.html @@ -0,0 +1,147 @@ + + + + +Uses of Enum Class org.apache.datasketches.tuple.adouble.DoubleSummary.Mode (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.tuple.adouble.DoubleSummary.Mode

+
+
Packages that use DoubleSummary.Mode
+
+
Package
+
Description
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.html new file mode 100644 index 000000000..64a21ce79 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummary.html @@ -0,0 +1,131 @@ + + + + +Uses of Class org.apache.datasketches.tuple.adouble.DoubleSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.adouble.DoubleSummary

+
+
Packages that use DoubleSummary
+
+
Package
+
Description
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryDeserializer.html new file mode 100644 index 000000000..82805586b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryDeserializer.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.adouble.DoubleSummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.adouble.DoubleSummaryDeserializer

+
+No usage of org.apache.datasketches.tuple.adouble.DoubleSummaryDeserializer
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryFactory.html new file mode 100644 index 000000000..543b95068 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummaryFactory.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.adouble.DoubleSummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.adouble.DoubleSummaryFactory

+
+No usage of org.apache.datasketches.tuple.adouble.DoubleSummaryFactory
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummarySetOperations.html new file mode 100644 index 000000000..0377d36b0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/class-use/DoubleSummarySetOperations.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations

+
+No usage of org.apache.datasketches.tuple.adouble.DoubleSummarySetOperations
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/package-summary.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/package-summary.html new file mode 100644 index 000000000..7d58d4b91 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/package-summary.html @@ -0,0 +1,142 @@ + + + + +org.apache.datasketches.tuple.adouble (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.tuple.adouble

+
+
+
package org.apache.datasketches.tuple.adouble
+
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/package-tree.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/package-tree.html new file mode 100644 index 000000000..7efc56a32 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/package-tree.html @@ -0,0 +1,102 @@ + + + + +org.apache.datasketches.tuple.adouble Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.tuple.adouble

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/adouble/package-use.html b/docs/621/merge/org/apache/datasketches/tuple/adouble/package-use.html new file mode 100644 index 000000000..5452f91e7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/adouble/package-use.html @@ -0,0 +1,92 @@ + + + + +Uses of Package org.apache.datasketches.tuple.adouble (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.tuple.adouble

+
+ +
+
Package
+
Description
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSketch.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSketch.html new file mode 100644 index 000000000..672c0af80 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSketch.html @@ -0,0 +1,485 @@ + + + + +IntegerSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IntegerSketch

+
+ +
+
+
public class IntegerSketch +extends UpdatableSketch<Integer,IntegerSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IntegerSketch

      +
      public IntegerSketch(int lgK, + IntegerSummary.Mode mode)
      +
      Constructs this sketch with given lgK.
      +
      +
      Parameters:
      +
      lgK - Log_base2 of Nominal Entries. + See Nominal Entries
      +
      mode - The IntegerSummary mode to be used
      +
      +
      +
    • +
    • +
      +

      IntegerSketch

      +
      public IntegerSketch(int lgK, + int lgResizeFactor, + float samplingProbability, + IntegerSummary.Mode mode)
      +
      Creates this sketch with the following parameters:
      +
      +
      Parameters:
      +
      lgK - Log_base2 of Nominal Entries.
      +
      lgResizeFactor - log2(resizeFactor) - value from 0 to 3: +
      + 0 - no resizing (max size allocated),
      + 1 - double internal hash table each time it reaches a threshold
      + 2 - grow four times
      + 3 - grow eight times (default)
      + 
      +
      samplingProbability - See Sampling Probability
      +
      mode - The IntegerSummary mode to be used
      +
      +
      +
    • +
    • +
      +

      IntegerSketch

      +
      @Deprecated +public IntegerSketch(org.apache.datasketches.memory.Memory mem, + IntegerSummary.Mode mode)
      +
      Deprecated. +
      As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
      +
      +
      Constructs this sketch from a Memory image, which must be from an IntegerSketch, and + usually with data.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      mode - The IntegerSummary mode to be used
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public void update(String key, + Integer value)
      +
      Description copied from class: UpdatableSketch
      +
      Updates this sketch with a String key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Overrides:
      +
      update in class UpdatableSketch<Integer,IntegerSummary>
      +
      Parameters:
      +
      key - The given String key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long key, + Integer value)
      +
      Description copied from class: UpdatableSketch
      +
      Updates this sketch with a long key and U value. + The value is passed to update() method of the Summary object associated with the key
      +
      +
      Overrides:
      +
      update in class UpdatableSketch<Integer,IntegerSummary>
      +
      Parameters:
      +
      key - The given long key
      +
      value - The given U value
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public int getRetainedEntries()
      +
      +
      Specified by:
      +
      getRetainedEntries in class Sketch<S extends Summary>
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public int getCountLessThanThetaLong(long thetaLong)
      +
      Description copied from class: Sketch
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Specified by:
      +
      getCountLessThanThetaLong in class Sketch<S extends Summary>
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      getNominalEntries

      +
      public int getNominalEntries()
      +
      Get configured nominal number of entries
      +
      +
      Returns:
      +
      nominal number of entries
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Get log_base2 of Nominal Entries
      +
      +
      Returns:
      +
      log_base2 of Nominal Entries
      +
      +
      +
    • +
    • +
      +

      getSamplingProbability

      +
      public float getSamplingProbability()
      +
      Get configured sampling probability
      +
      +
      Returns:
      +
      sampling probability
      +
      +
      +
    • +
    • +
      +

      getCurrentCapacity

      +
      public int getCurrentCapacity()
      +
      Get current capacity
      +
      +
      Returns:
      +
      current capacity
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public ResizeFactor getResizeFactor()
      +
      Get configured resize factor
      +
      +
      Returns:
      +
      resize factor
      +
      +
      +
    • +
    • +
      +

      trim

      +
      public void trim()
      +
      Rebuilds reducing the actual number of entries to the nominal number of entries if needed
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch an empty state.
      +
      +
    • +
    • +
      +

      compact

      +
      public CompactSketch<IntegerSummary> compact()
      +
      Converts the current state of the sketch into a compact sketch
      +
      +
      Specified by:
      +
      compact in class Sketch<S extends Summary>
      +
      Returns:
      +
      compact sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      @Deprecated +public byte[] toByteArray()
      +
      Deprecated. +
      As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.
      +
      +
      This serializes an UpdatableSketch (QuickSelectSketch).
      +
      +
      Specified by:
      +
      toByteArray in class Sketch<S extends Summary>
      +
      Returns:
      +
      serialized representation of an UpdatableSketch (QuickSelectSketch).
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public TupleSketchIterator<IntegerSummary> iterator()
      +
      Description copied from class: Sketch
      +
      Returns a SketchIterator
      +
      +
      Specified by:
      +
      iterator in class Sketch<S extends Summary>
      +
      Returns:
      +
      a SketchIterator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html new file mode 100644 index 000000000..ff32c8d57 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.Mode.html @@ -0,0 +1,263 @@ + + + + +IntegerSummary.Mode (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class IntegerSummary.Mode

+
+
java.lang.Object +
java.lang.Enum<IntegerSummary.Mode> +
org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<IntegerSummary.Mode>, Constable
+
+
+
Enclosing class:
+
IntegerSummary
+
+
+
public static enum IntegerSummary.Mode +extends Enum<IntegerSummary.Mode>
+
The aggregation modes for this Summary
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      Sum

      +
      public static final IntegerSummary.Mode Sum
      +
      The aggregation mode is the summation function. + +

      New retained value = previous retained value + incoming value

      +
      +
    • +
    • +
      +

      Min

      +
      public static final IntegerSummary.Mode Min
      +
      The aggregation mode is the minimum function. + +

      New retained value = min(previous retained value, incoming value)

      +
      +
    • +
    • +
      +

      Max

      +
      public static final IntegerSummary.Mode Max
      +
      The aggregation mode is the maximum function. + +

      New retained value = max(previous retained value, incoming value)

      +
      +
    • +
    • +
      +

      AlwaysOne

      +
      public static final IntegerSummary.Mode AlwaysOne
      +
      The aggregation mode is always one. + +

      New retained value = 1

      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static IntegerSummary.Mode[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static IntegerSummary.Mode valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.html new file mode 100644 index 000000000..fbef45151 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummary.html @@ -0,0 +1,284 @@ + + + + +IntegerSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IntegerSummary

+
+
java.lang.Object +
org.apache.datasketches.tuple.aninteger.IntegerSummary
+
+
+
+
All Implemented Interfaces:
+
Summary, UpdatableSummary<Integer>
+
+
+
public class IntegerSummary +extends Object +implements UpdatableSummary<Integer>
+
Summary for generic tuple sketches of type Integer. + This summary keeps an Integer value. On update a predefined operation is performed depending on + the mode. + Supported modes: Sum, Min, Max, AlwaysOne, Increment. The default mode is Sum.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IntegerSummary

      +
      public IntegerSummary(IntegerSummary.Mode mode)
      +
      Creates an instance of IntegerSummary with a given mode.
      +
      +
      Parameters:
      +
      mode - update mode. This should not be called by a user.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public IntegerSummary update(Integer value)
      +
      Description copied from interface: UpdatableSummary
      +
      This is to provide a method of updating summaries. + This is primarily used internally.
      +
      +
      Specified by:
      +
      update in interface UpdatableSummary<Integer>
      +
      Parameters:
      +
      value - update value
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    • +
      +

      copy

      +
      public IntegerSummary copy()
      +
      Description copied from interface: Summary
      +
      Deep copy. + +

      Caution: This must implement a deep copy.

      +
      +
      Specified by:
      +
      copy in interface Summary
      +
      Returns:
      +
      deep copy of the Summary
      +
      +
      +
    • +
    • +
      +

      getValue

      +
      public int getValue()
      +
      +
      Returns:
      +
      current value of the IntegerSummary
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: Summary
      +
      This is to serialize a Summary instance to a byte array. + +

      The user should encode in the byte array its total size, which is used during + deserialization, especially if the Summary has variable sized elements.

      +
      +
      Specified by:
      +
      toByteArray in interface Summary
      +
      Returns:
      +
      serialized representation of the Summary
      +
      +
      +
    • +
    • +
      +

      fromMemory

      +
      public static DeserializeResult<IntegerSummary> fromMemory(org.apache.datasketches.memory.Memory mem)
      +
      Creates an instance of the IntegerSummary given a serialized representation
      +
      +
      Parameters:
      +
      mem - Memory object with serialized IntegerSummary
      +
      Returns:
      +
      DeserializedResult object, which contains a IntegerSummary object and number of bytes + read from the Memory
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html new file mode 100644 index 000000000..31609e1ef --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryDeserializer.html @@ -0,0 +1,189 @@ + + + + +IntegerSummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IntegerSummaryDeserializer

+
+
java.lang.Object +
org.apache.datasketches.tuple.aninteger.IntegerSummaryDeserializer
+
+
+
+
All Implemented Interfaces:
+
SummaryDeserializer<IntegerSummary>
+
+
+
public class IntegerSummaryDeserializer +extends Object +implements SummaryDeserializer<IntegerSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IntegerSummaryDeserializer

      +
      public IntegerSummaryDeserializer()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapifySummary

      +
      public DeserializeResult<IntegerSummary> heapifySummary(org.apache.datasketches.memory.Memory mem)
      +
      Description copied from interface: SummaryDeserializer
      +
      This is to create an instance of a Summary given a serialized representation. + The user may assume that the start of the given Memory is the correct place to start + deserializing. However, the user must be able to determine the number of bytes required to + deserialize the summary as the capacity of the given Memory may + include multiple such summaries and may be much larger than required for a single summary.
      +
      +
      Specified by:
      +
      heapifySummary in interface SummaryDeserializer<IntegerSummary>
      +
      Parameters:
      +
      mem - Memory object with serialized representation of a Summary
      +
      Returns:
      +
      DeserializedResult object, which contains a Summary object and number of bytes read + from the Memory
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html new file mode 100644 index 000000000..e18ff4a72 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummaryFactory.html @@ -0,0 +1,186 @@ + + + + +IntegerSummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IntegerSummaryFactory

+
+
java.lang.Object +
org.apache.datasketches.tuple.aninteger.IntegerSummaryFactory
+
+
+
+
All Implemented Interfaces:
+
SummaryFactory<IntegerSummary>
+
+
+
public class IntegerSummaryFactory +extends Object +implements SummaryFactory<IntegerSummary>
+
Factory for IntegerSummary.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IntegerSummaryFactory

      +
      public IntegerSummaryFactory(IntegerSummary.Mode summaryMode)
      +
      Creates an instance of IntegerSummaryFactory with a given mode
      +
      +
      Parameters:
      +
      summaryMode - summary mode
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html new file mode 100644 index 000000000..ec900cf50 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/IntegerSummarySetOperations.html @@ -0,0 +1,233 @@ + + + + +IntegerSummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class IntegerSummarySetOperations

+
+
java.lang.Object +
org.apache.datasketches.tuple.aninteger.IntegerSummarySetOperations
+
+
+
+
All Implemented Interfaces:
+
SummarySetOperations<IntegerSummary>
+
+
+
public class IntegerSummarySetOperations +extends Object +implements SummarySetOperations<IntegerSummary>
+
Methods for defining how unions and intersections of two objects of type IntegerSummary + are performed.
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      IntegerSummarySetOperations

      +
      public IntegerSummarySetOperations(IntegerSummary.Mode unionSummaryMode, + IntegerSummary.Mode intersectionSummaryMode)
      +
      Creates a new instance with two modes
      +
      +
      Parameters:
      +
      unionSummaryMode - for unions
      +
      intersectionSummaryMode - for intersections
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      union

      + +
      Description copied from interface: SummarySetOperations
      +
      This is called by the union operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Specified by:
      +
      union in interface SummarySetOperations<IntegerSummary>
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      union of Summary A and Summary B
      +
      +
      +
    • +
    • +
      +

      intersection

      +
      public IntegerSummary intersection(IntegerSummary a, + IntegerSummary b)
      +
      Description copied from interface: SummarySetOperations
      +
      This is called by the intersection operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Specified by:
      +
      intersection in interface SummarySetOperations<IntegerSummary>
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      intersection of Summary A and Summary B
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSketch.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSketch.html new file mode 100644 index 000000000..2c11837c5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSketch.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.aninteger.IntegerSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.aninteger.IntegerSketch

+
+No usage of org.apache.datasketches.tuple.aninteger.IntegerSketch
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.Mode.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.Mode.html new file mode 100644 index 000000000..48c91e99d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.Mode.html @@ -0,0 +1,141 @@ + + + + +Uses of Enum Class org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.tuple.aninteger.IntegerSummary.Mode

+
+
Packages that use IntegerSummary.Mode
+
+
Package
+
Description
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.html new file mode 100644 index 000000000..5d3b4b489 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummary.html @@ -0,0 +1,131 @@ + + + + +Uses of Class org.apache.datasketches.tuple.aninteger.IntegerSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.aninteger.IntegerSummary

+
+
Packages that use IntegerSummary
+
+
Package
+
Description
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryDeserializer.html new file mode 100644 index 000000000..b8182faaa --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryDeserializer.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.aninteger.IntegerSummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.aninteger.IntegerSummaryDeserializer

+
+No usage of org.apache.datasketches.tuple.aninteger.IntegerSummaryDeserializer
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryFactory.html new file mode 100644 index 000000000..85397d785 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummaryFactory.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.aninteger.IntegerSummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.aninteger.IntegerSummaryFactory

+
+No usage of org.apache.datasketches.tuple.aninteger.IntegerSummaryFactory
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummarySetOperations.html new file mode 100644 index 000000000..b9099a49d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/class-use/IntegerSummarySetOperations.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.aninteger.IntegerSummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.aninteger.IntegerSummarySetOperations

+
+No usage of org.apache.datasketches.tuple.aninteger.IntegerSummarySetOperations
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-summary.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-summary.html new file mode 100644 index 000000000..dc2e16046 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-summary.html @@ -0,0 +1,142 @@ + + + + +org.apache.datasketches.tuple.aninteger (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.tuple.aninteger

+
+
+
package org.apache.datasketches.tuple.aninteger
+
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-tree.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-tree.html new file mode 100644 index 000000000..bce05d9e9 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-tree.html @@ -0,0 +1,102 @@ + + + + +org.apache.datasketches.tuple.aninteger Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.tuple.aninteger

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-use.html b/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-use.html new file mode 100644 index 000000000..325bf6d33 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/aninteger/package-use.html @@ -0,0 +1,92 @@ + + + + +Uses of Package org.apache.datasketches.tuple.aninteger (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.tuple.aninteger

+
+ +
+
Package
+
Description
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html new file mode 100644 index 000000000..3c2d3192d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotB.html @@ -0,0 +1,190 @@ + + + + +ArrayOfDoublesAnotB (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesAnotB

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotB
+
+
+
+
Direct Known Subclasses:
+
ArrayOfDoublesAnotBImpl
+
+
+
public abstract class ArrayOfDoublesAnotB +extends Object
+
Computes a set difference of two tuple sketches of type ArrayOfDoubles
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public abstract void update(ArrayOfDoublesSketch a, + ArrayOfDoublesSketch b)
      +
      Perform A-and-not-B set operation on the two given sketches. + A null sketch is interpreted as an empty sketch. + This is not an accumulating update. Calling update() more than once + without calling getResult() will discard the result of previous update(). + Both input sketches must have the same numValues.
      +
      +
      Parameters:
      +
      a - The incoming sketch for the first argument
      +
      b - The incoming sketch for the second argument
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract ArrayOfDoublesCompactSketch getResult()
      +
      Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch
      +
      +
      Returns:
      +
      compact sketch representing the result of the operation
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public abstract ArrayOfDoublesCompactSketch getResult(org.apache.datasketches.memory.WritableMemory mem)
      +
      Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch
      +
      +
      Parameters:
      +
      mem - memory for the result (can be null)
      +
      Returns:
      +
      compact sketch representing the result of the operation (off-heap if memory is + provided)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html new file mode 100644 index 000000000..3ef4d35be --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesAnotBImpl.html @@ -0,0 +1,207 @@ + + + + +ArrayOfDoublesAnotBImpl (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesAnotBImpl

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotB +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotBImpl
+
+
+
+
+
public class ArrayOfDoublesAnotBImpl +extends ArrayOfDoublesAnotB
+
Computes a set difference, A-AND-NOT-B, of two ArrayOfDoublesSketches. + +

This class includes a stateless operation as follows:

+ +

+ CompactSketch csk = anotb.aNotB(ArrayOfDoublesSketch skA, ArrayOfDoublesSketch skB);
+ 
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      update

      +
      public void update(ArrayOfDoublesSketch skA, + ArrayOfDoublesSketch skB)
      +
      Description copied from class: ArrayOfDoublesAnotB
      +
      Perform A-and-not-B set operation on the two given sketches. + A null sketch is interpreted as an empty sketch. + This is not an accumulating update. Calling update() more than once + without calling getResult() will discard the result of previous update(). + Both input sketches must have the same numValues.
      +
      +
      Specified by:
      +
      update in class ArrayOfDoublesAnotB
      +
      Parameters:
      +
      skA - The incoming sketch for the first argument
      +
      skB - The incoming sketch for the second argument
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ArrayOfDoublesCompactSketch getResult()
      +
      Description copied from class: ArrayOfDoublesAnotB
      +
      Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch
      +
      +
      Specified by:
      +
      getResult in class ArrayOfDoublesAnotB
      +
      Returns:
      +
      compact sketch representing the result of the operation
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ArrayOfDoublesCompactSketch getResult(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Description copied from class: ArrayOfDoublesAnotB
      +
      Gets the result of this operation in the form of a ArrayOfDoublesCompactSketch
      +
      +
      Specified by:
      +
      getResult in class ArrayOfDoublesAnotB
      +
      Parameters:
      +
      dstMem - memory for the result (can be null)
      +
      Returns:
      +
      compact sketch representing the result of the operation (off-heap if memory is + provided)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCombiner.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCombiner.html new file mode 100644 index 000000000..c5a826be7 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCombiner.html @@ -0,0 +1,142 @@ + + + + +ArrayOfDoublesCombiner (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ArrayOfDoublesCombiner

+
+
+
+
public interface ArrayOfDoublesCombiner
+
Combines two arrays of double values for use with ArrayOfDoubles tuple sketches
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double[]
    +
    combine(double[] a, + double[] b)
    +
    +
    Method of combining two arrays of double values
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      combine

      +
      double[] combine(double[] a, + double[] b)
      +
      Method of combining two arrays of double values
      +
      +
      Parameters:
      +
      a - Array A.
      +
      b - Array B.
      +
      Returns:
      +
      Result of combining A and B
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html new file mode 100644 index 000000000..69298a040 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesCompactSketch.html @@ -0,0 +1,172 @@ + + + + +ArrayOfDoublesCompactSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesCompactSketch

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCompactSketch
+
+
+
+
+
public abstract class ArrayOfDoublesCompactSketch +extends ArrayOfDoublesSketch
+
Top level compact tuple sketch of type ArrayOfDoubles. Compact sketches are never created + directly. They are created as a result of the compact() method on a QuickSelectSketch + or the getResult() method of a set operation like Union, Intersection or AnotB. + Compact sketch consists of a compact list (i.e. no intervening spaces) of hash values, + corresponding list of double values, and a value for theta. The lists may or may + not be ordered. A compact sketch is read-only.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCurrentBytes

      +
      public int getCurrentBytes()
      +
      Description copied from class: ArrayOfDoublesSketch
      +
      For compact sketches this is the same as getMaxBytes().
      +
      +
      Specified by:
      +
      getCurrentBytes in class ArrayOfDoublesSketch
      +
      Returns:
      +
      the current number of bytes for this sketch when serialized.
      +
      +
      +
    • +
    • +
      +

      getMaxBytes

      +
      public int getMaxBytes()
      +
      +
      Specified by:
      +
      getMaxBytes in class ArrayOfDoublesSketch
      +
      Returns:
      +
      the maximum number of bytes for this sketch when serialized.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html new file mode 100644 index 000000000..acf081b84 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesIntersection.html @@ -0,0 +1,197 @@ + + + + +ArrayOfDoublesIntersection (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesIntersection

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesIntersection
+
+
+
+
public abstract class ArrayOfDoublesIntersection +extends Object
+
Computes the intersection of two or more tuple sketches of type ArrayOfDoubles. + A new instance represents the Universal Set. + Every update() computes an intersection with the internal set + and can only reduce the internal set.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      intersect

      +
      public void intersect(ArrayOfDoublesSketch tupleSketch, + ArrayOfDoublesCombiner combiner)
      +
      Performs a stateful intersection of the internal set with the given tupleSketch. + The given tupleSketch and the internal state must have the same numValues.
      +
      +
      Parameters:
      +
      tupleSketch - Input sketch to intersect with the internal set.
      +
      combiner - Method of combining two arrays of double values
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ArrayOfDoublesCompactSketch getResult()
      +
      Gets the internal set as an on-heap compact sketch.
      +
      +
      Returns:
      +
      Result of the intersections so far as a compact sketch.
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ArrayOfDoublesCompactSketch getResult(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Gets the result of stateful intersections so far.
      +
      +
      Parameters:
      +
      dstMem - Memory for the compact sketch (can be null).
      +
      Returns:
      +
      Result of the intersections so far as a compact sketch.
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets the internal set to the initial state, which represents the Universal Set
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html new file mode 100644 index 000000000..0b38a3f48 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSetOperationBuilder.html @@ -0,0 +1,370 @@ + + + + +ArrayOfDoublesSetOperationBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesSetOperationBuilder

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder
+
+
+
+
public class ArrayOfDoublesSetOperationBuilder +extends Object
+
Builds set operations object for tuple sketches of type ArrayOfDoubles.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      DEFAULT_NOMINAL_ENTRIES

      +
      public static final int DEFAULT_NOMINAL_ENTRIES
      +
      Default Nominal Entries (a.k.a. K)
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      DEFAULT_NUMBER_OF_VALUES

      +
      public static final int DEFAULT_NUMBER_OF_VALUES
      +
      Default number of values
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfDoublesSetOperationBuilder

      +
      public ArrayOfDoublesSetOperationBuilder()
      +
      Creates an instance of the builder with default parameters
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setNominalEntries

      +
      public ArrayOfDoublesSetOperationBuilder setNominalEntries(int nomEntries)
      +
      This is to set the nominal number of entries.
      +
      +
      Parameters:
      +
      nomEntries - Nominal number of entries. Forced to the nearest power of 2 greater than + given value.
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      setNumberOfValues

      +
      public ArrayOfDoublesSetOperationBuilder setNumberOfValues(int numValues)
      +
      This is to set the number of double values associated with each key
      +
      +
      Parameters:
      +
      numValues - number of double values
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      setSeed

      +
      public ArrayOfDoublesSetOperationBuilder setSeed(long seed)
      +
      Sets the long seed value that is required by the hashing function.
      +
      +
      Parameters:
      +
      seed - See seed
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      buildUnion

      +
      public ArrayOfDoublesUnion buildUnion()
      +
      Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder. + The new instance is allocated on the heap if the memory is not provided.
      +
      +
      Returns:
      +
      an instance of ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      buildUnion

      +
      public ArrayOfDoublesUnion buildUnion(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder + and the given destination memory.
      +
      +
      Parameters:
      +
      dstMem - destination memory to be used by the sketch
      +
      Returns:
      +
      an instance of ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      buildIntersection

      +
      public ArrayOfDoublesIntersection buildIntersection()
      +
      Creates an instance of ArrayOfDoublesIntersection based on the current configuration of the + builder. + The new instance is allocated on the heap if the memory is not provided. + The number of nominal entries is not relevant to this, so it is ignored.
      +
      +
      Returns:
      +
      an instance of ArrayOfDoublesIntersection
      +
      +
      +
    • +
    • +
      +

      buildIntersection

      +
      public ArrayOfDoublesIntersection buildIntersection(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Creates an instance of ArrayOfDoublesIntersection based on the current configuration of the + builder. + The new instance is allocated on the heap if the memory is not provided. + The number of nominal entries is not relevant to this, so it is ignored.
      +
      +
      Parameters:
      +
      dstMem - destination memory to be used by the sketch
      +
      Returns:
      +
      an instance of ArrayOfDoublesIntersection
      +
      +
      +
    • +
    • +
      +

      buildAnotB

      +
      public ArrayOfDoublesAnotB buildAnotB()
      +
      Creates an instance of ArrayOfDoublesAnotB based on the current configuration of the builder. + The memory is not relevant to this, so it is ignored if set. + The number of nominal entries is not relevant to this, so it is ignored.
      +
      +
      Returns:
      +
      an instance of ArrayOfDoublesAnotB
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html new file mode 100644 index 000000000..5ebfe0a87 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketch.html @@ -0,0 +1,467 @@ + + + + +ArrayOfDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesSketch

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch
+
+
+
+
Direct Known Subclasses:
+
ArrayOfDoublesCompactSketch, ArrayOfDoublesUpdatableSketch
+
+
+
public abstract class ArrayOfDoublesSketch +extends Object
+
The base class for the tuple sketch of type ArrayOfDoubles, where an array of double values + is associated with each key. + A primitive array of doubles is used here, as opposed to a generic Summary object, + for improved performance.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static ArrayOfDoublesSketch heapify(org.apache.datasketches.memory.Memory mem)
      +
      Heapify the given Memory as an ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static ArrayOfDoublesSketch heapify(org.apache.datasketches.memory.Memory mem, + long seed)
      +
      Heapify the given Memory and seed as a ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesSketch wrap(org.apache.datasketches.memory.Memory mem)
      +
      Wrap the given Memory as an ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesSketch wrap(org.apache.datasketches.memory.Memory mem, + long seed)
      +
      Wrap the given Memory and seed as a ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      getEstimate

      +
      public double getEstimate()
      +
      Estimates the cardinality of the set (number of unique values presented to the sketch)
      +
      +
      Returns:
      +
      best estimate of the number of unique values
      +
      +
      +
    • +
    • +
      +

      getUpperBound

      +
      public double getUpperBound(int numStdDev)
      +
      Gets the approximate upper error bound given the specified number of Standard Deviations. + This will return getEstimate() if isEmpty() is true.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      Returns:
      +
      the upper bound.
      +
      +
      +
    • +
    • +
      +

      getLowerBound

      +
      public double getLowerBound(int numStdDev)
      +
      Gets the approximate lower error bound given the specified number of Standard Deviations. + This will return getEstimate() if isEmpty() is true.
      +
      +
      Parameters:
      +
      numStdDev - See Number of Standard Deviations
      +
      Returns:
      +
      the lower bound.
      +
      +
      +
    • +
    • +
      +

      hasMemory

      +
      public abstract boolean hasMemory()
      +
      Returns true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      Returns:
      +
      true if this sketch's data structure is backed by Memory or WritableMemory.
      +
      +
      +
    • +
    • +
      +

      isEmpty

      +
      public boolean isEmpty()
      + +
      +
      Returns:
      +
      true if empty.
      +
      +
      +
    • +
    • +
      +

      getNumValues

      +
      public int getNumValues()
      +
      +
      Returns:
      +
      number of double values associated with each key
      +
      +
      +
    • +
    • +
      +

      isEstimationMode

      +
      public boolean isEstimationMode()
      +
      Returns true if the sketch is Estimation Mode (as opposed to Exact Mode). + This is true if theta < 1.0 AND isEmpty() is false.
      +
      +
      Returns:
      +
      true if the sketch is in estimation mode.
      +
      +
      +
    • +
    • +
      +

      getTheta

      +
      public double getTheta()
      +
      Gets the value of theta as a double between zero and one
      +
      +
      Returns:
      +
      the value of theta as a double
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public abstract int getRetainedEntries()
      +
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getMaxBytes

      +
      public abstract int getMaxBytes()
      +
      +
      Returns:
      +
      the maximum number of bytes for this sketch when serialized.
      +
      +
      +
    • +
    • +
      +

      getCurrentBytes

      +
      public abstract int getCurrentBytes()
      +
      For compact sketches this is the same as getMaxBytes().
      +
      +
      Returns:
      +
      the current number of bytes for this sketch when serialized.
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public abstract byte[] toByteArray()
      +
      +
      Returns:
      +
      serialized representation of the sketch
      +
      +
      +
    • +
    • +
      +

      getValues

      +
      public abstract double[][] getValues()
      +
      +
      Returns:
      +
      array of arrays of double values in the sketch
      +
      +
      +
    • +
    • +
      +

      iterator

      +
      public abstract ArrayOfDoublesSketchIterator iterator()
      +
      +
      Returns:
      +
      iterator over the sketch
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public ArrayOfDoublesCompactSketch compact()
      +
      +
      Returns:
      +
      this sketch in compact form, which is immutable.
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public abstract ArrayOfDoublesCompactSketch compact(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      +
      Parameters:
      +
      dstMem - the destination WritableMemory
      +
      Returns:
      +
      this sketch in compact form, which is immutable.
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      +
      Overrides:
      +
      toString in class Object
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html new file mode 100644 index 000000000..ccfc22248 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketchIterator.html @@ -0,0 +1,178 @@ + + + + +ArrayOfDoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ArrayOfDoublesSketchIterator

+
+
+
+
public interface ArrayOfDoublesSketchIterator
+
Interface for iterating over tuple sketches of type ArrayOfDoubles
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    long
    + +
    +
    Gets a key from the current entry in the sketch, which is a hash + of the original key passed to update().
    +
    +
    double[]
    + +
    +
    Gets an array of values from the current entry in the sketch.
    +
    +
    boolean
    + +
    +
    Advancing the iterator and checking existence of the next entry + is combined here for efficiency.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      next

      +
      boolean next()
      +
      Advancing the iterator and checking existence of the next entry + is combined here for efficiency. This results in an undefined + state of the iterator before the first call of this method.
      +
      +
      Returns:
      +
      true if the next element exists
      +
      +
      +
    • +
    • +
      +

      getKey

      +
      long getKey()
      +
      Gets a key from the current entry in the sketch, which is a hash + of the original key passed to update(). The original keys are not + retained. Don't call this before calling next() for the first time + or after getting false from next().
      +
      +
      Returns:
      +
      hash key from the current entry
      +
      +
      +
    • +
    • +
      +

      getValues

      +
      double[] getValues()
      +
      Gets an array of values from the current entry in the sketch. + Don't call this before calling next() for the first time + or after getting false from next().
      +
      +
      Returns:
      +
      array of double values for the current entry (may or may not be a copy)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html new file mode 100644 index 000000000..5c6941f05 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesSketches.html @@ -0,0 +1,428 @@ + + + + +ArrayOfDoublesSketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesSketches

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+
+
+
+
public final class ArrayOfDoublesSketches +extends Object
+
Convenient static methods to instantiate tuple sketches of type ArrayOfDoubles.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfDoublesSketches

      +
      public ArrayOfDoublesSketches()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapifySketch

      +
      public static ArrayOfDoublesSketch heapifySketch(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify the given Memory as an ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      heapifySketch

      +
      public static ArrayOfDoublesSketch heapifySketch(org.apache.datasketches.memory.Memory srcMem, + long seed)
      +
      Heapify the given Memory and seed as a ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      heapifyUpdatableSketch

      +
      public static ArrayOfDoublesUpdatableSketch heapifyUpdatableSketch(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify the given Memory as an ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      heapifyUpdatableSketch

      +
      public static ArrayOfDoublesUpdatableSketch heapifyUpdatableSketch(org.apache.datasketches.memory.Memory srcMem, + long seed)
      +
      Heapify the given Memory and seed as a ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      wrapSketch

      +
      public static ArrayOfDoublesSketch wrapSketch(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap the given Memory as an ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      wrapSketch

      +
      public static ArrayOfDoublesSketch wrapSketch(org.apache.datasketches.memory.Memory srcMem, + long seed)
      +
      Wrap the given Memory and seed as a ArrayOfDoublesSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesSketch
      +
      +
      +
    • +
    • +
      +

      wrapUpdatableSketch

      +
      public static ArrayOfDoublesUpdatableSketch wrapUpdatableSketch(org.apache.datasketches.memory.WritableMemory srcMem)
      +
      Wrap the given WritableMemory as an ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      wrapUpdatableSketch

      +
      public static ArrayOfDoublesUpdatableSketch wrapUpdatableSketch(org.apache.datasketches.memory.WritableMemory srcMem, + long seed)
      +
      Wrap the given WritableMemory and seed as a ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      heapifyUnion

      +
      public static ArrayOfDoublesUnion heapifyUnion(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify the given Memory as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      heapifyUnion

      +
      public static ArrayOfDoublesUnion heapifyUnion(org.apache.datasketches.memory.Memory srcMem, + long seed)
      +
      Heapify the given Memory and seed as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrapUnion

      +
      public static ArrayOfDoublesUnion wrapUnion(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap the given Memory as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrapUnion

      +
      public static ArrayOfDoublesUnion wrapUnion(org.apache.datasketches.memory.Memory srcMem, + long seed)
      +
      Wrap the given Memory and seed as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrapUnion

      +
      public static ArrayOfDoublesUnion wrapUnion(org.apache.datasketches.memory.WritableMemory srcMem)
      +
      Wrap the given Memory as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrapUnion

      +
      public static ArrayOfDoublesUnion wrapUnion(org.apache.datasketches.memory.WritableMemory srcMem, + long seed)
      +
      Wrap the given Memory and seed as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html new file mode 100644 index 000000000..e715ab785 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUnion.html @@ -0,0 +1,342 @@ + + + + +ArrayOfDoublesUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesUnion

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion
+
+
+
+
public abstract class ArrayOfDoublesUnion +extends Object
+
The base class for unions of tuple sketches of type ArrayOfDoubles.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static int
    +
    getMaxBytes(int nomEntries, + int numValues)
    +
     
    + + +
    +
    Returns the resulting union in the form of a compact sketch
    +
    + +
    getResult(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Returns the resulting union in the form of a compact sketch
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify the given Memory as an ArrayOfDoublesUnion
    +
    + +
    heapify(org.apache.datasketches.memory.Memory srcMem, + long seed)
    +
    +
    Heapify the given Memory and seed as an ArrayOfDoublesUnion
    +
    +
    void
    + +
    +
    Resets the union to an empty state
    +
    +
    byte[]
    + +
     
    +
    void
    + +
    +
    Updates the union by adding a set of entries from a given sketch, which can be on-heap or off-heap.
    +
    + +
    wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap the given Memory as an ArrayOfDoublesUnion
    +
    + +
    wrap(org.apache.datasketches.memory.Memory srcMem, + long seed)
    +
    +
    Wrap the given Memory and seed as an ArrayOfDoublesUnion
    +
    + +
    wrap(org.apache.datasketches.memory.WritableMemory srcMem)
    +
    +
    Wrap the given WritableMemory as an ArrayOfDoublesUnion
    +
    + +
    wrap(org.apache.datasketches.memory.WritableMemory srcMem, + long seed)
    +
    +
    Wrap the given WritableMemory and seed as an ArrayOfDoublesUnion
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static ArrayOfDoublesUnion heapify(org.apache.datasketches.memory.Memory srcMem)
      +
      Heapify the given Memory as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static ArrayOfDoublesUnion heapify(org.apache.datasketches.memory.Memory srcMem, + long seed)
      +
      Heapify the given Memory and seed as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesUnion wrap(org.apache.datasketches.memory.Memory srcMem)
      +
      Wrap the given Memory as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesUnion wrap(org.apache.datasketches.memory.Memory srcMem, + long seed)
      +
      Wrap the given Memory and seed as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesUnion wrap(org.apache.datasketches.memory.WritableMemory srcMem)
      +
      Wrap the given WritableMemory as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesUnion wrap(org.apache.datasketches.memory.WritableMemory srcMem, + long seed)
      +
      Wrap the given WritableMemory and seed as an ArrayOfDoublesUnion
      +
      +
      Parameters:
      +
      srcMem - the given source Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUnion
      +
      +
      +
    • +
    • +
      +

      union

      +
      public void union(ArrayOfDoublesSketch tupleSketch)
      +
      Updates the union by adding a set of entries from a given sketch, which can be on-heap or off-heap. + Both the given tupleSketch and the internal state of the Union must have the same numValues. + +

      Nulls and empty sketches are ignored.

      +
      +
      Parameters:
      +
      tupleSketch - sketch to add to the union
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ArrayOfDoublesCompactSketch getResult(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns the resulting union in the form of a compact sketch
      +
      +
      Parameters:
      +
      dstMem - memory for the result (can be null)
      +
      Returns:
      +
      compact sketch representing the union (off-heap if memory is provided)
      +
      +
      +
    • +
    • +
      +

      getResult

      +
      public ArrayOfDoublesCompactSketch getResult()
      +
      Returns the resulting union in the form of a compact sketch
      +
      +
      Returns:
      +
      on-heap compact sketch representing the union
      +
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets the union to an empty state
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      +
      Returns:
      +
      a byte array representation of this object
      +
      +
      +
    • +
    • +
      +

      getMaxBytes

      +
      public static int getMaxBytes(int nomEntries, + int numValues)
      +
      +
      Parameters:
      +
      nomEntries - Nominal number of entries. Forced to the nearest power of 2 greater than or equal to + given value.
      +
      numValues - Number of double values to keep for each key
      +
      Returns:
      +
      maximum required storage bytes given nomEntries and numValues
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html new file mode 100644 index 000000000..bc4ca24f6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketch.html @@ -0,0 +1,461 @@ + + + + +ArrayOfDoublesUpdatableSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesUpdatableSketch

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch
+
+
+
+
+
public abstract class ArrayOfDoublesUpdatableSketch +extends ArrayOfDoublesSketch
+
The top level for updatable tuple sketches of type ArrayOfDoubles.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapify

      +
      public static ArrayOfDoublesUpdatableSketch heapify(org.apache.datasketches.memory.Memory mem)
      +
      Heapify the given Memory as an ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      heapify

      +
      public static ArrayOfDoublesUpdatableSketch heapify(org.apache.datasketches.memory.Memory mem, + long seed)
      +
      Heapify the given Memory and seed as a ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesUpdatableSketch wrap(org.apache.datasketches.memory.WritableMemory mem)
      +
      Wrap the given WritableMemory as an ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      wrap

      +
      public static ArrayOfDoublesUpdatableSketch wrap(org.apache.datasketches.memory.WritableMemory mem, + long seed)
      +
      Wrap the given WritableMemory and seed as a ArrayOfDoublesUpdatableSketch
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      seed - the given seed
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long key, + double[] values)
      +
      Updates this sketch with a long key and double values. + The values will be stored or added to the ones associated with the key
      +
      +
      Parameters:
      +
      key - The given long key
      +
      values - The given values
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(double key, + double[] values)
      +
      Updates this sketch with a double key and double values. + The values will be stored or added to the ones associated with the key
      +
      +
      Parameters:
      +
      key - The given double key
      +
      values - The given values
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String key, + double[] values)
      +
      Updates this sketch with a String key and double values. + The values will be stored or added to the ones associated with the key
      +
      +
      Parameters:
      +
      key - The given String key
      +
      values - The given values
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(byte[] key, + double[] values)
      +
      Updates this sketch with a byte[] key and double values. + The values will be stored or added to the ones associated with the key
      +
      +
      Parameters:
      +
      key - The given byte[] key
      +
      values - The given values
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(ByteBuffer key, + double[] values)
      +
      Updates this sketch with a ByteBuffer key and double values. + The values will be stored or added to the ones associated with the key
      +
      +
      Parameters:
      +
      key - The given ByteBuffer key
      +
      values - The given values
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(int[] key, + double[] values)
      +
      Updates this sketch with a int[] key and double values. + The values will be stored or added to the ones associated with the key
      +
      +
      Parameters:
      +
      key - The given int[] key
      +
      values - The given values
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(long[] key, + double[] values)
      +
      Updates this sketch with a long[] key and double values. + The values will be stored or added to the ones associated with the key
      +
      +
      Parameters:
      +
      key - The given long[] key
      +
      values - The given values
      +
      +
      +
    • +
    • +
      +

      getNominalEntries

      +
      public abstract int getNominalEntries()
      +
      Gets the configured nominal number of entries
      +
      +
      Returns:
      +
      nominal number of entries
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public abstract ResizeFactor getResizeFactor()
      +
      Gets the configured resize factor
      +
      +
      Returns:
      +
      resize factor
      +
      +
      +
    • +
    • +
      +

      getSamplingProbability

      +
      public abstract float getSamplingProbability()
      +
      Gets the configured sampling probability
      +
      +
      Returns:
      +
      sampling probability
      +
      +
      +
    • +
    • +
      +

      trim

      +
      public abstract void trim()
      +
      Rebuilds reducing the actual number of entries to the nominal number of entries if needed
      +
      +
    • +
    • +
      +

      reset

      +
      public abstract void reset()
      +
      Resets this sketch an empty state.
      +
      +
    • +
    • +
      +

      compact

      +
      public ArrayOfDoublesCompactSketch compact()
      +
      Gets an on-heap compact representation of the sketch
      +
      +
      Overrides:
      +
      compact in class ArrayOfDoublesSketch
      +
      Returns:
      +
      compact sketch
      +
      +
      +
    • +
    • +
      +

      compact

      +
      public ArrayOfDoublesCompactSketch compact(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Gets an off-heap compact representation of the sketch using the given memory
      +
      +
      Specified by:
      +
      compact in class ArrayOfDoublesSketch
      +
      Parameters:
      +
      dstMem - memory for the compact sketch (can be null)
      +
      Returns:
      +
      compact sketch (off-heap if memory is provided)
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html new file mode 100644 index 000000000..ff28c2de5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/ArrayOfDoublesUpdatableSketchBuilder.html @@ -0,0 +1,286 @@ + + + + +ArrayOfDoublesUpdatableSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfDoublesUpdatableSketchBuilder

+
+
java.lang.Object +
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder
+
+
+
+
public class ArrayOfDoublesUpdatableSketchBuilder +extends Object
+
For building a new ArrayOfDoublesUpdatableSketch
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfDoublesUpdatableSketchBuilder

      +
      public ArrayOfDoublesUpdatableSketchBuilder()
      +
      Creates an instance of builder with default parameters
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setNominalEntries

      +
      public ArrayOfDoublesUpdatableSketchBuilder setNominalEntries(int nomEntries)
      +
      This is to set the nominal number of entries.
      +
      +
      Parameters:
      +
      nomEntries - Nominal number of entries. Forced to the nearest power of 2 greater than + or equal to given value.
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      setResizeFactor

      +
      public ArrayOfDoublesUpdatableSketchBuilder setResizeFactor(ResizeFactor resizeFactor)
      +
      This is to set the resize factor. + Value of X1 means that the maximum capacity is allocated from the start. + Default resize factor is X8.
      +
      +
      Parameters:
      +
      resizeFactor - value of X1, X2, X4 or X8
      +
      Returns:
      +
      this UpdatableSketchBuilder
      +
      +
      +
    • +
    • +
      +

      setSamplingProbability

      +
      public ArrayOfDoublesUpdatableSketchBuilder setSamplingProbability(float samplingProbability)
      +
      This is to set sampling probability. + Default probability is 1.
      +
      +
      Parameters:
      +
      samplingProbability - sampling probability from 0 to 1
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      setNumberOfValues

      +
      public ArrayOfDoublesUpdatableSketchBuilder setNumberOfValues(int numValues)
      +
      This is to set the number of double values associated with each key
      +
      +
      Parameters:
      +
      numValues - number of double values
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      setSeed

      +
      public ArrayOfDoublesUpdatableSketchBuilder setSeed(long seed)
      +
      Sets the long seed value that is required by the hashing function.
      +
      +
      Parameters:
      +
      seed - See seed
      +
      Returns:
      +
      this builder
      +
      +
      +
    • +
    • +
      +

      build

      + +
      Returns an ArrayOfDoublesUpdatableSketch with the current configuration of this Builder.
      +
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    • +
      +

      build

      +
      public ArrayOfDoublesUpdatableSketch build(org.apache.datasketches.memory.WritableMemory dstMem)
      +
      Returns an ArrayOfDoublesUpdatableSketch with the current configuration of this Builder.
      +
      +
      Parameters:
      +
      dstMem - instance of Memory to be used by the sketch
      +
      Returns:
      +
      an ArrayOfDoublesUpdatableSketch
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotB.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotB.html new file mode 100644 index 000000000..d2e712cd8 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotB.html @@ -0,0 +1,102 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotB (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotB

+
+
Packages that use ArrayOfDoublesAnotB
+
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotBImpl.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotBImpl.html new file mode 100644 index 000000000..45e008807 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesAnotBImpl.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotBImpl (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotBImpl

+
+No usage of org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesAnotBImpl
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCombiner.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCombiner.html new file mode 100644 index 000000000..bd05157cf --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCombiner.html @@ -0,0 +1,92 @@ + + + + +Uses of Interface org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCombiner (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCombiner

+
+
Packages that use ArrayOfDoublesCombiner
+
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCompactSketch.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCompactSketch.html new file mode 100644 index 000000000..0fe66c5bb --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesCompactSketch.html @@ -0,0 +1,138 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCompactSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesCompactSketch

+
+
Packages that use ArrayOfDoublesCompactSketch
+
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesIntersection.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesIntersection.html new file mode 100644 index 000000000..c4af4c7ca --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesIntersection.html @@ -0,0 +1,98 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesIntersection (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesIntersection

+
+
Packages that use ArrayOfDoublesIntersection
+
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSetOperationBuilder.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSetOperationBuilder.html new file mode 100644 index 000000000..b33c52362 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSetOperationBuilder.html @@ -0,0 +1,101 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSetOperationBuilder

+
+ +
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketch.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketch.html new file mode 100644 index 000000000..ab0c6162d --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketch.html @@ -0,0 +1,173 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketch

+
+
Packages that use ArrayOfDoublesSketch
+
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketchIterator.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketchIterator.html new file mode 100644 index 000000000..dc1350d2f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketchIterator.html @@ -0,0 +1,89 @@ + + + + +Uses of Interface org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketchIterator

+
+ +
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketches.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketches.html new file mode 100644 index 000000000..3f8da576b --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesSketches.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches

+
+No usage of org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesSketches
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUnion.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUnion.html new file mode 100644 index 000000000..27f210415 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUnion.html @@ -0,0 +1,163 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUnion

+
+
Packages that use ArrayOfDoublesUnion
+
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+
    +
  • +
    +

    Uses of ArrayOfDoublesUnion in org.apache.datasketches.tuple.arrayofdoubles

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    ArrayOfDoublesSetOperationBuilder.buildUnion()
    +
    +
    Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder.
    +
    + +
    ArrayOfDoublesSetOperationBuilder.buildUnion(org.apache.datasketches.memory.WritableMemory dstMem)
    +
    +
    Creates an instance of ArrayOfDoublesUnion based on the current configuration of the builder + and the given destination memory.
    +
    + +
    ArrayOfDoublesUnion.heapify(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify the given Memory as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesUnion.heapify(org.apache.datasketches.memory.Memory srcMem, + long seed)
    +
    +
    Heapify the given Memory and seed as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesSketches.heapifyUnion(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Heapify the given Memory as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesSketches.heapifyUnion(org.apache.datasketches.memory.Memory srcMem, + long seed)
    +
    +
    Heapify the given Memory and seed as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesUnion.wrap(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap the given Memory as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesUnion.wrap(org.apache.datasketches.memory.Memory srcMem, + long seed)
    +
    +
    Wrap the given Memory and seed as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesUnion.wrap(org.apache.datasketches.memory.WritableMemory srcMem)
    +
    +
    Wrap the given WritableMemory as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesUnion.wrap(org.apache.datasketches.memory.WritableMemory srcMem, + long seed)
    +
    +
    Wrap the given WritableMemory and seed as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesSketches.wrapUnion(org.apache.datasketches.memory.Memory srcMem)
    +
    +
    Wrap the given Memory as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesSketches.wrapUnion(org.apache.datasketches.memory.Memory srcMem, + long seed)
    +
    +
    Wrap the given Memory and seed as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesSketches.wrapUnion(org.apache.datasketches.memory.WritableMemory srcMem)
    +
    +
    Wrap the given Memory as an ArrayOfDoublesUnion
    +
    + +
    ArrayOfDoublesSketches.wrapUnion(org.apache.datasketches.memory.WritableMemory srcMem, + long seed)
    +
    +
    Wrap the given Memory and seed as an ArrayOfDoublesUnion
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketch.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketch.html new file mode 100644 index 000000000..2da9842d3 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketch.html @@ -0,0 +1,140 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketch

+
+ +
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketchBuilder.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketchBuilder.html new file mode 100644 index 000000000..edc87b932 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/class-use/ArrayOfDoublesUpdatableSketchBuilder.html @@ -0,0 +1,111 @@ + + + + +Uses of Class org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.arrayofdoubles.ArrayOfDoublesUpdatableSketchBuilder

+
+ +
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-summary.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-summary.html new file mode 100644 index 000000000..be39782a6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-summary.html @@ -0,0 +1,170 @@ + + + + +org.apache.datasketches.tuple.arrayofdoubles (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.tuple.arrayofdoubles

+
+
+
package org.apache.datasketches.tuple.arrayofdoubles
+
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-tree.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-tree.html new file mode 100644 index 000000000..5995b316e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-tree.html @@ -0,0 +1,98 @@ + + + + +org.apache.datasketches.tuple.arrayofdoubles Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.tuple.arrayofdoubles

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-use.html b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-use.html new file mode 100644 index 000000000..e6886c603 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/arrayofdoubles/package-use.html @@ -0,0 +1,125 @@ + + + + +Uses of Package org.apache.datasketches.tuple.arrayofdoubles (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.tuple.arrayofdoubles

+
+ +
+
Package
+
Description
+ +
+
This package is for a concrete implementation of the Tuple sketch for an array of double values.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/AnotB.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/AnotB.html new file mode 100644 index 000000000..072ae7d86 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/AnotB.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.AnotB (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.AnotB

+
+No usage of org.apache.datasketches.tuple.AnotB
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/CompactSketch.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/CompactSketch.html new file mode 100644 index 000000000..16d80d561 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/CompactSketch.html @@ -0,0 +1,163 @@ + + + + +Uses of Class org.apache.datasketches.tuple.CompactSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.CompactSketch

+
+
Packages that use CompactSketch
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/DeserializeResult.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/DeserializeResult.html new file mode 100644 index 000000000..a931dd118 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/DeserializeResult.html @@ -0,0 +1,157 @@ + + + + +Uses of Class org.apache.datasketches.tuple.DeserializeResult (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.DeserializeResult

+
+
Packages that use DeserializeResult
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/Filter.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/Filter.html new file mode 100644 index 000000000..2b975fd97 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/Filter.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.Filter (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.Filter

+
+No usage of org.apache.datasketches.tuple.Filter
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/Intersection.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/Intersection.html new file mode 100644 index 000000000..8141bf3f6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/Intersection.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.Intersection (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.Intersection

+
+No usage of org.apache.datasketches.tuple.Intersection
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/JaccardSimilarity.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/JaccardSimilarity.html new file mode 100644 index 000000000..5a9726225 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/JaccardSimilarity.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.JaccardSimilarity (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.JaccardSimilarity

+
+No usage of org.apache.datasketches.tuple.JaccardSimilarity
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.SketchType.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.SketchType.html new file mode 100644 index 000000000..79a4973a2 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.SketchType.html @@ -0,0 +1,116 @@ + + + + +Uses of Enum Class org.apache.datasketches.tuple.SerializerDeserializer.SketchType (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Enum Class
org.apache.datasketches.tuple.SerializerDeserializer.SketchType

+
+ +
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.html new file mode 100644 index 000000000..08db3bc36 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/SerializerDeserializer.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.SerializerDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.SerializerDeserializer

+
+No usage of org.apache.datasketches.tuple.SerializerDeserializer
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/Sketch.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/Sketch.html new file mode 100644 index 000000000..1b1f5e22e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/Sketch.html @@ -0,0 +1,378 @@ + + + + +Uses of Class org.apache.datasketches.tuple.Sketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.Sketch

+
+
Packages that use Sketch
+
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/Sketches.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/Sketches.html new file mode 100644 index 000000000..9b7496bbf --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/Sketches.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.Sketches (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.Sketches

+
+No usage of org.apache.datasketches.tuple.Sketches
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/Summary.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/Summary.html new file mode 100644 index 000000000..dda9e1d54 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/Summary.html @@ -0,0 +1,406 @@ + + + + +Uses of Interface org.apache.datasketches.tuple.Summary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.tuple.Summary

+
+
Packages that use Summary
+
+
Package
+
Description
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryDeserializer.html new file mode 100644 index 000000000..f71f35f71 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryDeserializer.html @@ -0,0 +1,171 @@ + + + + +Uses of Interface org.apache.datasketches.tuple.SummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.tuple.SummaryDeserializer

+
+
Packages that use SummaryDeserializer
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryFactory.html new file mode 100644 index 000000000..027694bd6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/SummaryFactory.html @@ -0,0 +1,193 @@ + + + + +Uses of Interface org.apache.datasketches.tuple.SummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.tuple.SummaryFactory

+
+
Packages that use SummaryFactory
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/SummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/SummarySetOperations.html new file mode 100644 index 000000000..739ff851a --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/SummarySetOperations.html @@ -0,0 +1,238 @@ + + + + +Uses of Interface org.apache.datasketches.tuple.SummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.tuple.SummarySetOperations

+
+
Packages that use SummarySetOperations
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/TupleSketchIterator.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/TupleSketchIterator.html new file mode 100644 index 000000000..37d63c71e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/TupleSketchIterator.html @@ -0,0 +1,96 @@ + + + + +Uses of Class org.apache.datasketches.tuple.TupleSketchIterator (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.TupleSketchIterator

+
+
Packages that use TupleSketchIterator
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/Union.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/Union.html new file mode 100644 index 000000000..79bb64e66 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/Union.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.Union (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.Union

+
+No usage of org.apache.datasketches.tuple.Union
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketch.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketch.html new file mode 100644 index 000000000..64e6f9de1 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketch.html @@ -0,0 +1,189 @@ + + + + +Uses of Class org.apache.datasketches.tuple.UpdatableSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.UpdatableSketch

+
+
Packages that use UpdatableSketch
+
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketchBuilder.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketchBuilder.html new file mode 100644 index 000000000..4af78214e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSketchBuilder.html @@ -0,0 +1,103 @@ + + + + +Uses of Class org.apache.datasketches.tuple.UpdatableSketchBuilder (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.UpdatableSketchBuilder

+
+
Packages that use UpdatableSketchBuilder
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSummary.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSummary.html new file mode 100644 index 000000000..a4d2d73e0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/UpdatableSummary.html @@ -0,0 +1,181 @@ + + + + +Uses of Interface org.apache.datasketches.tuple.UpdatableSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
org.apache.datasketches.tuple.UpdatableSummary

+
+
Packages that use UpdatableSummary
+
+
Package
+
Description
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/class-use/Util.html b/docs/621/merge/org/apache/datasketches/tuple/class-use/Util.html new file mode 100644 index 000000000..64d75870e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/class-use/Util.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.Util (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.Util

+
+No usage of org.apache.datasketches.tuple.Util
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/package-summary.html b/docs/621/merge/org/apache/datasketches/tuple/package-summary.html new file mode 100644 index 000000000..b823a3669 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/package-summary.html @@ -0,0 +1,209 @@ + + + + +org.apache.datasketches.tuple (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.tuple

+
+
+
package org.apache.datasketches.tuple
+
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+
+
    +
  • + +
  • +
  • +
    +
    +
    +
    +
    Class
    +
    Description
    +
    AnotB<S extends Summary>
    +
    +
    Computes a set difference, A-AND-NOT-B, of two generic tuple sketches.
    +
    + +
    +
    CompactSketches are never created directly.
    +
    + +
    +
    Returns an object and its size in bytes as a result of a deserialize operation
    +
    +
    Filter<T extends Summary>
    +
    +
    Class for filtering entries from a Sketch given a Summary
    +
    + +
    +
    Computes an intersection of two or more generic tuple sketches or generic tuple sketches + combined with theta sketches.
    +
    + +
    +
    Jaccard similarity of two Tuple Sketches, or alternatively, of a Tuple and Theta Sketch.
    +
    + +
    +
    Multipurpose serializer-deserializer for a collection of sketches defined by the enum.
    +
    + +
    +
    Defines the sketch classes that this SerializerDeserializer can handle.
    +
    +
    Sketch<S extends Summary>
    +
    +
    This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
    +
    + +
    +
    Convenient static methods to instantiate generic tuple sketches.
    +
    + +
    +
    Interface for user-defined Summary, which is associated with every hash in a tuple sketch
    +
    + +
    +
    Interface for deserializing user-defined Summary
    +
    + +
    +
    Interface for user-defined SummaryFactory
    +
    + +
    +
    This is to provide methods of producing unions and intersections of two Summary objects.
    +
    + +
    +
    Iterator over a generic tuple sketch
    +
    +
    Union<S extends Summary>
    +
    +
    Compute the union of two or more generic tuple sketches or generic tuple sketches combined with + theta sketches.
    +
    + +
    +
    An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
    +
    + +
    +
    For building a new generic tuple UpdatableSketch
    +
    + +
    +
    Interface for updating user-defined Summary
    +
    + +
    +
    Common utility functions for Tuples
    +
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/package-tree.html b/docs/621/merge/org/apache/datasketches/tuple/package-tree.html new file mode 100644 index 000000000..ddae39f3e --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/package-tree.html @@ -0,0 +1,119 @@ + + + + +org.apache.datasketches.tuple Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.tuple

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/package-use.html b/docs/621/merge/org/apache/datasketches/tuple/package-use.html new file mode 100644 index 000000000..0127a22f5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/package-use.html @@ -0,0 +1,324 @@ + + + + +Uses of Package org.apache.datasketches.tuple (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.tuple

+
+ +
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+ +
+
This package contains common tools and methods for the theta, + tuple, tuple/* and fdt packages.
+
+ +
+
The tuple package contains a number of sketches based on the same + fundamental algorithms of the Theta Sketch Framework and extend these + concepts for whole new families of sketches.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Double value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single Integer value.
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
    +
    + +
    +
    An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
    +
    + +
    +
    Interface for user-defined Summary, which is associated with every hash in a tuple sketch
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    CompactSketches are never created directly.
    +
    + +
    +
    Returns an object and its size in bytes as a result of a deserialize operation
    +
    + +
    +
    Defines the sketch classes that this SerializerDeserializer can handle.
    +
    + +
    +
    This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
    +
    + +
    +
    Interface for user-defined Summary, which is associated with every hash in a tuple sketch
    +
    + +
    +
    Interface for deserializing user-defined Summary
    +
    + +
    +
    Interface for user-defined SummaryFactory
    +
    + +
    +
    This is to provide methods of producing unions and intersections of two Summary objects.
    +
    + +
    +
    Iterator over a generic tuple sketch
    +
    + +
    +
    An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
    +
    + +
    +
    For building a new generic tuple UpdatableSketch
    +
    + +
    +
    Interface for updating user-defined Summary
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Returns an object and its size in bytes as a result of a deserialize operation
    +
    + +
    +
    This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
    +
    + +
    +
    Interface for user-defined Summary, which is associated with every hash in a tuple sketch
    +
    + +
    +
    Interface for deserializing user-defined Summary
    +
    + +
    +
    Interface for user-defined SummaryFactory
    +
    + +
    +
    This is to provide methods of producing unions and intersections of two Summary objects.
    +
    + +
    +
    An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
    +
    + +
    +
    Interface for updating user-defined Summary
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Returns an object and its size in bytes as a result of a deserialize operation
    +
    + +
    +
    This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
    +
    + +
    +
    Interface for user-defined Summary, which is associated with every hash in a tuple sketch
    +
    + +
    +
    Interface for deserializing user-defined Summary
    +
    + +
    +
    Interface for user-defined SummaryFactory
    +
    + +
    +
    This is to provide methods of producing unions and intersections of two Summary objects.
    +
    + +
    +
    An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
    +
    + +
    +
    Interface for updating user-defined Summary
    +
    +
    +
    +
  • +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    Returns an object and its size in bytes as a result of a deserialize operation
    +
    + +
    +
    This is an equivalent to org.apache.datasketches.theta.Sketch with + addition of a user-defined Summary object associated with every unique entry + in the sketch.
    +
    + +
    +
    Interface for user-defined Summary, which is associated with every hash in a tuple sketch
    +
    + +
    +
    Interface for deserializing user-defined Summary
    +
    + +
    +
    Interface for user-defined SummaryFactory
    +
    + +
    +
    This is to provide methods of producing unions and intersections of two Summary objects.
    +
    + +
    +
    An extension of QuickSelectSketch<S>, which can be updated with many types of keys.
    +
    + +
    +
    Interface for updating user-defined Summary
    +
    +
    +
    +
  • +
+
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html new file mode 100644 index 000000000..11607c894 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSketch.html @@ -0,0 +1,493 @@ + + + + +ArrayOfStringsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfStringsSketch

+
+ +
+
+
Direct Known Subclasses:
+
FdtSketch
+
+
+
public class ArrayOfStringsSketch +extends UpdatableSketch<String[],ArrayOfStringsSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfStringsSketch

      +
      public ArrayOfStringsSketch()
      +
      Constructs new sketch with default K = 4096 (lgK = 12), default ResizeFactor=X8, + and default p = 1.0.
      +
      +
    • +
    • +
      +

      ArrayOfStringsSketch

      +
      public ArrayOfStringsSketch(int lgK)
      +
      Constructs new sketch with default ResizeFactor=X8, default p = 1.0 and given lgK.
      +
      +
      Parameters:
      +
      lgK - Log_base2 of Nominal Entries. + See Nominal Entries
      +
      +
      +
    • +
    • +
      +

      ArrayOfStringsSketch

      +
      public ArrayOfStringsSketch(int lgK, + ResizeFactor rf, + float p)
      +
      Constructs new sketch with given ResizeFactor, p and lgK.
      +
      +
      Parameters:
      +
      lgK - Log_base2 of Nominal Entries. + See Nominal Entries
      +
      rf - ResizeFactor + See Resize Factor
      +
      p - sampling probability + See Sampling Probability
      +
      +
      +
    • +
    • +
      +

      ArrayOfStringsSketch

      +
      @Deprecated +public ArrayOfStringsSketch(org.apache.datasketches.memory.Memory mem)
      +
      Deprecated. +
      As of 3.0.0, heapifying an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Heapifying a CompactSketch is not deprecated.
      +
      +
      Constructs this sketch from a Memory image, which must be from an ArrayOfStringsSketch, and + usually with data.
      +
      +
      Parameters:
      +
      mem - the given Memory
      +
      +
      +
    • +
    • +
      +

      ArrayOfStringsSketch

      +
      public ArrayOfStringsSketch(ArrayOfStringsSketch sketch)
      +
      Copy Constructor
      +
      +
      Parameters:
      +
      sketch - the sketch to copy
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      copy

      +
      public ArrayOfStringsSketch copy()
      +
      +
      Overrides:
      +
      copy in class UpdatableSketch<String[],ArrayOfStringsSummary>
      +
      Returns:
      +
      a deep copy of this sketch
      +
      +
      +
    • +
    • +
      +

      update

      +
      public void update(String[] strArrKey, + String[] strArr)
      +
      Updates the sketch with String arrays for both key and value.
      +
      +
      Parameters:
      +
      strArrKey - the given String array key
      +
      strArr - the given String array value
      +
      +
      +
    • +
    • +
      +

      getRetainedEntries

      +
      public int getRetainedEntries()
      +
      +
      Specified by:
      +
      getRetainedEntries in class Sketch<S extends Summary>
      +
      Returns:
      +
      number of retained entries
      +
      +
      +
    • +
    • +
      +

      getCountLessThanThetaLong

      +
      public int getCountLessThanThetaLong(long thetaLong)
      +
      Description copied from class: Sketch
      +
      Gets the number of hash values less than the given theta expressed as a long.
      +
      +
      Specified by:
      +
      getCountLessThanThetaLong in class Sketch<S extends Summary>
      +
      Parameters:
      +
      thetaLong - the given theta as a long between zero and Long.MAX_VALUE.
      +
      Returns:
      +
      the number of hash values less than the given thetaLong.
      +
      +
      +
    • +
    • +
      +

      getNominalEntries

      +
      public int getNominalEntries()
      +
      Get configured nominal number of entries
      +
      +
      Returns:
      +
      nominal number of entries
      +
      +
      +
    • +
    • +
      +

      getLgK

      +
      public int getLgK()
      +
      Get log_base2 of Nominal Entries
      +
      +
      Returns:
      +
      log_base2 of Nominal Entries
      +
      +
      +
    • +
    • +
      +

      getSamplingProbability

      +
      public float getSamplingProbability()
      +
      Get configured sampling probability
      +
      +
      Returns:
      +
      sampling probability
      +
      +
      +
    • +
    • +
      +

      getCurrentCapacity

      +
      public int getCurrentCapacity()
      +
      Get current capacity
      +
      +
      Returns:
      +
      current capacity
      +
      +
      +
    • +
    • +
      +

      getResizeFactor

      +
      public ResizeFactor getResizeFactor()
      +
      Get configured resize factor
      +
      +
      Returns:
      +
      resize factor
      +
      +
      +
    • +
    • +
      +

      trim

      +
      public void trim()
      +
      Rebuilds reducing the actual number of entries to the nominal number of entries if needed
      +
      +
    • +
    • +
      +

      reset

      +
      public void reset()
      +
      Resets this sketch an empty state.
      +
      +
    • +
    • +
      +

      compact

      + +
      Converts the current state of the sketch into a compact sketch
      +
      +
      Specified by:
      +
      compact in class Sketch<S extends Summary>
      +
      Returns:
      +
      compact sketch
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      @Deprecated +public byte[] toByteArray()
      +
      Deprecated. +
      As of 3.0.0, serializing an UpdatableSketch is deprecated. + This capability will be removed in a future release. + Serializing a CompactSketch is not deprecated.
      +
      +
      This serializes an UpdatableSketch (QuickSelectSketch).
      +
      +
      Specified by:
      +
      toByteArray in class Sketch<S extends Summary>
      +
      Returns:
      +
      serialized representation of an UpdatableSketch (QuickSelectSketch).
      +
      +
      +
    • +
    • +
      +

      iterator

      + +
      Description copied from class: Sketch
      +
      Returns a SketchIterator
      +
      +
      Specified by:
      +
      iterator in class Sketch<S extends Summary>
      +
      Returns:
      +
      a SketchIterator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html new file mode 100644 index 000000000..0e97ee9b6 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummary.html @@ -0,0 +1,240 @@ + + + + +ArrayOfStringsSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfStringsSummary

+
+
java.lang.Object +
org.apache.datasketches.tuple.strings.ArrayOfStringsSummary
+
+
+
+
All Implemented Interfaces:
+
Summary, UpdatableSummary<String[]>
+
+
+
public final class ArrayOfStringsSummary +extends Object +implements UpdatableSummary<String[]>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      copy

      +
      public ArrayOfStringsSummary copy()
      +
      Description copied from interface: Summary
      +
      Deep copy. + +

      Caution: This must implement a deep copy.

      +
      +
      Specified by:
      +
      copy in interface Summary
      +
      Returns:
      +
      deep copy of the Summary
      +
      +
      +
    • +
    • +
      +

      toByteArray

      +
      public byte[] toByteArray()
      +
      Description copied from interface: Summary
      +
      This is to serialize a Summary instance to a byte array. + +

      The user should encode in the byte array its total size, which is used during + deserialization, especially if the Summary has variable sized elements.

      +
      +
      Specified by:
      +
      toByteArray in interface Summary
      +
      Returns:
      +
      serialized representation of the Summary
      +
      +
      +
    • +
    • +
      +

      update

      +
      public ArrayOfStringsSummary update(String[] value)
      +
      Description copied from interface: UpdatableSummary
      +
      This is to provide a method of updating summaries. + This is primarily used internally.
      +
      +
      Specified by:
      +
      update in interface UpdatableSummary<String[]>
      +
      Parameters:
      +
      value - update value
      +
      Returns:
      +
      this
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object summary)
      +
      +
      Overrides:
      +
      equals in class Object
      +
      +
      +
    • +
    • +
      +

      getValue

      +
      public String[] getValue()
      +
      +
      Returns:
      +
      the nodes array for this summary.
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html new file mode 100644 index 000000000..b95f5c5ea --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryDeserializer.html @@ -0,0 +1,189 @@ + + + + +ArrayOfStringsSummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfStringsSummaryDeserializer

+
+
java.lang.Object +
org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryDeserializer
+
+
+
+
All Implemented Interfaces:
+
SummaryDeserializer<ArrayOfStringsSummary>
+
+
+
public class ArrayOfStringsSummaryDeserializer +extends Object +implements SummaryDeserializer<ArrayOfStringsSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfStringsSummaryDeserializer

      +
      public ArrayOfStringsSummaryDeserializer()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      heapifySummary

      +
      public DeserializeResult<ArrayOfStringsSummary> heapifySummary(org.apache.datasketches.memory.Memory mem)
      +
      Description copied from interface: SummaryDeserializer
      +
      This is to create an instance of a Summary given a serialized representation. + The user may assume that the start of the given Memory is the correct place to start + deserializing. However, the user must be able to determine the number of bytes required to + deserialize the summary as the capacity of the given Memory may + include multiple such summaries and may be much larger than required for a single summary.
      +
      +
      Specified by:
      +
      heapifySummary in interface SummaryDeserializer<ArrayOfStringsSummary>
      +
      Parameters:
      +
      mem - Memory object with serialized representation of a Summary
      +
      Returns:
      +
      DeserializedResult object, which contains a Summary object and number of bytes read + from the Memory
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html new file mode 100644 index 000000000..b1f9b7b96 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummaryFactory.html @@ -0,0 +1,178 @@ + + + + +ArrayOfStringsSummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfStringsSummaryFactory

+
+
java.lang.Object +
org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryFactory
+
+
+
+
All Implemented Interfaces:
+
SummaryFactory<ArrayOfStringsSummary>
+
+
+
public class ArrayOfStringsSummaryFactory +extends Object +implements SummaryFactory<ArrayOfStringsSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+ +
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html new file mode 100644 index 000000000..23f3b04ac --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/ArrayOfStringsSummarySetOperations.html @@ -0,0 +1,221 @@ + + + + +ArrayOfStringsSummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ArrayOfStringsSummarySetOperations

+
+
java.lang.Object +
org.apache.datasketches.tuple.strings.ArrayOfStringsSummarySetOperations
+
+
+
+
All Implemented Interfaces:
+
SummarySetOperations<ArrayOfStringsSummary>
+
+
+
public class ArrayOfStringsSummarySetOperations +extends Object +implements SummarySetOperations<ArrayOfStringsSummary>
+
+
Author:
+
Lee Rhodes
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ArrayOfStringsSummarySetOperations

      +
      public ArrayOfStringsSummarySetOperations()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      union

      + +
      Description copied from interface: SummarySetOperations
      +
      This is called by the union operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Specified by:
      +
      union in interface SummarySetOperations<ArrayOfStringsSummary>
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      union of Summary A and Summary B
      +
      +
      +
    • +
    • +
      +

      intersection

      + +
      Description copied from interface: SummarySetOperations
      +
      This is called by the intersection operator when both sketches have the same hash value. + +

      Caution: Do not modify the input Summary objects. Also do not return them directly, + unless they are immutable (most Summary objects are not). For mutable Summary objects, it is + important to create a new Summary object with the correct contents to be returned. Do not + return null summaries.

      +
      +
      Specified by:
      +
      intersection in interface SummarySetOperations<ArrayOfStringsSummary>
      +
      Parameters:
      +
      a - Summary from sketch A
      +
      b - Summary from sketch B
      +
      Returns:
      +
      intersection of Summary A and Summary B
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSketch.html b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSketch.html new file mode 100644 index 000000000..e237fd5b0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSketch.html @@ -0,0 +1,120 @@ + + + + +Uses of Class org.apache.datasketches.tuple.strings.ArrayOfStringsSketch (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.strings.ArrayOfStringsSketch

+
+
Packages that use ArrayOfStringsSketch
+
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummary.html b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummary.html new file mode 100644 index 000000000..ed6ff072f --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummary.html @@ -0,0 +1,126 @@ + + + + +Uses of Class org.apache.datasketches.tuple.strings.ArrayOfStringsSummary (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.strings.ArrayOfStringsSummary

+
+
Packages that use ArrayOfStringsSummary
+
+
Package
+
Description
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryDeserializer.html b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryDeserializer.html new file mode 100644 index 000000000..796beb211 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryDeserializer.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryDeserializer (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryDeserializer

+
+No usage of org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryDeserializer
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryFactory.html b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryFactory.html new file mode 100644 index 000000000..e158640d5 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummaryFactory.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryFactory (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryFactory

+
+No usage of org.apache.datasketches.tuple.strings.ArrayOfStringsSummaryFactory
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummarySetOperations.html b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummarySetOperations.html new file mode 100644 index 000000000..0def89311 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/class-use/ArrayOfStringsSummarySetOperations.html @@ -0,0 +1,62 @@ + + + + +Uses of Class org.apache.datasketches.tuple.strings.ArrayOfStringsSummarySetOperations (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
org.apache.datasketches.tuple.strings.ArrayOfStringsSummarySetOperations

+
+No usage of org.apache.datasketches.tuple.strings.ArrayOfStringsSummarySetOperations
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/package-summary.html b/docs/621/merge/org/apache/datasketches/tuple/strings/package-summary.html new file mode 100644 index 000000000..e5feec8b0 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/package-summary.html @@ -0,0 +1,125 @@ + + + + +org.apache.datasketches.tuple.strings (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Package org.apache.datasketches.tuple.strings

+
+
+
package org.apache.datasketches.tuple.strings
+
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/package-tree.html b/docs/621/merge/org/apache/datasketches/tuple/strings/package-tree.html new file mode 100644 index 000000000..e2d2d4352 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/package-tree.html @@ -0,0 +1,88 @@ + + + + +org.apache.datasketches.tuple.strings Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package org.apache.datasketches.tuple.strings

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/org/apache/datasketches/tuple/strings/package-use.html b/docs/621/merge/org/apache/datasketches/tuple/strings/package-use.html new file mode 100644 index 000000000..1bc3ba593 --- /dev/null +++ b/docs/621/merge/org/apache/datasketches/tuple/strings/package-use.html @@ -0,0 +1,103 @@ + + + + +Uses of Package org.apache.datasketches.tuple.strings (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
org.apache.datasketches.tuple.strings

+
+ +
+
Package
+
Description
+ +
+
Frequent Distinct Tuples Sketch
+
+ +
+
This package is for a generic implementation of the Tuple sketch for single String value.
+
+
+
+ +
+
+ +
+
+ + diff --git a/docs/621/merge/overview-summary.html b/docs/621/merge/overview-summary.html new file mode 100644 index 000000000..4ef4df2fc --- /dev/null +++ b/docs/621/merge/overview-summary.html @@ -0,0 +1,25 @@ + + + + +datasketches-java 7.0.0 API + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/docs/621/merge/overview-tree.html b/docs/621/merge/overview-tree.html new file mode 100644 index 000000000..433e812f2 --- /dev/null +++ b/docs/621/merge/overview-tree.html @@ -0,0 +1,398 @@ + + + + +Class Hierarchy (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
+ +
+
+ +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Annotation Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/docs/621/merge/package-search-index.js b/docs/621/merge/package-search-index.js new file mode 100644 index 000000000..f31308e56 --- /dev/null +++ b/docs/621/merge/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"org.apache.datasketches"},{"l":"org.apache.datasketches.common"},{"l":"org.apache.datasketches.cpc"},{"l":"org.apache.datasketches.fdt"},{"l":"org.apache.datasketches.filters"},{"l":"org.apache.datasketches.filters.bloomfilter"},{"l":"org.apache.datasketches.frequencies"},{"l":"org.apache.datasketches.hash"},{"l":"org.apache.datasketches.hll"},{"l":"org.apache.datasketches.hllmap"},{"l":"org.apache.datasketches.kll"},{"l":"org.apache.datasketches.partitions"},{"l":"org.apache.datasketches.quantiles"},{"l":"org.apache.datasketches.quantilescommon"},{"l":"org.apache.datasketches.req"},{"l":"org.apache.datasketches.sampling"},{"l":"org.apache.datasketches.tdigest"},{"l":"org.apache.datasketches.theta"},{"l":"org.apache.datasketches.thetacommon"},{"l":"org.apache.datasketches.tuple"},{"l":"org.apache.datasketches.tuple.adouble"},{"l":"org.apache.datasketches.tuple.aninteger"},{"l":"org.apache.datasketches.tuple.arrayofdoubles"},{"l":"org.apache.datasketches.tuple.strings"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/621/merge/resources/dictionary.html b/docs/621/merge/resources/dictionary.html new file mode 100644 index 000000000..55bafe089 --- /dev/null +++ b/docs/621/merge/resources/dictionary.html @@ -0,0 +1,282 @@ + + + + + + +Sketch Library Dictionary + + +

Sketch Library Dictionary

+ +

Sketch Accuracy

+Refers to sketch accuracy... + +

Alpha TCF

+The Alpha Theta Choosing Function (TCF) and the theory behind it is fully described in the +Theta Sketch Framework paper. +The alpha algorithm is optimized for speed and accuracy in a real-time sketch +building / estimating environment. +

One of the properties of the Alpha Algorithm used for cache management within a sketch is that +the value of Theta Long is always up-to-date. There may be +dirty hash +values in the cache, but the Alpha Algorithm estimation function ignores them.

+ +

Default Nominal Entries

+In Theta Sketches, the default nominal entries of 4096 is provided as a convenience for those cases where the +number of entries is not provided. +A sketch of 4096 entries has a Relative Standard Error (RSE) of +/- 1.56% at a confidence of 68%; +or equivalently, a Relative Error of +/- 3.1% at a confidence of 95.4%. + +

Default Update Seed

+

In Theta Sketches, the default Update Hash Seed 9001 is a prime number that was chosen +very early on in experimental testing. +Choosing a seed is somewhat arbitrary, and this particular seed is not superior to other seeds. +

In performing set operations on two sketches it is critical that the same hash +function and seed was used for both sketches, otherwise the assumed 1:1 relationship +between the original source key value and the hashed bit string would be violated. +Once you have developed a history of stored sketches you are stuck with your chosen seed. +So don't change it! +Update Hash Seed + +

Degenerate Sketch

+A sketch is considered degenerate if it has never reached reached +Estimation Mode where the count of its retained hash values is +exact and less than Nominal Entries (or k entries) +and no estimation is needed. This is also referred to as Exact Mode. + +

Destination Memory

+The destination Memory for this object. If not required it may be null. If not null and large +enough the returned object will be backed by this Memory. +If null, the returned object will be on the Java heap. + +

Destination Ordered

+In Theta Sketches, this refers to the ordering of hash values in a returned CompactSketch. +If true, the internal hash values will be ordered. This will enable much higher +performance during union (merge) operations but at the cost of a sort, which may not be +desirable in some applications, especially real-time. + +

Dirty Hash

+For the Theta Alpha Sketch, a retained hash value is considered dirty if it is ≥ Theta Long or < 0. +See Valid Hash. + +

isEmpty()

+In Theta Sketches, the state isEmpty() for a sketch means that the sketch cache has zero hash values and that none of the +update methods have been called with valid data. In other words, the sketch has never seen any data. +This state is equivalent to "null" in the sense that it is safe to exclude empty sketches from union operations. However, an empty sketch +will impact intersections and difference set operations. + +

Note that isEmpty() does not always mean that theta is 1.0 because if p < 1.0, theta will be set +equal to p during construction. +Also, a cache of zero values (getRetainedEntries(true) = 0) does not mean that the sketch is Empty since +set intersection or difference operations can result in a sketch with zero values. +If the sourcing sketches had seen data then a resulting intersection or difference sketch will be not Empty +and have valid upper and lower bounds even if the cache has zero values. In other words, the resulting sketch represents +a valid distribution of data that just happens to have zero samples collected from it. + +

Note also that a virgin Intersection object will return isEmpty() == false. This is because a virgin Intersection object represents +the Universe Set, which is clearly not empty.

+ +

These are subtle distinctions and exist for mathematical correctness. Excluding sketches that just have getRetainedEntries(true) = 0 +from set operations them could result in impacting the accuracy of results. + +

Estimation Mode

+Once a Theta Sketch exceeds the configured Nominal Entries, or k, number of retained hash values, +the sketch transitions into estimation mode where it must now estimate the population of uniques that +the retained entries represent. A sketch can also be in estimation mode if the sketch was configured with a +Sampling Probability < 1.0. +Estimation Mode = (θ < 1.0) & NOT empty. + +

lgNomLongs

+For Theta Sketches, the Log base 2 of the number of Nominal Entries. + +

lgArrLongs

+For Theta Sketches, the Log base 2 of the size of the internal hash table in 64-bit longs. + +

Memory

+The backing Memory object which may be a source or destination. + +

Nominal Entries

+For Theta Sketches and depending on the specific sketch, the constructor data type is int or String. +Acceptable values for constructing new sketches are positive integers that are powers of two. +This parameter specifies the target nominal number of entries (a.k.a. k) that will be retained in the internal cache +and ultimately determines the accuracy of the sketch (see Sketch Accuracy). +Internally each entry is retained as a long of 8 bytes. + +

The reason it is called "nominal" is that depending on the specific algorithm of the sketch, the actual +number of entries retained by the sketch after the sketch goes into estimation mode +may differ from the configured value. For the AlphaSketch the number of retained entries statistically varies +but has a mean of k. For the QuickSelect sketches, the number of retained entries will statistically +vary from k to almost 2*k. + +

Each sketch type also has a minimum acceptable value for this value. For QuickSelect Sketches this value is 16 and for +Alpha Sketches this value is 512. Specifying a value less than this minimum value just results in the minimum value being used. + +

Number of Standard Deviations

+This is a positive number, which may be either an integer (1, 2, or 3) or a double ≤ 3.0. +This value is used in the getUpperBounds(int numStdDev) and +getLowerBounds(int numStdDev) methods and represents (theoretically) the +/- standard deviation from the center of the +Standard Normal Gaussian Distribution. For example: + +

getUpperBound(1) returns the estimated quantile(0.841) of the distribution.
+getLowerBound(1) returns the estimated quantile(0.158) of the distribution.
+getUpperBound(2) returns the estimated quantile(0.977) of the distribution.
+getLowerBound(2) returns the estimated quantile(0.023) of the distribution.
+getUpperBound(3) returns the estimated quantile(0.9986) of the distribution.
+getLowerBound(3) returns the estimated quantile(0.0013) of the distribution.
+

+ +

However, for sketches with small configured values of Nominal Entries < 4096 for Theta or lgConfigK < 12 for HLL, +the error distribution of the sketch becomes quite asymmetric and cannot be approximated with a Gaussian. In these cases the interpretation of +numStdDev is that of an index that returns the quantile of the sketch error distribution that corresponds to fractional normalized rank +of the standard normal distribution at the specified numStdDev. + +

Thus, getUpperBound(1) and getLowerBound(2) represent the 68.3% confidence bounds, +getUpperBound(2) and getLowerBound(2) represent the 95.4% confidence bounds, and +getUpperBound(3) and getLowerBound(3) represent the 99.7% confidence bounds. +
+ +

For some sketches where the error distribution is not Gaussian, special mathematical approximation methods are used. +See Sketch Accuracy.

+ + + +

Quick Select TCF

+The fundamental Theta Sketch QuickSelect algorithm is described in classic algorithm texts by Sedgewick and +is the Theta Choosing Function (TCF) for the QuickSelect Sketches. +When the internal hash table of the sketch reaches its internal +refresh threshold, +the quick select algorithm is used to select the (k+1)th order statistic +from the hash table with a complexity of O(n). +The value of the selected hash becomes the new +Theta Long +and immediately makes some number of entries in the table +dirty. +The rebuild() method is called that rebuilds the hash table removing the +dirty values. +Since the value of Theta Long +is only changed when the hash table needs to be rebuilt, +the values in the hash table are only ever dirty +briefly during the rebuild process. +Thus, all the values in the hash table are always +valid during normal updating of the sketch. +

One of the benefits of using the QuickSelect algorithm for the cache management of the sketch is +that the number of valid hashes ranges from +nominal entries +to the current REBUILD_THRESHOLD, which is nominally 15/16 * cacheSize. +This means that without the user forcing +a rebuild(), the sketch, on average, may be about 50% larger than +nominal entries, about 19% more accurate, and faster.

+ +

Resize Factor

+For Theta Sketches, the Resize Factor is a dynamic, speed performance vs. memory size tradeoff. +The sketches created on-heap and configured with a Resize Factor of > X1 start out with +an internal hash table size that is the smallest submultiple of the the target +Nominal Entries +and larger than the minimum required hash table size for that sketch. +When the sketch needs to be resized larger, then the Resize Factor is used as a multiplier of +the current sketch cache array size.
+"X1" means no resizing is allowed and the sketch will be intialized at full size.
+"X2" means the internal cache will start very small and double in size until the target size is reached.
+Similarly, "X4" is a factor of 4 and "X8 is a factor of 8. + +

Sampling Probability p

+For Theta Sketches, the uniform random pre-sketching sampling probability. +Depending on the specific sketch, the constructor data type is float or String. +Incoming hashed data values are sampled by this probability factor before being submitted to +the sketching algorithm. For example, if p were set to 0.25, then on average, only one +forth of the incoming values, selected uniformly and at random, would be evaluated by the +sketching algorithm to be retained by the sketch. +Its default value is 1.0 (no sampling). +Its value must be in the range: 0 < p ≤ 1.0. +

This mode is particularly useful when merging large numbers of +degenerate sketches. + +

Seed

+For Theta Sketches, the long (64-bit) seed is required by the Update Hash Function. +This seed value is intentionally not serialized along with this sketch in order to provide +some security and protection against "dictionary attacks". +

In order to provide some protection against accidental mixing +of sketches that were generated with different seeds a short, 16-bit, +Seed Hash is stored with the sketch image. +When heapifying or wrapping an UpdateSketch image, which can be either a byte array or a Memory object, +the user must provide the original seed either directly or indirectly by assuming the DEFAULT_UPDATE_SEED. +The provided seed will be hashed and validated against the internal short Seed Hash and an error will be thrown if the seed hashes do not match. +The Set Operations classes, Union, Intersection and AnotB also require the user to provide the seed either directly or indirectly. +

An internal check will be made to make sure that the provided seed does not hash to a 16-bit value of zero. +If it does produce zero, an error will be thrown and the user must provide a different seed value. +
+See also Default Update Seed. + +

Seed Hash

+For Theta and Tuple Sketches, a 16-bit hash of the Update Hash Seed used internally to validate +(1) that two sketches undergoing set operations were, in fact, created using matching Update Hash Seeds; +or (2) that when deserializing or wrapping a sketch image that the caller has the correct seed. + +

Snow Plow Effect

+When coordinated hash tables are merged and if the merging process does not update the target sketch with sufficient randomness, clustering +in the target hash table can be greatly exaggerated causing poor speed performance for both updates and searches. This is called the +"snowplow" effect because of the analogy of visualizing the clusters in a hash table as piles of snow that grow larger and larger. Since the +size of the clusters are only represented by their width (not height like piles of snow), the clusters push themselves out horizontally and +merge together as if they were pushed together with a snowplow. + +

Theta Choosing Function (TCF)

+For Theta Sketches, the Theta Choosing Function (TCF) and the theory behind it is fully described in the +Theta Sketch Framework paper. + +

Theta, θ

+For Theta Sketches, refers to the mathematical random variable θ that represents the current probability +that the next, non-duplicate unique input value presented to the sketch will change the state of the sketch. +Given N uniquified inputs to a sketch configured to retain at most k hashes of the inputs, +θ ≈ k/N, 0 < θ ≤ 1.0, and θ = (double) thetaLong / Long.MAX_VALUE;. +See thetaLong. + +

thetaLong

+For Theta Sketches, the 64-bit, positive long equivalent of theta where
+0 < thetaLongLong.MAX_VALUE, and thetaLong = θ * Long.MAX_VALUE. + +

Theta Sketch Framework

+This framework enables sketches with different algorithms and Theta Choosing Functions +to be arguments to the Union, Intersection and AnotB Set Operations. +This framework also enables the sketches to share estimation, upper and lower bounds algorithms and +a common serialization data structure. +The Theta Sketch Framework, Theta Choosing Functions and the theory behind them is fully described +in the Theta Sketch Framework paper. + +

Update Return State

+For Theta Sketches, this provides useful detail for sketch characterization and debugging. It is not required that any of +these values be monitored during normal operation. +The UpdateReturnState is defined as follows: +
    +
  • InsertedCountIncremented: Inserted, not full, retained_entries_count incremented.
  • +
  • InsertedCountNotIncremented: Inserted, not full, retained-entries-count not incremented +because a dirty value was overridden.
  • +
  • RejectedDuplicate: Rejected as duplicate.
  • +
  • RejectedNullOrEmpty: Rejected because input was null or empty. Only for update objects.
  • +
  • RejectedOverTheta: Rejected because the computed hash was over the current value of thetaLong.
  • +
+ + +

Valid Hash

+For Theta Sketches, a retained hash value is considered valid if it is greater than zero and less than +thetaLong. See Dirty Hash. + + + \ No newline at end of file diff --git a/docs/621/merge/resources/glass.png b/docs/621/merge/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaqW6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/docs/621/merge/script-dir/jquery-3.7.1.min.js b/docs/621/merge/script-dir/jquery-3.7.1.min.js new file mode 100644 index 000000000..7f37b5d99 --- /dev/null +++ b/docs/621/merge/script-dir/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/docs/621/merge/script.js b/docs/621/merge/script.js new file mode 100644 index 000000000..73cd8faac --- /dev/null +++ b/docs/621/merge/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.getElementById(tableId + '.tabpanel') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/docs/621/merge/search.js b/docs/621/merge/search.js new file mode 100644 index 000000000..db3b2f4a6 --- /dev/null +++ b/docs/621/merge/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Classes and Interfaces"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search-input"); + var reset = $("#reset-button"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
    " + + item.d + "
    "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search-input").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search-input").focus(); + } + } + }); +}); diff --git a/docs/621/merge/serialized-form.html b/docs/621/merge/serialized-form.html new file mode 100644 index 000000000..6f16f73c1 --- /dev/null +++ b/docs/621/merge/serialized-form.html @@ -0,0 +1,128 @@ + + + + +Serialized Form (datasketches-java 7.0.0 API) + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    + +
    + +
    +
    + + diff --git a/docs/621/merge/stylesheet.css b/docs/621/merge/stylesheet.css new file mode 100644 index 000000000..4a576bd24 --- /dev/null +++ b/docs/621/merge/stylesheet.css @@ -0,0 +1,869 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; + background-color: #FFFFFF; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/docs/621/merge/tag-search-index.js b/docs/621/merge/tag-search-index.js new file mode 100644 index 000000000..bf10aaf6d --- /dev/null +++ b/docs/621/merge/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/621/merge/type-search-index.js b/docs/621/merge/type-search-index.js new file mode 100644 index 000000000..aa6ab2acd --- /dev/null +++ b/docs/621/merge/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"org.apache.datasketches.theta","l":"AnotB"},{"p":"org.apache.datasketches.tuple","l":"AnotB"},{"p":"org.apache.datasketches.thetacommon","l":"SetOperationCornerCases.AnotbAction"},{"p":"org.apache.datasketches.common","l":"ArrayOfBooleansSerDe"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesAnotB"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesAnotBImpl"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesCombiner"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesCompactSketch"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesIntersection"},{"p":"org.apache.datasketches.common","l":"ArrayOfDoublesSerDe"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesSetOperationBuilder"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesSketch"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesSketches"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesSketchIterator"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesUnion"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesUpdatableSketch"},{"p":"org.apache.datasketches.tuple.arrayofdoubles","l":"ArrayOfDoublesUpdatableSketchBuilder"},{"p":"org.apache.datasketches.common","l":"ArrayOfItemsSerDe"},{"p":"org.apache.datasketches.common","l":"ArrayOfLongsSerDe"},{"p":"org.apache.datasketches.common","l":"ArrayOfNumbersSerDe"},{"p":"org.apache.datasketches.common","l":"ArrayOfStringsSerDe"},{"p":"org.apache.datasketches.tuple.strings","l":"ArrayOfStringsSketch"},{"p":"org.apache.datasketches.tuple.strings","l":"ArrayOfStringsSummary"},{"p":"org.apache.datasketches.tuple.strings","l":"ArrayOfStringsSummaryDeserializer"},{"p":"org.apache.datasketches.tuple.strings","l":"ArrayOfStringsSummaryFactory"},{"p":"org.apache.datasketches.tuple.strings","l":"ArrayOfStringsSummarySetOperations"},{"p":"org.apache.datasketches.common","l":"ArrayOfUtf16StringsSerDe"},{"p":"org.apache.datasketches.quantilescommon","l":"BinarySearch"},{"p":"org.apache.datasketches.tdigest","l":"BinarySearch"},{"p":"org.apache.datasketches.thetacommon","l":"BinomialBoundsN"},{"p":"org.apache.datasketches.theta","l":"BitPacking"},{"p":"org.apache.datasketches.filters.bloomfilter","l":"BloomFilter"},{"p":"org.apache.datasketches.filters.bloomfilter","l":"BloomFilterBuilder"},{"p":"org.apache.datasketches.common","l":"BoundsOnBinomialProportions"},{"p":"org.apache.datasketches.common","l":"BoundsOnRatiosInSampledSets"},{"p":"org.apache.datasketches.thetacommon","l":"BoundsOnRatiosInThetaSketchedSets"},{"p":"org.apache.datasketches.thetacommon","l":"BoundsOnRatiosInTupleSketchedSets"},{"p":"org.apache.datasketches.partitions","l":"BoundsRule"},{"p":"org.apache.datasketches.common","l":"ByteArrayUtil"},{"p":"org.apache.datasketches.quantiles","l":"ClassicUtil"},{"p":"org.apache.datasketches.quantiles","l":"CompactDoublesSketch"},{"p":"org.apache.datasketches.theta","l":"CompactSketch"},{"p":"org.apache.datasketches.tuple","l":"CompactSketch"},{"p":"org.apache.datasketches.cpc","l":"CompressionCharacterization"},{"p":"org.apache.datasketches.thetacommon","l":"SetOperationCornerCases.CornerCase"},{"p":"org.apache.datasketches.cpc","l":"CpcSketch"},{"p":"org.apache.datasketches.cpc","l":"CpcUnion"},{"p":"org.apache.datasketches.cpc","l":"CpcWrapper"},{"p":"org.apache.datasketches.tuple","l":"DeserializeResult"},{"p":"org.apache.datasketches.filters.bloomfilter","l":"DirectBitArrayR"},{"p":"org.apache.datasketches.tuple.adouble","l":"DoubleSketch"},{"p":"org.apache.datasketches.quantilescommon","l":"IncludeMinMax.DoublesPair"},{"p":"org.apache.datasketches.quantiles","l":"DoublesSketch"},{"p":"org.apache.datasketches.quantiles","l":"DoublesSketchBuilder"},{"p":"org.apache.datasketches.quantiles","l":"DoublesSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"DoublesSketchSortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"DoublesSortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"DoublesSortedViewIterator"},{"p":"org.apache.datasketches.tuple.adouble","l":"DoubleSummary"},{"p":"org.apache.datasketches.tuple.adouble","l":"DoubleSummaryDeserializer"},{"p":"org.apache.datasketches.tuple.adouble","l":"DoubleSummaryFactory"},{"p":"org.apache.datasketches.tuple.adouble","l":"DoubleSummarySetOperations"},{"p":"org.apache.datasketches.quantiles","l":"DoublesUnion"},{"p":"org.apache.datasketches.quantiles","l":"DoublesUnionBuilder"},{"p":"org.apache.datasketches.sampling","l":"EbppsItemsSketch"},{"p":"org.apache.datasketches.frequencies","l":"ErrorType"},{"p":"org.apache.datasketches.common","l":"Family"},{"p":"org.apache.datasketches.fdt","l":"FdtSketch"},{"p":"org.apache.datasketches.tuple","l":"Filter"},{"p":"org.apache.datasketches.quantilescommon","l":"IncludeMinMax.FloatsPair"},{"p":"org.apache.datasketches.quantilescommon","l":"FloatsSketchSortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"FloatsSortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"FloatsSortedViewIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"GenericInequalitySearch"},{"p":"org.apache.datasketches.quantilescommon","l":"GenericPartitionBoundaries"},{"p":"org.apache.datasketches.quantilescommon","l":"GenericSortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"GenericSortedViewIterator"},{"p":"org.apache.datasketches.fdt","l":"Group"},{"p":"org.apache.datasketches.theta","l":"HashIterator"},{"p":"org.apache.datasketches.thetacommon","l":"HashOperations"},{"p":"org.apache.datasketches.hll","l":"HllSketch"},{"p":"org.apache.datasketches.quantilescommon","l":"IncludeMinMax"},{"p":"org.apache.datasketches.quantilescommon","l":"GenericInequalitySearch.Inequality"},{"p":"org.apache.datasketches.quantilescommon","l":"InequalitySearch"},{"p":"org.apache.datasketches.tuple.aninteger","l":"IntegerSketch"},{"p":"org.apache.datasketches.tuple.aninteger","l":"IntegerSummary"},{"p":"org.apache.datasketches.tuple.aninteger","l":"IntegerSummaryDeserializer"},{"p":"org.apache.datasketches.tuple.aninteger","l":"IntegerSummaryFactory"},{"p":"org.apache.datasketches.tuple.aninteger","l":"IntegerSummarySetOperations"},{"p":"org.apache.datasketches.thetacommon","l":"SetOperationCornerCases.IntersectAction"},{"p":"org.apache.datasketches.theta","l":"Intersection"},{"p":"org.apache.datasketches.tuple","l":"Intersection"},{"p":"org.apache.datasketches.quantilescommon","l":"IncludeMinMax.ItemsPair"},{"p":"org.apache.datasketches.frequencies","l":"ItemsSketch"},{"p":"org.apache.datasketches.quantiles","l":"ItemsSketch"},{"p":"org.apache.datasketches.quantiles","l":"ItemsSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"ItemsSketchSortedView"},{"p":"org.apache.datasketches.quantiles","l":"ItemsUnion"},{"p":"org.apache.datasketches.theta","l":"JaccardSimilarity"},{"p":"org.apache.datasketches.tuple","l":"JaccardSimilarity"},{"p":"org.apache.datasketches.kll","l":"KllDoublesSketch"},{"p":"org.apache.datasketches.kll","l":"KllDoublesSketchIterator"},{"p":"org.apache.datasketches.kll","l":"KllFloatsSketch"},{"p":"org.apache.datasketches.kll","l":"KllFloatsSketchIterator"},{"p":"org.apache.datasketches.kll","l":"KllItemsSketch"},{"p":"org.apache.datasketches.kll","l":"KllItemsSketchIterator"},{"p":"org.apache.datasketches.kll","l":"KllLongsSketch"},{"p":"org.apache.datasketches.kll","l":"KllLongsSketchIterator"},{"p":"org.apache.datasketches.kll","l":"KllSketch"},{"p":"org.apache.datasketches.kll","l":"KllSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"KolmogorovSmirnov"},{"p":"org.apache.datasketches.quantilescommon","l":"IncludeMinMax.LongsPair"},{"p":"org.apache.datasketches.frequencies","l":"LongsSketch"},{"p":"org.apache.datasketches.quantilescommon","l":"LongsSketchSortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"LongsSortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"LongsSortedViewIterator"},{"p":"org.apache.datasketches.common","l":"MemoryStatus"},{"p":"org.apache.datasketches.cpc","l":"MergingValidation"},{"p":"org.apache.datasketches.tuple.adouble","l":"DoubleSummary.Mode"},{"p":"org.apache.datasketches.tuple.aninteger","l":"IntegerSummary.Mode"},{"p":"org.apache.datasketches.hash","l":"MurmurHash3"},{"p":"org.apache.datasketches.hash","l":"MurmurHash3Adaptor"},{"p":"org.apache.datasketches.partitions","l":"Partitioner.PartitionBoundsRow"},{"p":"org.apache.datasketches.partitions","l":"Partitioner"},{"p":"org.apache.datasketches.quantilescommon","l":"PartitioningFeature"},{"p":"org.apache.datasketches.fdt","l":"PostProcessor"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesAPI"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesDoublesAPI"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesDoublesSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantileSearchCriteria"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesFloatsAPI"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesFloatsSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesGenericAPI"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesGenericSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesLongsAPI"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesLongsSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesSketchIterator"},{"p":"org.apache.datasketches.quantilescommon","l":"QuantilesUtil"},{"p":"org.apache.datasketches.cpc","l":"QuickMergingValidation"},{"p":"org.apache.datasketches.thetacommon","l":"QuickSelect"},{"p":"org.apache.datasketches.req","l":"ReqDebug"},{"p":"org.apache.datasketches.req","l":"ReqSketch"},{"p":"org.apache.datasketches.req","l":"ReqSketchBuilder"},{"p":"org.apache.datasketches.req","l":"ReqSketchIterator"},{"p":"org.apache.datasketches.sampling","l":"ReservoirItemsSketch"},{"p":"org.apache.datasketches.sampling","l":"ReservoirItemsUnion"},{"p":"org.apache.datasketches.sampling","l":"ReservoirLongsSketch"},{"p":"org.apache.datasketches.sampling","l":"ReservoirLongsUnion"},{"p":"org.apache.datasketches.common","l":"ResizeFactor"},{"p":"org.apache.datasketches.frequencies","l":"ItemsSketch.Row"},{"p":"org.apache.datasketches.frequencies","l":"LongsSketch.Row"},{"p":"org.apache.datasketches.sampling","l":"SampleSubsetSummary"},{"p":"org.apache.datasketches.tuple","l":"SerializerDeserializer"},{"p":"org.apache.datasketches.theta","l":"SetOperation"},{"p":"org.apache.datasketches.theta","l":"SetOperationBuilder"},{"p":"org.apache.datasketches.thetacommon","l":"SetOperationCornerCases"},{"p":"org.apache.datasketches.theta","l":"Sketch"},{"p":"org.apache.datasketches.tuple","l":"Sketch"},{"p":"org.apache.datasketches.theta","l":"Sketches"},{"p":"org.apache.datasketches.tuple","l":"Sketches"},{"p":"org.apache.datasketches.common","l":"SketchesArgumentException"},{"p":"org.apache.datasketches.common","l":"SketchesException"},{"p":"org.apache.datasketches.common","l":"SketchesReadOnlyException"},{"p":"org.apache.datasketches.common","l":"SketchesStateException"},{"p":"org.apache.datasketches.partitions","l":"SketchFillRequest"},{"p":"org.apache.datasketches.quantilescommon","l":"SketchPartitionLimits"},{"p":"org.apache.datasketches.kll","l":"KllSketch.SketchStructure"},{"p":"org.apache.datasketches.kll","l":"KllSketch.SketchType"},{"p":"org.apache.datasketches.tuple","l":"SerializerDeserializer.SketchType"},{"p":"org.apache.datasketches.tdigest","l":"Sort"},{"p":"org.apache.datasketches.quantilescommon","l":"SortedView"},{"p":"org.apache.datasketches.quantilescommon","l":"SortedViewIterator"},{"p":"org.apache.datasketches.partitions","l":"Partitioner.StackElement"},{"p":"org.apache.datasketches.cpc","l":"StreamingValidation"},{"p":"org.apache.datasketches.tuple","l":"Summary"},{"p":"org.apache.datasketches.tuple","l":"SummaryDeserializer"},{"p":"org.apache.datasketches.tuple","l":"SummaryFactory"},{"p":"org.apache.datasketches.tuple","l":"SummarySetOperations"},{"p":"org.apache.datasketches.common","l":"SuppressFBWarnings"},{"p":"org.apache.datasketches.tdigest","l":"TDigestDouble"},{"p":"org.apache.datasketches.cpc","l":"TestUtil"},{"p":"org.apache.datasketches.hll","l":"TgtHllType"},{"p":"org.apache.datasketches.thetacommon","l":"ThetaUtil"},{"p":"org.apache.datasketches.tuple","l":"TupleSketchIterator"},{"p":"org.apache.datasketches.hll","l":"Union"},{"p":"org.apache.datasketches.theta","l":"Union"},{"p":"org.apache.datasketches.tuple","l":"Union"},{"p":"org.apache.datasketches.thetacommon","l":"SetOperationCornerCases.UnionAction"},{"p":"org.apache.datasketches.hllmap","l":"UniqueCountMap"},{"p":"org.apache.datasketches.tuple","l":"UpdatableSketch"},{"p":"org.apache.datasketches.tuple","l":"UpdatableSketchBuilder"},{"p":"org.apache.datasketches.tuple","l":"UpdatableSummary"},{"p":"org.apache.datasketches.quantiles","l":"UpdateDoublesSketch"},{"p":"org.apache.datasketches.theta","l":"UpdateReturnState"},{"p":"org.apache.datasketches.theta","l":"UpdateSketch"},{"p":"org.apache.datasketches.theta","l":"UpdateSketchBuilder"},{"p":"org.apache.datasketches.common","l":"Util"},{"p":"org.apache.datasketches.tuple","l":"Util"},{"p":"org.apache.datasketches.sampling","l":"VarOptItemsSamples.VarOptItemsIterator"},{"p":"org.apache.datasketches.sampling","l":"VarOptItemsSamples"},{"p":"org.apache.datasketches.sampling","l":"VarOptItemsSketch"},{"p":"org.apache.datasketches.sampling","l":"VarOptItemsUnion"},{"p":"org.apache.datasketches.sampling","l":"VarOptItemsSamples.WeightedSample"},{"p":"org.apache.datasketches.hash","l":"XxHash"}];updateSearchResults(); \ No newline at end of file