You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2026/10/08 19:21:13 UTC
(datasketches-cpp) branch docs-5.3.0 created (now 8ce6f35f)
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a change to branch docs-5.3.0
in repository https://gitbox.apache.org/repos/asf/datasketches-cpp.git
at 8ce6f35f Add Doxygen documentation for the 5.3.0 release
This branch includes the following new commits:
new 8ce6f35f Add Doxygen documentation for the 5.3.0 release
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org
(datasketches-cpp) 01/01: Add Doxygen documentation for the 5.3.0 release
Posted by le...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch docs-5.3.0
in repository https://gitbox.apache.org/repos/asf/datasketches-cpp.git
commit 8ce6f35f1c326732dc2ecd258139e97f784f7c26
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Thu Oct 8 12:21:02 2026 -0700
Add Doxygen documentation for the 5.3.0 release
Generated with Doxygen 1.18.0 from the root Doxyfile at tag 5.3.0
(5b5524f55d121225a7909c2851271327684585d7).
Co-Authored-By: Claude Opus 5.5 <no...@anthropic.com>
---
docs/5.3.0/annotated.html | 162 +
.../array__of__doubles__sketch_8hpp_source.html | 170 +
.../5.3.0/array__tuple__a__not__b_8hpp_source.html | 163 +
.../array__tuple__a__not__b__impl_8hpp_source.html | 149 +
.../array__tuple__intersection_8hpp_source.html | 168 +
...ray__tuple__intersection__impl_8hpp_source.html | 148 +
docs/5.3.0/array__tuple__sketch_8hpp_source.html | 350 ++
.../array__tuple__sketch__impl_8hpp_source.html | 368 ++
docs/5.3.0/array__tuple__union_8hpp_source.html | 198 +
.../array__tuple__union__impl_8hpp_source.html | 153 +
docs/5.3.0/binomial__bounds_8hpp_source.html | 571 ++
docs/5.3.0/bit__packing_8hpp_source.html | 6389 ++++++++++++++++++++
.../bounds__binomial__proportions_8hpp_source.html | 295 +
..._on__ratios__in__sampled__sets_8hpp_source.html | 214 +
...ios__in__theta__sketched__sets_8hpp_source.html | 223 +
docs/5.3.0/ceiling__power__of__2_8hpp_source.html | 151 +
docs/5.3.0/class_x_x_hash64-members.html | 112 +
docs/5.3.0/class_x_x_hash64.html | 284 +
...ssdatasketches_1_1_hll_sketch_impl-members.html | 111 +
.../classdatasketches_1_1_hll_sketch_impl.html | 128 +
...ketches_1_1array__tuple__a__not__b-members.html | 114 +
...assdatasketches_1_1array__tuple__a__not__b.html | 225 +
...lassdatasketches_1_1array__tuple__a__not__b.png | Bin 0 -> 1133 bytes
...ches_1_1array__tuple__intersection-members.html | 116 +
...datasketches_1_1array__tuple__intersection.html | 224 +
...sdatasketches_1_1array__tuple__intersection.png | Bin 0 -> 1333 bytes
...atasketches_1_1array__tuple__union-members.html | 114 +
.../classdatasketches_1_1array__tuple__union.html | 145 +
.../classdatasketches_1_1array__tuple__union.png | Bin 0 -> 1583 bytes
...ches_1_1base__theta__sketch__alloc-members.html | 124 +
...datasketches_1_1base__theta__sketch__alloc.html | 490 ++
...sdatasketches_1_1base__theta__sketch__alloc.png | Bin 0 -> 2906 bytes
...s_1_1bounds__binomial__proportions-members.html | 117 +
...asketches_1_1bounds__binomial__proportions.html | 392 ++
...nds__on__ratios__in__sampled__sets-members.html | 117 +
...s_1_1bounds__on__ratios__in__sampled__sets.html | 354 ++
..._ratios__in__theta__sketched__sets-members.html | 115 +
...nds__on__ratios__in__theta__sketched__sets.html | 279 +
...s_1_1compact__array__tuple__sketch-members.html | 135 +
...asketches_1_1compact__array__tuple__sketch.html | 382 ++
...tasketches_1_1compact__array__tuple__sketch.png | Bin 0 -> 1919 bytes
...s_1_1compact__theta__sketch__alloc-members.html | 141 +
...asketches_1_1compact__theta__sketch__alloc.html | 950 +++
...tasketches_1_1compact__theta__sketch__alloc.png | Bin 0 -> 1645 bytes
...sketches_1_1compact__tuple__sketch-members.html | 144 +
...lassdatasketches_1_1compact__tuple__sketch.html | 1055 ++++
...classdatasketches_1_1compact__tuple__sketch.png | Bin 0 -> 1707 bytes
...datasketches_1_1count__min__sketch-members.html | 146 +
.../classdatasketches_1_1count__min__sketch.html | 1177 ++++
...datasketches_1_1cpc__sketch__alloc-members.html | 137 +
.../classdatasketches_1_1cpc__sketch__alloc.html | 910 +++
...sdatasketches_1_1cpc__union__alloc-members.html | 120 +
.../classdatasketches_1_1cpc__union__alloc.html | 396 ++
...ault__array__tuple__update__policy-members.html | 111 +
...s_1_1default__array__tuple__update__policy.html | 122 +
...assdatasketches_1_1density__sketch-members.html | 130 +
.../classdatasketches_1_1density__sketch.html | 683 +++
...classdatasketches_1_1ebpps__sketch-members.html | 134 +
docs/5.3.0/classdatasketches_1_1ebpps__sketch.html | 819 +++
...ketches_1_1frequent__items__sketch-members.html | 136 +
...assdatasketches_1_1frequent__items__sketch.html | 962 +++
..._1_1frequent__items__sketch_1_1row-members.html | 116 +
...sketches_1_1frequent__items__sketch_1_1row.html | 244 +
...sdatasketches_1_1hll__union__alloc-members.html | 137 +
.../classdatasketches_1_1hll__union__alloc.html | 883 +++
...tches_1_1jaccard__similarity__base-members.html | 116 +
...sdatasketches_1_1jaccard__similarity__base.html | 352 ++
.../classdatasketches_1_1kll__sketch-members.html | 146 +
docs/5.3.0/classdatasketches_1_1kll__sketch.html | 1345 ++++
...atasketches_1_1kolmogorov__smirnov-members.html | 115 +
.../classdatasketches_1_1kolmogorov__smirnov.html | 272 +
...sdatasketches_1_1quantiles__sketch-members.html | 145 +
.../classdatasketches_1_1quantiles__sketch.html | 1316 ++++
...ketches_1_1quantiles__sorted__view-members.html | 121 +
...assdatasketches_1_1quantiles__sorted__view.html | 383 ++
.../classdatasketches_1_1req__sketch-members.html | 148 +
docs/5.3.0/classdatasketches_1_1req__sketch.html | 1371 +++++
...ketches_1_1theta__a__not__b__alloc-members.html | 114 +
...assdatasketches_1_1theta__a__not__b__alloc.html | 217 +
...tasketches_1_1theta__base__builder-members.html | 117 +
.../classdatasketches_1_1theta__base__builder.html | 288 +
.../classdatasketches_1_1theta__base__builder.png | Bin 0 -> 1109 bytes
...ches_1_1theta__intersection__alloc-members.html | 116 +
...datasketches_1_1theta__intersection__alloc.html | 259 +
...tasketches_1_1theta__sketch__alloc-members.html | 128 +
.../classdatasketches_1_1theta__sketch__alloc.html | 292 +
.../classdatasketches_1_1theta__sketch__alloc.png | Bin 0 -> 2172 bytes
...atasketches_1_1theta__union__alloc-members.html | 115 +
.../classdatasketches_1_1theta__union__alloc.html | 201 +
..._1_1theta__union__alloc_1_1builder-members.html | 118 +
...sketches_1_1theta__union__alloc_1_1builder.html | 173 +
...asketches_1_1theta__union__alloc_1_1builder.png | Bin 0 -> 637 bytes
...ssdatasketches_1_1tuple__a__not__b-members.html | 114 +
.../classdatasketches_1_1tuple__a__not__b.html | 225 +
.../classdatasketches_1_1tuple__a__not__b.png | Bin 0 -> 876 bytes
...tasketches_1_1tuple__base__builder-members.html | 117 +
.../classdatasketches_1_1tuple__base__builder.html | 147 +
.../classdatasketches_1_1tuple__base__builder.png | Bin 0 -> 1111 bytes
...atasketches_1_1tuple__intersection-members.html | 116 +
.../classdatasketches_1_1tuple__intersection.html | 274 +
.../classdatasketches_1_1tuple__intersection.png | Bin 0 -> 1165 bytes
...classdatasketches_1_1tuple__sketch-members.html | 130 +
docs/5.3.0/classdatasketches_1_1tuple__sketch.html | 691 +++
docs/5.3.0/classdatasketches_1_1tuple__sketch.png | Bin 0 -> 3893 bytes
.../classdatasketches_1_1tuple__union-members.html | 115 +
docs/5.3.0/classdatasketches_1_1tuple__union.html | 210 +
docs/5.3.0/classdatasketches_1_1tuple__union.png | Bin 0 -> 1095 bytes
...ketches_1_1tuple__union_1_1builder-members.html | 119 +
...assdatasketches_1_1tuple__union_1_1builder.html | 209 +
...lassdatasketches_1_1tuple__union_1_1builder.png | Bin 0 -> 1006 bytes
...es_1_1update__array__tuple__sketch-members.html | 148 +
...tasketches_1_1update__array__tuple__sketch.html | 245 +
...atasketches_1_1update__array__tuple__sketch.png | Bin 0 -> 2464 bytes
...e__array__tuple__sketch_1_1builder-members.html | 119 +
...1_1update__array__tuple__sketch_1_1builder.html | 206 +
..._1_1update__array__tuple__sketch_1_1builder.png | Bin 0 -> 1323 bytes
...es_1_1update__theta__sketch__alloc-members.html | 149 +
...tasketches_1_1update__theta__sketch__alloc.html | 1065 ++++
...atasketches_1_1update__theta__sketch__alloc.png | Bin 0 -> 1635 bytes
...e__theta__sketch__alloc_1_1builder-members.html | 119 +
...1_1update__theta__sketch__alloc_1_1builder.html | 200 +
..._1_1update__theta__sketch__alloc_1_1builder.png | Bin 0 -> 682 bytes
...asketches_1_1update__tuple__sketch-members.html | 148 +
...classdatasketches_1_1update__tuple__sketch.html | 1131 ++++
.../classdatasketches_1_1update__tuple__sketch.png | Bin 0 -> 1911 bytes
..._1update__tuple__sketch_1_1builder-members.html | 119 +
...etches_1_1update__tuple__sketch_1_1builder.html | 209 +
...ketches_1_1update__tuple__sketch_1_1builder.png | Bin 0 -> 1006 bytes
...ssdatasketches_1_1var__opt__sketch-members.html | 135 +
.../classdatasketches_1_1var__opt__sketch.html | 905 +++
...assdatasketches_1_1var__opt__union-members.html | 122 +
.../classdatasketches_1_1var__opt__union.html | 464 ++
...ped__compact__theta__sketch__alloc-members.html | 127 +
..._1_1wrapped__compact__theta__sketch__alloc.html | 442 ++
...s_1_1wrapped__compact__theta__sketch__alloc.png | Bin 0 -> 1164 bytes
docs/5.3.0/classes.html | 159 +
docs/5.3.0/clipboard.js | 61 +
docs/5.3.0/codefolding.js | 143 +
docs/5.3.0/common__defs_8hpp_source.html | 233 +
...compact__theta__sketch__parser_8hpp_source.html | 185 +
...t__theta__sketch__parser__impl_8hpp_source.html | 285 +
docs/5.3.0/compression__data_8hpp_source.html | 6134 +++++++++++++++++++
.../conditional__back__inserter_8hpp_source.html | 178 +
docs/5.3.0/conditional__forward_8hpp_source.html | 192 +
docs/5.3.0/cookie.js | 58 +
docs/5.3.0/count__min_8hpp_source.html | 328 +
docs/5.3.0/count__min__impl_8hpp_source.html | 659 ++
docs/5.3.0/count__zeros_8hpp_source.html | 233 +
.../coupon__iterator-internal_8hpp_source.html | 166 +
docs/5.3.0/coupon__iterator_8hpp_source.html | 162 +
docs/5.3.0/cpc__common_8hpp_source.html | 178 +
docs/5.3.0/cpc__compressor_8hpp_source.html | 267 +
docs/5.3.0/cpc__compressor__impl_8hpp_source.html | 885 +++
docs/5.3.0/cpc__confidence_8hpp_source.html | 279 +
docs/5.3.0/cpc__sketch_8hpp_source.html | 320 +
docs/5.3.0/cpc__sketch__impl_8hpp_source.html | 1049 ++++
docs/5.3.0/cpc__union_8hpp_source.html | 207 +
docs/5.3.0/cpc__union__impl_8hpp_source.html | 484 ++
docs/5.3.0/cpc__util_8hpp_source.html | 249 +
docs/5.3.0/density__sketch_8hpp_source.html | 285 +
docs/5.3.0/density__sketch__impl_8hpp_source.html | 724 +++
.../dir_00b03cb5ae954e8a2b89b347e34477b0.html | 114 +
.../dir_0449671fe79755ed26e25ef166543162.html | 114 +
.../dir_0bcb9827d33186afae8dcf178a314956.html | 131 +
.../dir_0c72de7c01a0490d64173f294d65fe37.html | 115 +
.../dir_10f6c93aee96669dfb32574207aeb69c.html | 114 +
.../dir_11a63523d45f2cb33b1e510397fbe77e.html | 115 +
.../dir_11fbc4217d50ab21044e5ad6614aede5.html | 131 +
.../dir_135820457b1e8e8dc5343e26fb29c1f8.html | 114 +
.../dir_14b95f261231c5f650b9b0a09b57a6c5.html | 114 +
.../dir_2629d1132294f29f2b0f1e3bcedeca02.html | 114 +
.../dir_33f2f37c686242631bbdb651f95cf35d.html | 118 +
.../dir_3f8742d40c9573c3b90638004faf146b.html | 139 +
.../dir_577378e109fcef5e822b70d599376114.html | 121 +
.../dir_70f016e26945e18c18bc29cf7b499574.html | 117 +
.../dir_82f3a10095a8f2296c0cf5c491a57b02.html | 114 +
.../dir_aa059cbaaa7f4410839cee554e9ff9ba.html | 145 +
.../dir_bc45e258c7269dbde5716543a4c54103.html | 114 +
.../dir_bdd9a5d540de89e9fe90efdfc6973a4f.html | 114 +
.../dir_cd6dde39990e390e8133ccee011656ea.html | 114 +
.../dir_cf88e39abd5376065d05109bb16db9ef.html | 117 +
.../dir_e0b5a940fd5435f299127cc9babd5c8d.html | 115 +
.../dir_e96b5dfe115c13cdeb36484e37aec42e.html | 114 +
.../dir_f1edaa446c592ba78db5fad06a956381.html | 114 +
.../dir_fabb7854c43508dcbf81254d1daad42f.html | 127 +
docs/5.3.0/doxygen.css | 2607 ++++++++
docs/5.3.0/doxygen.svg | Bin 0 -> 15461 bytes
docs/5.3.0/doxygen_crawl.html | 921 +++
docs/5.3.0/ebpps__sample_8hpp_source.html | 263 +
docs/5.3.0/ebpps__sample__impl_8hpp_source.html | 655 ++
docs/5.3.0/ebpps__sketch_8hpp_source.html | 279 +
docs/5.3.0/ebpps__sketch__impl_8hpp_source.html | 699 +++
docs/5.3.0/fdlibm__log_8hpp_source.html | 210 +
docs/5.3.0/files.html | 268 +
.../5.3.0/frequent__items__sketch_8hpp_source.html | 314 +
.../frequent__items__sketch__impl_8hpp_source.html | 686 +++
docs/5.3.0/functions.html | 113 +
docs/5.3.0/functions_b.html | 111 +
docs/5.3.0/functions_c.html | 116 +
docs/5.3.0/functions_d.html | 112 +
docs/5.3.0/functions_e.html | 118 +
docs/5.3.0/functions_f.html | 110 +
docs/5.3.0/functions_func.html | 113 +
docs/5.3.0/functions_func_b.html | 111 +
docs/5.3.0/functions_func_c.html | 116 +
docs/5.3.0/functions_func_d.html | 112 +
docs/5.3.0/functions_func_e.html | 117 +
docs/5.3.0/functions_func_f.html | 110 +
docs/5.3.0/functions_func_g.html | 157 +
docs/5.3.0/functions_func_h.html | 111 +
docs/5.3.0/functions_func_i.html | 113 +
docs/5.3.0/functions_func_j.html | 109 +
docs/5.3.0/functions_func_k.html | 109 +
docs/5.3.0/functions_func_l.html | 109 +
docs/5.3.0/functions_func_m.html | 109 +
docs/5.3.0/functions_func_n.html | 109 +
docs/5.3.0/functions_func_o.html | 109 +
docs/5.3.0/functions_func_q.html | 109 +
docs/5.3.0/functions_func_r.html | 110 +
docs/5.3.0/functions_func_s.html | 118 +
docs/5.3.0/functions_func_t.html | 117 +
docs/5.3.0/functions_func_u.html | 111 +
docs/5.3.0/functions_func_v.html | 109 +
docs/5.3.0/functions_func_w.html | 109 +
docs/5.3.0/functions_func_x.html | 109 +
docs/5.3.0/functions_g.html | 157 +
docs/5.3.0/functions_h.html | 111 +
docs/5.3.0/functions_i.html | 113 +
docs/5.3.0/functions_j.html | 109 +
docs/5.3.0/functions_k.html | 109 +
docs/5.3.0/functions_l.html | 109 +
docs/5.3.0/functions_m.html | 109 +
docs/5.3.0/functions_n.html | 109 +
docs/5.3.0/functions_o.html | 109 +
docs/5.3.0/functions_q.html | 110 +
docs/5.3.0/functions_r.html | 110 +
docs/5.3.0/functions_s.html | 118 +
docs/5.3.0/functions_t.html | 117 +
docs/5.3.0/functions_type.html | 108 +
docs/5.3.0/functions_u.html | 111 +
docs/5.3.0/functions_v.html | 109 +
docs/5.3.0/functions_w.html | 109 +
docs/5.3.0/functions_x.html | 109 +
docs/5.3.0/hierarchy.html | 187 +
docs/5.3.0/hll_8hpp_source.html | 380 ++
docs/5.3.0/hll_8private_8hpp_source.html | 160 +
docs/5.3.0/icon__estimator_8hpp_source.html | 384 ++
docs/5.3.0/index.html | 173 +
docs/5.3.0/inv__pow2__table_8hpp_source.html | 217 +
docs/5.3.0/kll__helper_8hpp_source.html | 224 +
docs/5.3.0/kll__helper__impl_8hpp_source.html | 434 ++
docs/5.3.0/kll__sketch_8hpp_source.html | 429 ++
docs/5.3.0/kll__sketch__impl_8hpp_source.html | 1258 ++++
docs/5.3.0/kolmogorov__smirnov_8hpp_source.html | 157 +
.../kolmogorov__smirnov__impl_8hpp_source.html | 194 +
docs/5.3.0/kxp__byte__lookup_8hpp_source.html | 191 +
docs/5.3.0/memory__operations_8hpp_source.html | 181 +
docs/5.3.0/menu.js | 589 ++
docs/5.3.0/menudata.js | 103 +
docs/5.3.0/namespacedatasketches.html | 390 ++
.../namespacedatasketches_1_1cpc__constants.html | 129 +
.../namespacedatasketches_1_1ebpps__constants.html | 123 +
.../namespacedatasketches_1_1kll__constants.html | 129 +
...espacedatasketches_1_1quantiles__constants.html | 129 +
.../namespacedatasketches_1_1req__constants.html | 129 +
.../namespacedatasketches_1_1theta__constants.html | 145 +
...mespacedatasketches_1_1var__opt__constants.html | 126 +
docs/5.3.0/namespacemembers.html | 188 +
docs/5.3.0/namespacemembers_enum.html | 106 +
docs/5.3.0/namespacemembers_eval.html | 109 +
docs/5.3.0/namespacemembers_func.html | 105 +
docs/5.3.0/namespacemembers_type.html | 123 +
docs/5.3.0/namespacemembers_vars.html | 115 +
docs/5.3.0/namespaces.html | 117 +
docs/5.3.0/navtree.css | 329 +
docs/5.3.0/optional_8hpp_source.html | 258 +
docs/5.3.0/quantiles__sketch_8hpp_source.html | 429 ++
.../5.3.0/quantiles__sketch__impl_8hpp_source.html | 1502 +++++
.../5.3.0/quantiles__sorted__view_8hpp_source.html | 284 +
.../quantiles__sorted__view__impl_8hpp_source.html | 264 +
docs/5.3.0/req__common_8hpp_source.html | 154 +
docs/5.3.0/req__compactor_8hpp_source.html | 249 +
docs/5.3.0/req__compactor__impl_8hpp_source.html | 642 ++
docs/5.3.0/req__sketch_8hpp_source.html | 372 ++
docs/5.3.0/req__sketch__impl_8hpp_source.html | 1014 ++++
.../reverse__purge__hash__map_8hpp_source.html | 245 +
...everse__purge__hash__map__impl_8hpp_source.html | 483 ++
docs/5.3.0/search/all_0.js | 16 +
docs/5.3.0/search/all_1.js | 11 +
docs/5.3.0/search/all_10.js | 7 +
docs/5.3.0/search/all_11.js | 16 +
docs/5.3.0/search/all_12.js | 40 +
docs/5.3.0/search/all_13.js | 14 +
docs/5.3.0/search/all_14.js | 8 +
docs/5.3.0/search/all_15.js | 7 +
docs/5.3.0/search/all_16.js | 4 +
docs/5.3.0/search/all_2.js | 28 +
docs/5.3.0/search/all_3.js | 26 +
docs/5.3.0/search/all_4.js | 13 +
docs/5.3.0/search/all_5.js | 6 +
docs/5.3.0/search/all_6.js | 52 +
docs/5.3.0/search/all_7.js | 14 +
docs/5.3.0/search/all_8.js | 9 +
docs/5.3.0/search/all_9.js | 8 +
docs/5.3.0/search/all_a.js | 5 +
docs/5.3.0/search/all_b.js | 5 +
docs/5.3.0/search/all_c.js | 11 +
docs/5.3.0/search/all_d.js | 6 +
docs/5.3.0/search/all_e.js | 4 +
docs/5.3.0/search/all_f.js | 8 +
docs/5.3.0/search/classes_0.js | 9 +
docs/5.3.0/search/classes_1.js | 9 +
docs/5.3.0/search/classes_10.js | 4 +
docs/5.3.0/search/classes_2.js | 18 +
docs/5.3.0/search/classes_3.js | 9 +
docs/5.3.0/search/classes_4.js | 4 +
docs/5.3.0/search/classes_5.js | 4 +
docs/5.3.0/search/classes_6.js | 7 +
docs/5.3.0/search/classes_7.js | 7 +
docs/5.3.0/search/classes_8.js | 5 +
docs/5.3.0/search/classes_9.js | 7 +
docs/5.3.0/search/classes_a.js | 5 +
docs/5.3.0/search/classes_b.js | 6 +
docs/5.3.0/search/classes_c.js | 31 +
docs/5.3.0/search/classes_d.js | 10 +
docs/5.3.0/search/classes_e.js | 8 +
docs/5.3.0/search/classes_f.js | 5 +
docs/5.3.0/search/enums_0.js | 4 +
docs/5.3.0/search/enums_1.js | 4 +
docs/5.3.0/search/enumvalues_0.js | 6 +
docs/5.3.0/search/enumvalues_1.js | 5 +
docs/5.3.0/search/functions_0.js | 8 +
docs/5.3.0/search/functions_1.js | 6 +
docs/5.3.0/search/functions_10.js | 5 +
docs/5.3.0/search/functions_11.js | 13 +
docs/5.3.0/search/functions_12.js | 12 +
docs/5.3.0/search/functions_13.js | 6 +
docs/5.3.0/search/functions_14.js | 4 +
docs/5.3.0/search/functions_15.js | 4 +
docs/5.3.0/search/functions_16.js | 4 +
docs/5.3.0/search/functions_2.js | 12 +
docs/5.3.0/search/functions_3.js | 7 +
docs/5.3.0/search/functions_4.js | 12 +
docs/5.3.0/search/functions_5.js | 5 +
docs/5.3.0/search/functions_6.js | 52 +
docs/5.3.0/search/functions_7.js | 6 +
docs/5.3.0/search/functions_8.js | 8 +
docs/5.3.0/search/functions_9.js | 4 +
docs/5.3.0/search/functions_a.js | 4 +
docs/5.3.0/search/functions_b.js | 4 +
docs/5.3.0/search/functions_c.js | 4 +
docs/5.3.0/search/functions_d.js | 4 +
docs/5.3.0/search/functions_e.js | 4 +
docs/5.3.0/search/functions_f.js | 4 +
docs/5.3.0/search/namespaces_0.js | 11 +
docs/5.3.0/search/pages_0.js | 4 +
docs/5.3.0/search/pages_1.js | 6 +
docs/5.3.0/search/pages_2.js | 4 +
docs/5.3.0/search/pages_3.js | 4 +
docs/5.3.0/search/search.css | 377 ++
docs/5.3.0/search/search.js | 746 +++
docs/5.3.0/search/searchdata.js | 39 +
docs/5.3.0/search/typedefs_0.js | 6 +
docs/5.3.0/search/typedefs_1.js | 7 +
docs/5.3.0/search/typedefs_2.js | 5 +
docs/5.3.0/search/typedefs_3.js | 4 +
docs/5.3.0/search/typedefs_4.js | 5 +
docs/5.3.0/search/typedefs_5.js | 4 +
docs/5.3.0/search/typedefs_6.js | 4 +
docs/5.3.0/search/typedefs_7.js | 7 +
docs/5.3.0/search/typedefs_8.js | 5 +
docs/5.3.0/search/typedefs_9.js | 4 +
docs/5.3.0/search/variables_0.js | 6 +
docs/5.3.0/search/variables_1.js | 4 +
docs/5.3.0/search/variables_2.js | 10 +
docs/5.3.0/serde_8hpp_source.html | 346 ++
...fault__array__tuple__union__policy-members.html | 111 +
...es_1_1default__array__tuple__union__policy.html | 122 +
.../5.3.0/structdatasketches_1_1serde-members.html | 117 +
docs/5.3.0/structdatasketches_1_1serde.html | 330 +
...ithmetic_347673b6d71d4024e7fa2496d7f8ee293.html | 286 +
...ithmetic_38b1bde21d1307cf4830eb410808193d4.html | 116 +
...es_1_1serde_3_01std_1_1string_01_4-members.html | 117 +
...tasketches_1_1serde_3_01std_1_1string_01_4.html | 362 ++
docs/5.3.0/tabs.css | 482 ++
docs/5.3.0/theta__a__not__b_8hpp_source.html | 171 +
docs/5.3.0/theta__a__not__b__impl_8hpp_source.html | 158 +
docs/5.3.0/theta__comparators_8hpp_source.html | 158 +
docs/5.3.0/theta__constants_8hpp_source.html | 161 +
docs/5.3.0/theta__helpers_8hpp_source.html | 196 +
docs/5.3.0/theta__intersection_8hpp_source.html | 187 +
.../theta__intersection__base_8hpp_source.html | 169 +
...heta__intersection__base__impl_8hpp_source.html | 234 +
.../theta__intersection__impl_8hpp_source.html | 170 +
.../theta__jaccard__similarity_8hpp_source.html | 150 +
...eta__jaccard__similarity__base_8hpp_source.html | 239 +
.../theta__set__difference__base_8hpp_source.html | 164 +
...a__set__difference__base__impl_8hpp_source.html | 198 +
docs/5.3.0/theta__sketch_8hpp_source.html | 557 ++
docs/5.3.0/theta__sketch__impl_8hpp_source.html | 1231 ++++
docs/5.3.0/theta__union_8hpp_source.html | 206 +
docs/5.3.0/theta__union__base_8hpp_source.html | 172 +
.../theta__union__base__impl_8hpp_source.html | 202 +
docs/5.3.0/theta__union__impl_8hpp_source.html | 179 +
.../theta__update__sketch__base_8hpp_source.html | 344 ++
...ta__update__sketch__base__impl_8hpp_source.html | 577 ++
docs/5.3.0/tuple__a__not__b_8hpp_source.html | 168 +
docs/5.3.0/tuple__a__not__b__impl_8hpp_source.html | 149 +
docs/5.3.0/tuple__intersection_8hpp_source.html | 202 +
.../tuple__intersection__impl_8hpp_source.html | 163 +
.../tuple__jaccard__similarity_8hpp_source.html | 151 +
docs/5.3.0/tuple__sketch_8hpp_source.html | 544 ++
docs/5.3.0/tuple__sketch__impl_8hpp_source.html | 920 +++
docs/5.3.0/tuple__union_8hpp_source.html | 218 +
docs/5.3.0/tuple__union__impl_8hpp_source.html | 174 +
docs/5.3.0/u32__table_8hpp_source.html | 195 +
docs/5.3.0/u32__table__impl_8hpp_source.html | 376 ++
docs/5.3.0/var__opt__sketch_8hpp_source.html | 466 ++
docs/5.3.0/var__opt__sketch__impl_8hpp_source.html | 1943 ++++++
docs/5.3.0/var__opt__union_8hpp_source.html | 303 +
docs/5.3.0/var__opt__union__impl_8hpp_source.html | 768 +++
docs/5.3.0/xxhash64_8h_source.html | 298 +
422 files changed, 100115 insertions(+)
diff --git a/docs/5.3.0/annotated.html b/docs/5.3.0/annotated.html
new file mode 100644
index 00000000..c24a0540
--- /dev/null
+++ b/docs/5.3.0/annotated.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+</div><!-- top -->
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div class="header">
+ <div class="headertitle"><div class="title">Class List</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span class="spacer"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacedatasketches.html" target="_self">datasketches</a></td><td class="desc">DataSketches namespace </td></tr>
+<tr id="row_0_0_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1array__tuple__a__not__b.html" target="_self">array_tuple_a_not_b</a></td><td class="desc">Array tuple A-not-B </td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1array__tuple__intersection.html" target="_self">array_tuple_intersection</a></td><td class="desc">Array tuple intersection </td></tr>
+<tr id="row_0_2_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1array__tuple__union.html" target="_self">array_tuple_union</a></td><td class="desc">Array tuple union </td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1base__theta__sketch__alloc.html" target="_self">base_theta_sketch_alloc</a></td><td class="desc">Abstract base class for Theta sketch </td></tr>
+<tr id="row_0_4_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1bounds__binomial__proportions.html" target="_self">bounds_binomial_proportions</a></td><td class="desc">Confidence intervals for binomial proportions </td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html" target="_self">bounds_on_ratios_in_sampled_sets</a></td><td class="desc">Bounds on ratios in sampled sets </td></tr>
+<tr id="row_0_6_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1bounds__on__ratios__in__theta__sketched__sets.html" target="_self">bounds_on_ratios_in_theta_sketched_sets</a></td><td class="desc">Bounds on ratios in Theta sketched sets </td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1compact__array__tuple__sketch.html" target="_self">compact_array_tuple_sketch</a></td><td class="desc">Compact array tuple sketch </td></tr>
+<tr id="row_0_8_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1compact__theta__sketch__alloc.html" target="_self">compact_theta_sketch_alloc</a></td><td class="desc">Compact Theta sketch </td></tr>
+<tr id="row_0_9_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1compact__tuple__sketch.html" target="_self">compact_tuple_sketch</a></td><td class="desc">Compact Tuple sketch </td></tr>
+<tr id="row_0_10_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1count__min__sketch.html" target="_self">count_min_sketch</a></td><td class="desc">C++ implementation of the CountMin sketch data structure of Cormode and Muthukrishnan </td></tr>
+<tr id="row_0_11_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1cpc__sketch__alloc.html" target="_self">cpc_sketch_alloc</a></td><td class="desc">High performance C++ implementation of Compressed Probabilistic Counting (CPC) Sketch </td></tr>
+<tr id="row_0_12_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1cpc__union__alloc.html" target="_self">cpc_union_alloc</a></td><td class="desc">High performance C++ implementation of Compressed Probabilistic Counting (CPC) Union </td></tr>
+<tr id="row_0_13_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structdatasketches_1_1default__array__tuple__union__policy.html" target="_self">default_array_tuple_union_policy</a></td><td class="desc">Default array tuple union policy </td></tr>
+<tr id="row_0_14_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1default__array__tuple__update__policy.html" target="_self">default_array_tuple_update_policy</a></td><td class="desc">Default array tuple update policy </td></tr>
+<tr id="row_0_15_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1density__sketch.html" target="_self">density_sketch</a></td><td class="desc">Density sketch </td></tr>
+<tr id="row_0_16_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1ebpps__sketch.html" target="_self">ebpps_sketch</a></td><td class="desc">An implementation of an Exact and Bounded Sampling Proportional to Size sketch </td></tr>
+<tr id="row_0_17_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1frequent__items__sketch.html" target="_self">frequent_items_sketch</a></td><td class="desc">Frequent Items sketch </td></tr>
+<tr id="row_0_17_0_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1frequent__items__sketch_1_1row.html" target="_self">row</a></td><td class="desc">Row in the output from <a class="el" href="classdatasketches_1_1frequent__items__sketch.html#a5412230c8878e0cc1be2c6940512f508" title="Returns an array of rows tha [...]
+<tr id="row_0_18_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1hll__union__alloc.html" target="_self">hll_union_alloc</a></td><td class="desc">This performs union operations for HLL sketches </td></tr>
+<tr id="row_0_19_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1_hll_sketch_impl.html" target="_self">HllSketchImpl</a></td><td class="desc">This is a high performance implementation of Phillipe Flajolet's HLL sketch but with significantly improved error behavior </td></tr>
+<tr id="row_0_20_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1jaccard__similarity__base.html" target="_self">jaccard_similarity_base</a></td><td class="desc">Base class for Jaccard similarity </td></tr>
+<tr id="row_0_21_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1kll__sketch.html" target="_self">kll_sketch</a></td><td class="desc">Implementation of a very compact quantiles sketch with lazy compaction scheme and nearly optimal accuracy per retained item </td></tr>
+<tr id="row_0_22_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1kolmogorov__smirnov.html" target="_self">kolmogorov_smirnov</a></td><td class="desc">Kolmogorov-Smirnov test for KLL or Quantiles sketches </td></tr>
+<tr id="row_0_23_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1quantiles__sketch.html" target="_self">quantiles_sketch</a></td><td class="desc">This is a stochastic streaming sketch that enables near-real time analysis of the approximate distribution from a very large stream in a single pass </td></tr>
+<tr id="row_0_24_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1quantiles__sorted__view.html" target="_self">quantiles_sorted_view</a></td><td class="desc">Sorted view for quantiles sketches (REQ, KLL and Quantiles) </td></tr>
+<tr id="row_0_25_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1req__sketch.html" target="_self">req_sketch</a></td><td class="desc">Relative Error Quantiles Sketch </td></tr>
+<tr id="row_0_26_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structdatasketches_1_1serde.html" target="_self">serde</a></td><td class="desc">Interface for serializing and deserializing items </td></tr>
+<tr id="row_0_27_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structdatasketches_1_1serde_3_01std_1_1string_01_4.html" target="_self">serde< std::string ></a></td><td class="desc">Serde for std::string items </td></tr>
+<tr id="row_0_28_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structdatasketches_1_1serde_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__arithmetic_347673b6d71d4024e7fa2496d7f8ee293.html" target="_self">serde< T, typename std::enable_if< std::is_arithmetic< T >::value >::type ></a></td><td class="desc">Serde for all fixed-size arithm [...]
+<tr id="row_0_29_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1theta__a__not__b__alloc.html" target="_self">theta_a_not_b_alloc</a></td><td class="desc">Theta A-not-B (set difference) </td></tr>
+<tr id="row_0_30_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1theta__base__builder.html" target="_self">theta_base_builder</a></td><td class="desc">Theta base builder </td></tr>
+<tr id="row_0_31_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1theta__intersection__alloc.html" target="_self">theta_intersection_alloc</a></td><td class="desc">Theta intersection </td></tr>
+<tr id="row_0_32_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1theta__sketch__alloc.html" target="_self">theta_sketch_alloc</a></td><td class="desc">Base class for the Theta Sketch, a generalization of the Kth Minimum Value (KMV) sketch </td></tr>
+<tr id="row_0_33_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1theta__union__alloc.html" target="_self">theta_union_alloc</a></td><td class="desc">Theta Union </td></tr>
+<tr id="row_0_33_0_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1theta__union__alloc_1_1builder.html" target="_self">builder</a></td><td class="desc">Theta union builder </td></tr>
+<tr id="row_0_34_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1tuple__a__not__b.html" target="_self">tuple_a_not_b</a></td><td class="desc">Tuple A-not-B </td></tr>
+<tr id="row_0_35_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1tuple__base__builder.html" target="_self">tuple_base_builder</a></td><td class="desc">Tuple base builder </td></tr>
+<tr id="row_0_36_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1tuple__intersection.html" target="_self">tuple_intersection</a></td><td class="desc">Tuple intersection </td></tr>
+<tr id="row_0_37_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1tuple__sketch.html" target="_self">tuple_sketch</a></td><td class="desc">Base class for Tuple sketch </td></tr>
+<tr id="row_0_38_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1tuple__union.html" target="_self">tuple_union</a></td><td class="desc">Tuple Union </td></tr>
+<tr id="row_0_38_0_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1tuple__union_1_1builder.html" target="_self">builder</a></td><td class="desc">Tuple union builder </td></tr>
+<tr id="row_0_39_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1update__array__tuple__sketch.html" target="_self">update_array_tuple_sketch</a></td><td class="desc">Update array tuple sketch </td></tr>
+<tr id="row_0_39_0_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html" target="_self">builder</a></td><td class="desc">Update array tuple sketch builder </td></tr>
+<tr id="row_0_40_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1update__theta__sketch__alloc.html" target="_self">update_theta_sketch_alloc</a></td><td class="desc">Update Theta sketch </td></tr>
+<tr id="row_0_40_0_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1update__theta__sketch__alloc_1_1builder.html" target="_self">builder</a></td><td class="desc">Update Theta sketch builder </td></tr>
+<tr id="row_0_41_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1update__tuple__sketch.html" target="_self">update_tuple_sketch</a></td><td class="desc">Update Tuple sketch </td></tr>
+<tr id="row_0_41_0_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1update__tuple__sketch_1_1builder.html" target="_self">builder</a></td><td class="desc">Update Tuple sketch builder </td></tr>
+<tr id="row_0_42_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1var__opt__sketch.html" target="_self">var_opt_sketch</a></td><td class="desc">This sketch samples data from a stream of items </td></tr>
+<tr id="row_0_43_" class="even"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1var__opt__union.html" target="_self">var_opt_union</a></td><td class="desc">Provides a unioning operation over <a class="el" href="classdatasketches_1_1var__opt__sketch.html" title="This sketch samples data from a stream of items.">var_opt_sketch</a> objects </td></tr>
+<tr id="row_0_44_" class="odd"><td class="entry"><span class="spacer"> </span><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classdatasketches_1_1wrapped__compact__theta__sketch__alloc.html" target="_self">wrapped_compact_theta_sketch_alloc</a></td><td class="desc">Wrapped Compact Theta sketch </td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span class="spacer"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_x_x_hash64.html" target="_self">XXHash64</a></td><td class="desc">XXHash (64 bit), based on Yann Collet's descriptions, see <a href="http://cyan4973.github.io/xxHash/">http://cyan4973.github.io/xxHash/</a> </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__of__doubles__sketch_8hpp_source.html b/docs/5.3.0/array__of__doubles__sketch_8hpp_source.html
new file mode 100644
index 00000000..115e3b90
--- /dev/null
+++ b/docs/5.3.0/array__of__doubles__sketch_8hpp_source.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_of_doubles_sketch.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_of_doubles_sketch.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef ARRAY_OF_DOUBLES_SKETCH_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define ARRAY_OF_DOUBLES_SKETCH_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include "array_tuple_sketch.hpp"</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include "array_tuple_union.hpp"</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include "array_tuple_intersection.hpp"</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include "array_tuple_a_not_b.hpp"</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="namespacedatasketches.html#a0a9af04fa9602e47c7258918ca57d5eb"> 31</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespacedatasketches.html#a0a9af04fa9602e47c7258918ca57d5eb">default_array_of_doubles_update_policy</a> = <a class="code hl_class" href="classdatasketches_1_1default__array__tuple__update__policy.html">default_array_tuple_update_policy<array<dou [...]
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacedatasketches.html#a8277a5a89f1883d6f2d0cd9188001a47"> 34</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespacedatasketches.html#a8277a5a89f1883d6f2d0cd9188001a47">update_array_of_doubles_sketch</a> = <a class="code hl_class" href="classdatasketches_1_1update__array__tuple__sketch.html">update_array_tuple_sketch<array<double></a>>;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="namespacedatasketches.html#add2e212b4bf8070d69a1553b97867544"> 37</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespacedatasketches.html#add2e212b4bf8070d69a1553b97867544">compact_array_of_doubles_sketch</a> = <a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<array<double></a>>;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="namespacedatasketches.html#ab07481b3fb692807402a5370f92b91b0"> 40</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespacedatasketches.html#ab07481b3fb692807402a5370f92b91b0">default_array_of_doubles_union_policy</a> = <a class="code hl_struct" href="structdatasketches_1_1default__array__tuple__union__policy.html">default_array_tuple_union_policy<array<doub [...]
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="namespacedatasketches.html#a3fab3fd01e0fe522cfa855aec69d99cf"> 43</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespacedatasketches.html#a3fab3fd01e0fe522cfa855aec69d99cf">array_of_doubles_union</a> = <a class="code hl_class" href="classdatasketches_1_1array__tuple__union.html">array_tuple_union<array<double></a>>;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="namespacedatasketches.html#a370e739ec492b40f8fef060acc9112b8"> 47</a></span><span class="keyword">template</span><<span class="keyword">typename</span> Policy> <span class="keyword">using </span><a class="code hl_typedef" href="namespacedatasketches.html#a370e739ec492b40f8fef060acc9112b8">array_of_doubles_intersection</a> = <a class="code hl_class" href="classdatasketches_1_1array__tuple [...]
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="namespacedatasketches.html#a996d951879e467c00001d8d1c9ab9de0"> 50</a></span><span class="keyword">using </span><a class="code hl_typedef" href="namespacedatasketches.html#a996d951879e467c00001d8d1c9ab9de0">array_of_doubles_a_not_b</a> = <a class="code hl_class" href="classdatasketches_1_1array__tuple__a__not__b.html">array_tuple_a_not_b<array<double></a>>;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__a__not__b_html"><div class="ttname"><a href="classdatasketches_1_1array__tuple__a__not__b.html">datasketches::array_tuple_a_not_b</a></div><div class="ttdoc">array tuple A-not-B</div><div class="ttdef"><b>Definition</b> array_tuple_a_not_b.hpp:33</div></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__intersection_html"><div class="ttname"><a href="classdatasketches_1_1array__tuple__intersection.html">datasketches::array_tuple_intersection</a></div><div class="ttdoc">array tuple intersection</div><div class="ttdef"><b>Definition</b> array_tuple_intersection.hpp:37</div></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__union_html"><div class="ttname"><a href="classdatasketches_1_1array__tuple__union.html">datasketches::array_tuple_union</a></div><div class="ttdoc">array tuple union</div><div class="ttdef"><b>Definition</b> array_tuple_union.hpp:54</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html">datasketches::compact_array_tuple_sketch</a></div><div class="ttdoc">Compact array tuple sketch.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:194</div></div>
+<div class="ttc" id="aclassdatasketches_1_1default__array__tuple__update__policy_html"><div class="ttname"><a href="classdatasketches_1_1default__array__tuple__update__policy.html">datasketches::default_array_tuple_update_policy</a></div><div class="ttdoc">default array tuple update policy</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:120</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_html"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch.html">datasketches::update_array_tuple_sketch</a></div><div class="ttdoc">Update array tuple sketch.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:156</div></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+<div class="ttc" id="anamespacedatasketches_html_a0a9af04fa9602e47c7258918ca57d5eb"><div class="ttname"><a href="namespacedatasketches.html#a0a9af04fa9602e47c7258918ca57d5eb">datasketches::default_array_of_doubles_update_policy</a></div><div class="ttdeci">default_array_tuple_update_policy< array< double > > default_array_of_doubles_update_policy</div><div class="ttdoc">convenience alias with default allocator, default policy for update_array_of_doubles_sketch</div><div class [...]
+<div class="ttc" id="anamespacedatasketches_html_a370e739ec492b40f8fef060acc9112b8"><div class="ttname"><a href="namespacedatasketches.html#a370e739ec492b40f8fef060acc9112b8">datasketches::array_of_doubles_intersection</a></div><div class="ttdeci">array_tuple_intersection< array< double >, Policy > array_of_doubles_intersection</div><div class="ttdoc">convenience alias with default allocator, equivalent to ArrayOfDoublesIntersection in Java no default...</div><div class="ttde [...]
+<div class="ttc" id="anamespacedatasketches_html_a3fab3fd01e0fe522cfa855aec69d99cf"><div class="ttname"><a href="namespacedatasketches.html#a3fab3fd01e0fe522cfa855aec69d99cf">datasketches::array_of_doubles_union</a></div><div class="ttdeci">array_tuple_union< array< double > > array_of_doubles_union</div><div class="ttdoc">convenience alias with default allocator, equivalent to ArrayOfDoublesUnion in Java</div><div class="ttdef"><b>Definition</b> array_of_doubles_sketch.hpp:4 [...]
+<div class="ttc" id="anamespacedatasketches_html_a8277a5a89f1883d6f2d0cd9188001a47"><div class="ttname"><a href="namespacedatasketches.html#a8277a5a89f1883d6f2d0cd9188001a47">datasketches::update_array_of_doubles_sketch</a></div><div class="ttdeci">update_array_tuple_sketch< array< double > > update_array_of_doubles_sketch</div><div class="ttdoc">convenience alias with default allocator, equivalent to ArrayOfDoublesUpdatableSketch in Java</div><div class="ttdef"><b>Definition [...]
+<div class="ttc" id="anamespacedatasketches_html_a996d951879e467c00001d8d1c9ab9de0"><div class="ttname"><a href="namespacedatasketches.html#a996d951879e467c00001d8d1c9ab9de0">datasketches::array_of_doubles_a_not_b</a></div><div class="ttdeci">array_tuple_a_not_b< array< double > > array_of_doubles_a_not_b</div><div class="ttdoc">convenience alias with default allocator, equivalent to ArrayOfDoublesAnotB in Java</div><div class="ttdef"><b>Definition</b> array_of_doubles_sketch [...]
+<div class="ttc" id="anamespacedatasketches_html_ab07481b3fb692807402a5370f92b91b0"><div class="ttname"><a href="namespacedatasketches.html#ab07481b3fb692807402a5370f92b91b0">datasketches::default_array_of_doubles_union_policy</a></div><div class="ttdeci">default_array_tuple_union_policy< array< double > > default_array_of_doubles_union_policy</div><div class="ttdoc">convenience alias, default policy for array_of_doubles_union</div><div class="ttdef"><b>Definition</b> array_o [...]
+<div class="ttc" id="anamespacedatasketches_html_add2e212b4bf8070d69a1553b97867544"><div class="ttname"><a href="namespacedatasketches.html#add2e212b4bf8070d69a1553b97867544">datasketches::compact_array_of_doubles_sketch</a></div><div class="ttdeci">compact_array_tuple_sketch< array< double > > compact_array_of_doubles_sketch</div><div class="ttdoc">convenience alias with default allocator, equivalent to ArrayOfDoublesCompactSketch in Java</div><div class="ttdef"><b>Definitio [...]
+<div class="ttc" id="astructdatasketches_1_1default__array__tuple__union__policy_html"><div class="ttname"><a href="structdatasketches_1_1default__array__tuple__union__policy.html">datasketches::default_array_tuple_union_policy</a></div><div class="ttdoc">default array tuple union policy</div><div class="ttdef"><b>Definition</b> array_tuple_union.hpp:33</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__a__not__b_8hpp_source.html b/docs/5.3.0/array__tuple__a__not__b_8hpp_source.html
new file mode 100644
index 00000000..c370a656
--- /dev/null
+++ b/docs/5.3.0/array__tuple__a__not__b_8hpp_source.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_a_not_b.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_a_not_b.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef ARRAY_TUPLE_A_NOT_B_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define ARRAY_TUPLE_A_NOT_B_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <vector></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include "array_tuple_sketch.hpp"</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include "tuple_a_not_b.hpp"</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator = <span class="keyword">typename</span> Array::allocator_type></div>
+<div class="foldopen" id="foldopen00033" data-start="{" data-end="};">
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__a__not__b.html"> 33</a></span><span class="keyword">class </span><a class="code hl_function" href="classdatasketches_1_1array__tuple__a__not__b.html#afc12166e05f904485a0fd4fe84436336">array_tuple_a_not_b</a>: <a class="code hl_function" href="classdatasketches_1_1tuple__a__not__b.html#ab7aabf86559ad403741955663d86f83d">tuple_a_not_b</a><Array, Allocator> [...]
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">using </span>Base = <a class="code hl_function" href="classdatasketches_1_1tuple__a__not__b.html#ab7aabf86559ad403741955663d86f83d">tuple_a_not_b<Array, Allocator></a>;</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">using </span>CompactSketch = <a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<Array, Allocator></a>;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__a__not__b.html#afc12166e05f904485a0fd4fe84436336"> 43</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classdatasketches_1_1array__tuple__a__not__b.html#afc12166e05f904485a0fd4fe84436336">array_tuple_a_not_b</a>(uint64_t seed = DEFAULT_SEED, <span class="keyword">const</span> Allocator& allocator = Allocator());</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">template</span><<span class="keyword">typename</span> FwdSketch, <span class="keyword">typename</span> Sketch></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a"> 53</a></span> CompactSketch <a class="code hl_function" href="classdatasketches_1_1array__tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a">compute</a>(FwdSketch&& a, <span class="keyword">const</span> Sketch& b, <span class="keywordtype">bool</span> ordered = <span class="keyword">true</s [...]
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>};</div>
+</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor">#include "array_tuple_a_not_b_impl.hpp"</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__a__not__b_html_a02e4064c0b8b59883551b62f8446fc2a"><div class="ttname"><a href="classdatasketches_1_1array__tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a">datasketches::array_tuple_a_not_b::compute</a></div><div class="ttdeci">CompactSketch compute(FwdSketch &&a, const Sketch &b, bool ordered=true) const</div><div class="ttdoc">Computes the A-not-B set operation given two sketches.</div><div class="ttdef"><b>De [...]
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__a__not__b_html_afc12166e05f904485a0fd4fe84436336"><div class="ttname"><a href="classdatasketches_1_1array__tuple__a__not__b.html#afc12166e05f904485a0fd4fe84436336">datasketches::array_tuple_a_not_b::array_tuple_a_not_b</a></div><div class="ttdeci">array_tuple_a_not_b(uint64_t seed=DEFAULT_SEED, const Allocator &allocator=Allocator())</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition</b> array_tuple_a_no [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html">datasketches::compact_array_tuple_sketch</a></div><div class="ttdoc">Compact array tuple sketch.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:194</div></div>
+<div class="ttc" id="aclassdatasketches_1_1tuple__a__not__b_html_ab7aabf86559ad403741955663d86f83d"><div class="ttname"><a href="classdatasketches_1_1tuple__a__not__b.html#ab7aabf86559ad403741955663d86f83d">datasketches::tuple_a_not_b< Array, typename Array::allocator_type >::tuple_a_not_b</a></div><div class="ttdeci">tuple_a_not_b(uint64_t seed=DEFAULT_SEED, const typename Array::allocator_type &allocator=typename Array::allocator_type())</div><div class="ttdef"><b>Definition< [...]
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__a__not__b__impl_8hpp_source.html b/docs/5.3.0/array__tuple__a__not__b__impl_8hpp_source.html
new file mode 100644
index 00000000..3a4de017
--- /dev/null
+++ b/docs/5.3.0/array__tuple__a__not__b__impl_8hpp_source.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_a_not_b_impl.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_a_not_b_impl.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00023" data-start="{" data-end="}">
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__a__not__b.html#afc12166e05f904485a0fd4fe84436336"> 23</a></span><a class="code hl_function" href="classdatasketches_1_1array__tuple__a__not__b.html#afc12166e05f904485a0fd4fe84436336">array_tuple_a_not_b<Array, Allocator>::array_tuple_a_not_b</a>(uint64_t seed, <span class="keyword">const</span> Allocator& allocator):</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>Base(seed, allocator) {}</div>
+</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">template</span><<span class="keyword">typename</span> FwdSketch, <span class="keyword">typename</span> Sketch></div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="}">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a"> 28</a></span><span class="keyword">auto</span> <a class="code hl_function" href="classdatasketches_1_1array__tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a">array_tuple_a_not_b<Array, Allocator>::compute</a>(FwdSketch&& a, <span class="keyword">const</span> Sketch& b, <span class="k [...]
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">return</span> CompactSketch(a.get_num_values(), <a class="code hl_function" href="classdatasketches_1_1tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a">Base::compute</a>(std::forward<FwdSketch>(a), b, ordered));</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>}</div>
+</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__a__not__b_html_a02e4064c0b8b59883551b62f8446fc2a"><div class="ttname"><a href="classdatasketches_1_1array__tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a">datasketches::array_tuple_a_not_b::compute</a></div><div class="ttdeci">CompactSketch compute(FwdSketch &&a, const Sketch &b, bool ordered=true) const</div><div class="ttdoc">Computes the A-not-B set operation given two sketches.</div><div class="ttdef"><b>De [...]
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__a__not__b_html_afc12166e05f904485a0fd4fe84436336"><div class="ttname"><a href="classdatasketches_1_1array__tuple__a__not__b.html#afc12166e05f904485a0fd4fe84436336">datasketches::array_tuple_a_not_b::array_tuple_a_not_b</a></div><div class="ttdeci">array_tuple_a_not_b(uint64_t seed=DEFAULT_SEED, const Allocator &allocator=Allocator())</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition</b> array_tuple_a_no [...]
+<div class="ttc" id="aclassdatasketches_1_1tuple__a__not__b_html_a02e4064c0b8b59883551b62f8446fc2a"><div class="ttname"><a href="classdatasketches_1_1tuple__a__not__b.html#a02e4064c0b8b59883551b62f8446fc2a">datasketches::tuple_a_not_b< Array, Allocator >::compute</a></div><div class="ttdeci">CompactSketch compute(FwdSketch &&a, const Sketch &b, bool ordered=true) const</div></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__intersection_8hpp_source.html b/docs/5.3.0/array__tuple__intersection_8hpp_source.html
new file mode 100644
index 00000000..257cb9a4
--- /dev/null
+++ b/docs/5.3.0/array__tuple__intersection_8hpp_source.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_intersection.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_intersection.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef ARRAY_TUPLE_INTERSECTION_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define ARRAY_TUPLE_INTERSECTION_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <vector></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include "array_tuple_sketch.hpp"</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include "tuple_intersection.hpp"</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">template</span><</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">typename</span> Array,</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">typename</span> Policy,</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">typename</span> Allocator = <span class="keyword">typename</span> Array::allocator_type</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>></div>
+<div class="foldopen" id="foldopen00037" data-start="{" data-end="};">
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__intersection.html"> 37</a></span><span class="keyword">class </span><a class="code hl_function" href="classdatasketches_1_1array__tuple__intersection.html#af032c7e2eeeafda87bf316647465ba4a">array_tuple_intersection</a>: <span class="keyword">public</span> <a class="code hl_function" href="classdatasketches_1_1tuple__intersection.html#a4cff2978362ac6d1c74a1a69 [...]
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">using </span>Base = <a class="code hl_function" href="classdatasketches_1_1tuple__intersection.html#a4cff2978362ac6d1c74a1a69c3b3843f">tuple_intersection<Array, Policy, Allocator></a>;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">using </span>CompactSketch = <a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<Array, Allocator></a>;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">using </span>resize_factor = <a class="code hl_typedef" href="namespacedatasketches_1_1theta__constants.html#a329224ced789e065aed0698566b954a4">theta_constants::resize_factor</a>;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__intersection.html#af032c7e2eeeafda87bf316647465ba4a"> 49</a></span> <span class="keyword">explicit</span> <a class="code hl_function" href="classdatasketches_1_1array__tuple__intersection.html#af032c7e2eeeafda87bf316647465ba4a">array_tuple_intersection</a>(uint64_t seed = DEFAULT_SEED, <span class="keyword">const</span> Policy& policy = Policy(), <span c [...]
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99"> 58</a></span> CompactSketch <a class="code hl_function" href="classdatasketches_1_1array__tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99">get_result</a>(<span class="keywordtype">bool</span> ordered = <span class="keyword">true</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>};</div>
+</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor">#include "array_tuple_intersection_impl.hpp"</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__intersection_html_a037835e8f8e6b5233fa0f0996bba6a99"><div class="ttname"><a href="classdatasketches_1_1array__tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99">datasketches::array_tuple_intersection::get_result</a></div><div class="ttdeci">CompactSketch get_result(bool ordered=true) const</div><div class="ttdoc">Produces a copy of the current state of the intersection.</div><div class="ttdef"><b>Definition</b> array_tuple [...]
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__intersection_html_af032c7e2eeeafda87bf316647465ba4a"><div class="ttname"><a href="classdatasketches_1_1array__tuple__intersection.html#af032c7e2eeeafda87bf316647465ba4a">datasketches::array_tuple_intersection::array_tuple_intersection</a></div><div class="ttdeci">array_tuple_intersection(uint64_t seed=DEFAULT_SEED, const Policy &policy=Policy(), const Allocator &allocator=Allocator())</div><div class="ttdoc">Constructor.</d [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html">datasketches::compact_array_tuple_sketch</a></div><div class="ttdoc">Compact array tuple sketch.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:194</div></div>
+<div class="ttc" id="aclassdatasketches_1_1tuple__intersection_html_a4cff2978362ac6d1c74a1a69c3b3843f"><div class="ttname"><a href="classdatasketches_1_1tuple__intersection.html#a4cff2978362ac6d1c74a1a69c3b3843f">datasketches::tuple_intersection< Array, Policy, typename Array::allocator_type >::tuple_intersection</a></div><div class="ttdeci">tuple_intersection(uint64_t seed=DEFAULT_SEED, const Policy &policy=Policy(), const typename Array::allocator_type &allocator=typename [...]
+<div class="ttc" id="anamespacedatasketches_1_1theta__constants_html_a329224ced789e065aed0698566b954a4"><div class="ttname"><a href="namespacedatasketches_1_1theta__constants.html#a329224ced789e065aed0698566b954a4">datasketches::theta_constants::resize_factor</a></div><div class="ttdeci">datasketches::resize_factor resize_factor</div><div class="ttdoc">hash table resize factor</div><div class="ttdef"><b>Definition</b> theta_constants.hpp:31</div></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__intersection__impl_8hpp_source.html b/docs/5.3.0/array__tuple__intersection__impl_8hpp_source.html
new file mode 100644
index 00000000..53870bab
--- /dev/null
+++ b/docs/5.3.0/array__tuple__intersection__impl_8hpp_source.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_intersection_impl.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_intersection_impl.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00023" data-start="{" data-end="}">
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__intersection.html#af032c7e2eeeafda87bf316647465ba4a"> 23</a></span><a class="code hl_function" href="classdatasketches_1_1array__tuple__intersection.html#af032c7e2eeeafda87bf316647465ba4a">array_tuple_intersection<Array, Policy, Allocator>::array_tuple_intersection</a>(uint64_t seed, <span class="keyword">const</span> Policy& policy, <span class="ke [...]
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>Base(seed, policy, allocator) {}</div>
+</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00027" data-start="{" data-end="}">
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99"> 27</a></span><span class="keyword">auto</span> <a class="code hl_function" href="classdatasketches_1_1array__tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99">array_tuple_intersection<Array, Policy, Allocator>::get_result</a>(<span class="keywordtype">bool</span> ordered) <span class="keywo [...]
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">return</span> CompactSketch(this->state_.get_policy().get_external_policy().get_num_values(), <a class="code hl_function" href="classdatasketches_1_1tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99">Base::get_result</a>(ordered));</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>}</div>
+</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__intersection_html_a037835e8f8e6b5233fa0f0996bba6a99"><div class="ttname"><a href="classdatasketches_1_1array__tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99">datasketches::array_tuple_intersection::get_result</a></div><div class="ttdeci">CompactSketch get_result(bool ordered=true) const</div><div class="ttdoc">Produces a copy of the current state of the intersection.</div><div class="ttdef"><b>Definition</b> array_tuple [...]
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__intersection_html_af032c7e2eeeafda87bf316647465ba4a"><div class="ttname"><a href="classdatasketches_1_1array__tuple__intersection.html#af032c7e2eeeafda87bf316647465ba4a">datasketches::array_tuple_intersection::array_tuple_intersection</a></div><div class="ttdeci">array_tuple_intersection(uint64_t seed=DEFAULT_SEED, const Policy &policy=Policy(), const Allocator &allocator=Allocator())</div><div class="ttdoc">Constructor.</d [...]
+<div class="ttc" id="aclassdatasketches_1_1tuple__intersection_html_a037835e8f8e6b5233fa0f0996bba6a99"><div class="ttname"><a href="classdatasketches_1_1tuple__intersection.html#a037835e8f8e6b5233fa0f0996bba6a99">datasketches::tuple_intersection< Array, Policy, Allocator >::get_result</a></div><div class="ttdeci">CompactSketch get_result(bool ordered=true) const</div></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__sketch_8hpp_source.html b/docs/5.3.0/array__tuple__sketch_8hpp_source.html
new file mode 100644
index 00000000..f75e3248
--- /dev/null
+++ b/docs/5.3.0/array__tuple__sketch_8hpp_source.html
@@ -0,0 +1,350 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_sketch.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_sketch.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef ARRAY_TUPLE_SKETCH_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define ARRAY_TUPLE_SKETCH_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <vector></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <type_traits></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <algorithm></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include "serde.hpp"</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include "tuple_sketch.hpp"</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">// This simple array is faster than std::vector and should be sufficient for this application</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> Allocator = std::allocator<T>></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">class </span>array {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">using </span>value_type = T;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">using </span>allocator_type = Allocator;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">using </span>alloc_traits = std::allocator_traits<Allocator>;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">explicit</span> array(uint8_t size, <span class="keyword">const</span> T& value, <span class="keyword">const</span> Allocator& allocator = Allocator()):</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> allocator_(allocator), size_(size), array_(allocator_.allocate(size_)) {</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> init_values(value, std::is_trivially_copyable<T>());</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> }</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> array(<span class="keyword">const</span> array& other):</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> allocator_(other.allocator_),</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> size_(other.size_),</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> array_(allocator_.allocate(size_))</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> {</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> copy_from(other, std::is_trivially_copyable<T>());</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> }</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> array(array&& other) <span class="keyword">noexcept</span>:</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> allocator_(std::move(other.allocator_)),</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> size_(other.size_),</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> array_(other.array_)</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> {</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> other.array_ = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> other.size_ = 0;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> }</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> ~array() {</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (array_ != <span class="keyword">nullptr</span>) {</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> destroy_values(std::is_trivially_destructible<T>());</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> allocator_.deallocate(array_, size_);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> array& operator=(<span class="keyword">const</span> array& other) {</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> array copy(other);</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> std::swap(allocator_, copy.allocator_);</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> std::swap(size_, copy.size_);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> std::swap(array_, copy.array_);</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> array& operator=(array&& other) {</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> std::swap(allocator_, other.allocator_);</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> std::swap(size_, other.size_);</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> std::swap(array_, other.array_);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> }</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> T& operator[](<span class="keywordtype">size_t</span> index) { <span class="keywordflow">return</span> array_[index]; }</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> T operator[](<span class="keywordtype">size_t</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> array_[index]; }</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> uint8_t size()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; }</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> T* data() { <span class="keywordflow">return</span> array_; }</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">const</span> T* data()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> array_; }</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> array& other)<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">if</span> (size_ != other.size_) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">for</span> (uint8_t i = 0; i < size_; ++i) <span class="keywordflow">if</span> (array_[i] != other.array_[i]) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> }</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">void</span> init_values(<span class="keyword">const</span> T& value, std::true_type) {</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> std::fill(array_, array_ + size_, value);</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">void</span> init_values(<span class="keyword">const</span> T& value, std::false_type) {</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">for</span> (uint8_t i = 0; i < size_; ++i) {</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> alloc_traits::construct(allocator_, array_ + i, value);</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> }</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">void</span> copy_from(<span class="keyword">const</span> array& other, std::true_type) {</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> std::copy(other.array_, other.array_ + size_, array_);</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> }</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">void</span> copy_from(<span class="keyword">const</span> array& other, std::false_type) {</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">for</span> (uint8_t i = 0; i < size_; ++i) {</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> alloc_traits::construct(allocator_, array_ + i, other.array_[i]);</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> }</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> }</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">void</span> destroy_values(std::true_type) {}</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">void</span> destroy_values(std::false_type) {</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">for</span> (uint8_t i = 0; i < size_; ++i) {</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> alloc_traits::destroy(allocator_, array_ + i);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> }</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> }</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> Allocator allocator_;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> uint8_t size_;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> T* array_;</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>};</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator = <span class="keyword">typename</span> Array::allocator_type></div>
+<div class="foldopen" id="foldopen00120" data-start="{" data-end="};">
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classdatasketches_1_1default__array__tuple__update__policy.html"> 120</a></span><span class="keyword">class </span>default_array_tuple_update_policy {</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> default_array_tuple_update_policy(uint8_t num_values = 1, <span class="keyword">const</span> Allocator& allocator = Allocator()):</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> allocator_(allocator), num_values_(num_values) {}</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> Array create()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> Array(num_values_, 0, allocator_);</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> }</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">template</span><<span class="keyword">typename</span> InputArray> <span class="comment">// to allow any type with indexed access (such as double* or std::vector)</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">void</span> update(Array& array, <span class="keyword">const</span> InputArray& update)<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">for</span> (uint8_t i = 0; i < num_values_; ++i) array[i] += update[i];</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> }</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> uint8_t get_num_values()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> num_values_;</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> }</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> Allocator allocator_;</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> uint8_t num_values_;</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span>};</div>
+</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment">// forward declaration</span></div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator> <span class="keyword">class </span><a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch</a>;</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span></div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="keyword">template</span><</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">typename</span> Array,</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">typename</span> Policy = <a class="code hl_class" href="classdatasketches_1_1default__array__tuple__update__policy.html">default_array_tuple_update_policy<Array></a>,</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">typename</span> Allocator = <span class="keyword">typename</span> Array::allocator_type</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span>></div>
+<div class="foldopen" id="foldopen00156" data-start="{" data-end="};">
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch.html"> 156</a></span><span class="keyword">class </span>update_array_tuple_sketch: <span class="keyword">public</span> update_tuple_sketch<Array, Array, Policy, Allocator> {</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">using </span>Base = update_tuple_sketch<Array, Array, Policy, Allocator>;</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">using </span>resize_factor = <span class="keyword">typename</span> Base::resize_factor;</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">class </span><a class="code hl_class" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html">builder</a>;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<Array, Allocator></a> compact(<span class="keywordtype">bool</span> ordered = <span class="keyword">true</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span></div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1"> 166</a></span> uint8_t <a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">get_num_values</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="comment">// for builder</span></div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> update_array_tuple_sketch(uint8_t lg_cur_size, uint8_t lg_nom_size, resize_factor rf, <span class="keywordtype">float</span> p, uint64_t theta,</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> uint64_t seed, <span class="keyword">const</span> Policy& policy, <span class="keyword">const</span> Allocator& allocator);</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span>};</div>
+</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span></div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00176" data-start="{" data-end="};">
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html"> 176</a></span><span class="keyword">class </span>update_array_tuple_sketch<Array, Policy, Allocator>::<a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4">builder</a>: <span class="keyword">public</span> tuple_base_builder<builder, Policy [...]
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4">builder</a>(<span class="keyword">const</span> Policy& policy = Policy(), <span class="keyword">const</span> Allocator& allocator = Allocator());</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> update_array_tuple_sketch <a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#a5641adbacdefd99f6833e1c8de16be43">build</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span>};</div>
+</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span></div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="keyword">template</span><</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">typename</span> Array,</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">typename</span> Allocator = <span class="keyword">typename</span> Array::allocator_type</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span>></div>
+<div class="foldopen" id="foldopen00194" data-start="{" data-end="};">
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html"> 194</a></span><span class="keyword">class </span><a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch</a>: <span class="keyword">public</span> <a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a919843136e9bb [...]
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">using </span>Base = <a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a919843136e9bb921acd40bfea4ed5aef">compact_tuple_sketch<Array, Allocator></a>;</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">using </span>Entry = <span class="keyword">typename</span> Base::Entry;</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">using </span>AllocEntry = <span class="keyword">typename</span> Base::AllocEntry;</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">using </span>AllocU64 = <span class="keyword">typename</span> Base::AllocU64;</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">using </span>vector_bytes = <span class="keyword">typename</span> Base::vector_bytes;</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">static</span> <span class="keyword">const</span> uint8_t SERIAL_VERSION = 1;</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">static</span> <span class="keyword">const</span> uint8_t SKETCH_FAMILY = 9;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">static</span> <span class="keyword">const</span> uint8_t SKETCH_TYPE = 3;</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">enum</span> flags { UNUSED1, UNUSED2, IS_EMPTY, HAS_ENTRIES, IS_ORDERED };</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span></div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">template</span><<span class="keyword">typename</span> Sketch></div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0"> 214</a></span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch</a>(<span class="keyword">const</span> Sketch& other, <span class="keywordtype">bool</span> ordered = <span class="keyword">true</spa [...]
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span></div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1"> 217</a></span> uint8_t <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">get_num_values</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924"> 223</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">serialize</a>(std::ostream& os) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span></div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1c7a57911806d47ee3cebe9fad59f836"> 232</a></span> vector_bytes <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1c7a57911806d47ee3cebe9fad59f836">serialize</a>(<span class="keywordtype">unsigned</span> header_size_bytes = 0) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span></div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a94e90deb78db69a750d375b6fae0c585"> 241</a></span> <span class="keyword">static</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch</a> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a94e90d [...]
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span></div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a17862798b607e6f16a9b20ebbc34b0d0"> 251</a></span> <span class="keyword">static</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch</a> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a178627 [...]
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">const</span> Allocator& allocator = Allocator());</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> uint8_t num_values_;</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> </div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keyword">template</span><<span class="keyword">typename</span> Ar, <span class="keyword">typename</span> P, <span class="keyword">typename</span> Al> <span class="keyword">friend</span> <span class="keyword">class </span>array_tuple_union;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">template</span><<span class="keyword">typename</span> Ar, <span class="keyword">typename</span> P, <span class="keyword">typename</span> Al> <span class="keyword">friend</span> <span class="keyword">class </span>array_tuple_intersection;</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">template</span><<span class="keyword">typename</span> Ar, <span class="keyword">typename</span> Al> <span class="keyword">friend</span> <span class="keyword">class </span>array_tuple_a_not_b;</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch</a>(<span class="keywordtype">bool</span> <a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a>, <span class="keywordtype">bool</span> <a class="code hl_function" href="classdat [...]
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch</a>(uint8_t num_values, Base&& base);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span>};</div>
+</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="preprocessor">#include "array_tuple_sketch_impl.hpp"</span></div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html">datasketches::compact_array_tuple_sketch</a></div><div class="ttdoc">Compact array tuple sketch.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:194</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a005404841e22f08ab76ce513d9b39bd1"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">datasketches::compact_array_tuple_sketch::get_num_values</a></div><div class="ttdeci">uint8_t get_num_values() const</div><div class="ttdef"><b>Definition</b> array_tuple_sketch_impl.hpp:65</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a17862798b607e6f16a9b20ebbc34b0d0"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a17862798b607e6f16a9b20ebbc34b0d0">datasketches::compact_array_tuple_sketch::deserialize</a></div><div class="ttdeci">static compact_array_tuple_sketch deserialize(const void *bytes, size_t size, uint64_t seed=DEFAULT_SEED, const Allocator &allocator=Allocator())</div><div class="ttdoc">Th [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a1bcdd98ee6e6eb9b501b8dc5de5e8924"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">datasketches::compact_array_tuple_sketch::serialize</a></div><div class="ttdeci">void serialize(std::ostream &os) const</div><div class="ttdoc">This method serializes the sketch into a given stream in a binary form.</div><div class="ttdef"><b>Definition</ [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a1c7a57911806d47ee3cebe9fad59f836"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a1c7a57911806d47ee3cebe9fad59f836">datasketches::compact_array_tuple_sketch::serialize</a></div><div class="ttdeci">vector_bytes serialize(unsigned header_size_bytes=0) const</div><div class="ttdoc">This method serializes the sketch as a vector of bytes.</div><div class="ttdef"><b>Definition</ [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a1d5f786024b3df2ab6993056a22abad0"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">datasketches::compact_array_tuple_sketch::compact_array_tuple_sketch</a></div><div class="ttdeci">compact_array_tuple_sketch(const Sketch &other, bool ordered=true)</div><div class="ttdoc">Copy constructor.</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a94e90deb78db69a750d375b6fae0c585"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a94e90deb78db69a750d375b6fae0c585">datasketches::compact_array_tuple_sketch::deserialize</a></div><div class="ttdeci">static compact_array_tuple_sketch deserialize(std::istream &is, uint64_t seed=DEFAULT_SEED, const Allocator &allocator=Allocator())</div><div class="ttdoc">This method [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__tuple__sketch_html_a5a2b7a58dc85678d08752945ff655362"><div class="ttname"><a href="classdatasketches_1_1compact__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">datasketches::compact_tuple_sketch::is_empty</a></div><div class="ttdeci">virtual bool is_empty() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:329</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__tuple__sketch_html_a5f5b393314c0c1819f79b73232a506e8"><div class="ttname"><a href="classdatasketches_1_1compact__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">datasketches::compact_tuple_sketch::is_ordered</a></div><div class="ttdeci">virtual bool is_ordered() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:334</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__tuple__sketch_html_a919843136e9bb921acd40bfea4ed5aef"><div class="ttname"><a href="classdatasketches_1_1compact__tuple__sketch.html#a919843136e9bb921acd40bfea4ed5aef">datasketches::compact_tuple_sketch< Array, typename Array::allocator_type >::compact_tuple_sketch</a></div><div class="ttdeci">compact_tuple_sketch(const Base &other, bool ordered)</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:287</div></div>
+<div class="ttc" id="aclassdatasketches_1_1default__array__tuple__update__policy_html"><div class="ttname"><a href="classdatasketches_1_1default__array__tuple__update__policy.html">datasketches::default_array_tuple_update_policy</a></div><div class="ttdoc">default array tuple update policy</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:120</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_1_1builder_html"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html">datasketches::update_array_tuple_sketch::builder</a></div><div class="ttdoc">Update array tuple sketch builder.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:176</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_1_1builder_html_a5641adbacdefd99f6833e1c8de16be43"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#a5641adbacdefd99f6833e1c8de16be43">datasketches::update_array_tuple_sketch::builder::build</a></div><div class="ttdeci">update_array_tuple_sketch build() const</div><div class="ttdef"><b>Definition</b> array_tuple_sketch_impl.hpp:44</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_1_1builder_html_aa5a67185e858074f733c7ef6019219d4"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4">datasketches::update_array_tuple_sketch::builder::builder</a></div><div class="ttdeci">builder(const Policy &policy=Policy(), const Allocator &allocator=Allocator())</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>D [...]
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_html_a005404841e22f08ab76ce513d9b39bd1"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">datasketches::update_array_tuple_sketch::get_num_values</a></div><div class="ttdeci">uint8_t get_num_values() const</div><div class="ttdef"><b>Definition</b> array_tuple_sketch_impl.hpp:28</div></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__sketch__impl_8hpp_source.html b/docs/5.3.0/array__tuple__sketch__impl_8hpp_source.html
new file mode 100644
index 00000000..384dd5c1
--- /dev/null
+++ b/docs/5.3.0/array__tuple__sketch__impl_8hpp_source.html
@@ -0,0 +1,368 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_sketch_impl.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_sketch_impl.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>update_array_tuple_sketch<Array, Policy, Allocator>::update_array_tuple_sketch(uint8_t lg_cur_size, uint8_t lg_nom_size, resize_factor rf,</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordtype">float</span> p, uint64_t theta, uint64_t seed, <span class="keyword">const</span> Policy& policy, <span class="keyword">const</span> Allocator& allocator):</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span>Base(lg_cur_size, lg_nom_size, rf, p, theta, seed, policy, allocator) {}</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="}">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1"> 28</a></span>uint8_t <a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">update_array_tuple_sketch<Array, Policy, Allocator>::get_num_values</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">return</span> this->policy_.get_num_values();</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>}</div>
+</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<Array, Allocator></a> update_array_tuple_sketch<Array, Policy, Allocator>::compact(<span class="keywordtype">bool</span> ordered)<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<Array, Allocator></a>(*<span class="keyword">this</span>, ordered);</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span>}</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">// builder</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00040" data-start="{" data-end="}">
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4"> 40</a></span><a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4">update_array_tuple_sketch<Array, Policy, Allocator>::builder::builder</a>(<span class="keyword">const</span> Policy& policy, <span class [...]
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>tuple_base_builder<<a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4">builder</a>, Policy, Allocator>(policy, allocator) {}</div>
+</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00044" data-start="{" data-end="}">
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#a5641adbacdefd99f6833e1c8de16be43"> 44</a></span><span class="keyword">auto</span> <a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#a5641adbacdefd99f6833e1c8de16be43">update_array_tuple_sketch<Array, Policy, Allocator>::builder::build</a>() const -> update_array_tuple_s [...]
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">return</span> update_array_tuple_sketch(this->starting_lg_size(), this->lg_k_, this->rf_, this->p_, this->starting_theta(), this->seed_, this->policy_, this->allocator_);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>}</div>
+</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">// compact sketch</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="keyword">template</span><<span class="keyword">typename</span> S></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch<Array, Allocator>::compact_array_tuple_sketch</a>(<span class="keyword">const</span> S& other, <span class="keywordtype">bool</span> ordered):</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>Base(other, ordered), num_values_(other.<a class="code hl_function" href="classdatasketches_1_1update__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">get_num_values</a>()) {}</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch<Array, Allocator>::compact_array_tuple_sketch</a>(<span class="keywordtype">bool</span> <a class="code hl_function" href="classdatasketches_1_1update__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a>, <span class="keywordtype">bool< [...]
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> uint16_t seed_hash, uint64_t theta, std::vector<Entry, AllocEntry>&& entries, uint8_t num_values):</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>Base(<a class="code hl_function" href="classdatasketches_1_1update__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a>, <a class="code hl_function" href="classdatasketches_1_1update__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">is_ordered</a>, seed_hash, theta, std::move(entries)), num_values_(num_values) {}</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch<Array, Allocator>::compact_array_tuple_sketch</a>(uint8_t num_values, Base&& base):</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span>Base(std::move(base)), num_values_(num_values) {}</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00065" data-start="{" data-end="}">
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1"> 65</a></span>uint8_t <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">compact_array_tuple_sketch<Array, Allocator>::get_num_values</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> num_values_;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>}</div>
+</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00070" data-start="{" data-end="}">
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924"> 70</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">compact_array_tuple_sketch<Array, Allocator>::serialize</a>(std::ostream& os)<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> uint8_t preamble_longs = 1;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> write(os, preamble_longs);</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> uint8_t serial_version = SERIAL_VERSION;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> write(os, serial_version);</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> uint8_t family = SKETCH_FAMILY;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> write(os, family);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> uint8_t type = SKETCH_TYPE;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> write(os, type);</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> uint8_t flags_byte(</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a>() ? 1 << flags::IS_EMPTY : 0) |</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a31fa76458d81a17dbebfcb828e531f14">get_num_retained</a>() > 0 ? 1 << flags::HAS_ENTRIES : 0) |</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">is_ordered</a>() ? 1 << flags::IS_ORDERED : 0)</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> );</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> write(os, flags_byte);</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> write(os, num_values_);</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> uint16_t seed_hash = this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a6f69b50bc13da11d255d0e583e2376ba">get_seed_hash</a>();</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> write(os, seed_hash);</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> write(os, this->theta_);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">if</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a31fa76458d81a17dbebfcb828e531f14">get_num_retained</a>() > 0) {</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">const</span> uint32_t num_entries = <span class="keyword">static_cast<</span>uint32_t<span class="keyword">></span>(this->entries_.size());</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> write(os, num_entries);</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">const</span> uint32_t unused32 = 0;</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> write(os, unused32);</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& it: this->entries_) {</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> write(os, it.first);</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& it: this->entries_) {</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> write(os, it.second.data(), it.second.size() * <span class="keyword">sizeof</span>(<span class="keyword">typename</span> Array::value_type));</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> }</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> }</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span>}</div>
+</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00104" data-start="{" data-end="}">
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1c7a57911806d47ee3cebe9fad59f836"> 104</a></span><span class="keyword">auto</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">compact_array_tuple_sketch<Array, Allocator>::serialize</a>(<span class="keywordtype">unsigned</span> header_size_bytes) <span [...]
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">const</span> uint8_t preamble_longs = 1;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> size = header_size_bytes + 16 <span class="comment">// preamble and theta</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> + (this->entries_.size() > 0 ? 8 : 0)</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> + (<span class="keyword">sizeof</span>(uint64_t) + <span class="keyword">sizeof</span>(<span class="keyword">typename</span> Array::value_type) * num_values_) * this->entries_.size();</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> vector_bytes bytes(size, 0, this->entries_.get_allocator());</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> uint8_t* ptr = bytes.data() + header_size_bytes;</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> ptr += copy_to_mem(preamble_longs, ptr);</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">const</span> uint8_t serial_version = SERIAL_VERSION;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> ptr += copy_to_mem(serial_version, ptr);</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">const</span> uint8_t family = SKETCH_FAMILY;</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> ptr += copy_to_mem(family, ptr);</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">const</span> uint8_t type = SKETCH_TYPE;</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> ptr += copy_to_mem(type, ptr);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> uint8_t flags_byte(</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a>() ? 1 << flags::IS_EMPTY : 0) |</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a31fa76458d81a17dbebfcb828e531f14">get_num_retained</a>() ? 1 << flags::HAS_ENTRIES : 0) |</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">is_ordered</a>() ? 1 << flags::IS_ORDERED : 0)</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> );</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> ptr += copy_to_mem(flags_byte, ptr);</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> ptr += copy_to_mem(num_values_, ptr);</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> uint16_t seed_hash = this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a6f69b50bc13da11d255d0e583e2376ba">get_seed_hash</a>();</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> ptr += copy_to_mem(seed_hash, ptr);</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> ptr += copy_to_mem((this->theta_), ptr);</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (this-><a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a31fa76458d81a17dbebfcb828e531f14">get_num_retained</a>() > 0) {</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">const</span> uint32_t num_entries = <span class="keyword">static_cast<</span>uint32_t<span class="keyword">></span>(this->entries_.size());</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> ptr += copy_to_mem(num_entries, ptr);</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> ptr += <span class="keyword">sizeof</span>(uint32_t); <span class="comment">// unused</span></div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& it: this->entries_) {</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> ptr += copy_to_mem(it.first, ptr);</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> }</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& it: this->entries_) {</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> ptr += copy_to_mem(it.second.data(), ptr, it.second.size() * <span class="keyword">sizeof</span>(<span class="keyword">typename</span> Array::value_type));</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> }</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> }</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> bytes;</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span>}</div>
+</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00144" data-start="{" data-end="}">
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a94e90deb78db69a750d375b6fae0c585"> 144</a></span><a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch<Array, Allocator></a> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a94e90deb78db69a750d3 [...]
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> read<uint8_t>(is); <span class="comment">// unused</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">const</span> <span class="keyword">auto</span> serial_version = read<uint8_t>(is);</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">const</span> <span class="keyword">auto</span> family = read<uint8_t>(is);</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">const</span> <span class="keyword">auto</span> type = read<uint8_t>(is);</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">const</span> <span class="keyword">auto</span> flags_byte = read<uint8_t>(is);</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">const</span> <span class="keyword">auto</span> num_values = read<uint8_t>(is);</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">const</span> <span class="keyword">auto</span> seed_hash = read<uint16_t>(is);</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> checker<true>::check_serial_version(serial_version, SERIAL_VERSION);</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> checker<true>::check_sketch_family(family, SKETCH_FAMILY);</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> checker<true>::check_sketch_type(type, SKETCH_TYPE);</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_entries = flags_byte & (1 << flags::HAS_ENTRIES);</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">if</span> (has_entries) checker<true>::check_seed_hash(seed_hash, compute_seed_hash(seed));</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">const</span> <span class="keyword">auto</span> theta = read<uint64_t>(is);</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> std::vector<Entry, AllocEntry> entries(allocator);</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">if</span> (has_entries) {</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> <span class="keyword">auto</span> num_entries = read<uint32_t>(is);</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> read<uint32_t>(is); <span class="comment">// unused</span></div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> entries.reserve(num_entries);</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> std::vector<uint64_t, AllocU64> keys(num_entries, 0, allocator);</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> read(is, keys.data(), num_entries * <span class="keyword">sizeof</span>(uint64_t));</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < num_entries; ++i) {</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> Array summary(num_values, 0, allocator);</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> read(is, summary.data(), num_values * <span class="keyword">sizeof</span>(<span class="keyword">typename</span> Array::value_type));</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> entries.emplace_back(keys[i], std::move(summary));</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> }</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (!is.good()) <span class="keywordflow">throw</span> std::runtime_error(<span class="stringliteral">"error reading from std::istream"</span>);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a> = flags_byte & (1 << flags::IS_EMPTY);</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">is_ordered</a> = flags_byte & (1 << flags::IS_ORDERED);</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch<Array, Allocator></a>(<a class="code hl_function" href="classdatasketches_1_1compact__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a>, <a class="code hl_function" href="classdatasketches_1_ [...]
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span>}</div>
+</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Allocator></div>
+<div class="foldopen" id="foldopen00179" data-start="{" data-end="}">
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="classdatasketches_1_1compact__array__tuple__sketch.html#a17862798b607e6f16a9b20ebbc34b0d0"> 179</a></span><a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">compact_array_tuple_sketch<Array, Allocator></a> <a class="code hl_function" href="classdatasketches_1_1compact__array__tuple__sketch.html#a94e90deb78db69a750d3 [...]
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> ensure_minimum_memory(size, 16);</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* ptr = <span class="keyword">static_cast<</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">></span>(bytes);</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> ptr += <span class="keyword">sizeof</span>(uint8_t); <span class="comment">// unused</span></div>
+<div class="foldopen" id="foldopen00183" data-start="{" data-end="}">
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4"> 183</a></span> uint8_t serial_version;</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> ptr += copy_from_mem(ptr, serial_version);</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> uint8_t family;</div>
+<div class="foldopen" id="foldopen00186" data-start="{" data-end="}">
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#a5641adbacdefd99f6833e1c8de16be43"> 186</a></span> ptr += copy_from_mem(ptr, family);</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> uint8_t type;</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> ptr += copy_from_mem(ptr, type);</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> uint8_t flags_byte;</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> ptr += copy_from_mem(ptr, flags_byte);</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> uint8_t num_values;</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> ptr += copy_from_mem(ptr, num_values);</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> uint16_t seed_hash;</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> ptr += copy_from_mem(ptr, seed_hash);</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> checker<true>::check_serial_version(serial_version, SERIAL_VERSION);</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> checker<true>::check_sketch_family(family, SKETCH_FAMILY);</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> checker<true>::check_sketch_type(type, SKETCH_TYPE);</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> has_entries = flags_byte & (1 << flags::HAS_ENTRIES);</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">if</span> (has_entries) checker<true>::check_seed_hash(seed_hash, compute_seed_hash(seed));</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> </div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> uint64_t theta;</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> ptr += copy_from_mem(ptr, theta);</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> std::vector<Entry, AllocEntry> entries(allocator);</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (has_entries) {</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> ensure_minimum_memory(size, 24);</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> uint32_t num_entries;</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> ptr += copy_from_mem(ptr, num_entries);</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> ptr += <span class="keyword">sizeof</span>(uint32_t); <span class="comment">// unused</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> ensure_minimum_memory(size, 24 + (<span class="keyword">sizeof</span>(uint64_t) + <span class="keyword">sizeof</span>(<span class="keyword">typename</span> Array::value_type) * num_values) * num_entries);</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> entries.reserve(num_entries);</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> std::vector<uint64_t, AllocU64> keys(num_entries, 0, allocator);</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> ptr += copy_from_mem(ptr, keys.data(), <span class="keyword">sizeof</span>(uint64_t) * num_entries);</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < num_entries; ++i) {</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> Array summary(num_values, 0, allocator);</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> ptr += copy_from_mem(ptr, summary.data(), num_values * <span class="keyword">sizeof</span>(<span class="keyword">typename</span> Array::value_type));</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> entries.emplace_back(keys[i], std::move(summary));</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> }</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> }</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdatasketches_1_1update__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a> = flags_byte & (1 << flags::IS_EMPTY);</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classdatasketches_1_1update__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">is_ordered</a> = flags_byte & (1 << flags::IS_ORDERED);</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<Array, Allocator></a>(<a class="code hl_function" href="classdatasketches_1_1update__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">is_empty</a>, <a class="code hl_function" href="classdatasketches_1_1update__tuple__sketch.html#a5f5b39331 [...]
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span>}</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span>} <span class="comment">/* namespace datasketches */</span></div>
+</div>
+</div>
+</div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html">datasketches::compact_array_tuple_sketch</a></div><div class="ttdoc">Compact array tuple sketch.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:194</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a005404841e22f08ab76ce513d9b39bd1"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">datasketches::compact_array_tuple_sketch::get_num_values</a></div><div class="ttdeci">uint8_t get_num_values() const</div><div class="ttdef"><b>Definition</b> array_tuple_sketch_impl.hpp:65</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a1bcdd98ee6e6eb9b501b8dc5de5e8924"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a1bcdd98ee6e6eb9b501b8dc5de5e8924">datasketches::compact_array_tuple_sketch::serialize</a></div><div class="ttdeci">void serialize(std::ostream &os) const</div><div class="ttdoc">This method serializes the sketch into a given stream in a binary form.</div><div class="ttdef"><b>Definition</ [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a1d5f786024b3df2ab6993056a22abad0"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a1d5f786024b3df2ab6993056a22abad0">datasketches::compact_array_tuple_sketch::compact_array_tuple_sketch</a></div><div class="ttdeci">compact_array_tuple_sketch(const Sketch &other, bool ordered=true)</div><div class="ttdoc">Copy constructor.</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html_a94e90deb78db69a750d375b6fae0c585"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html#a94e90deb78db69a750d375b6fae0c585">datasketches::compact_array_tuple_sketch::deserialize</a></div><div class="ttdeci">static compact_array_tuple_sketch deserialize(std::istream &is, uint64_t seed=DEFAULT_SEED, const Allocator &allocator=Allocator())</div><div class="ttdoc">This method [...]
+<div class="ttc" id="aclassdatasketches_1_1compact__tuple__sketch_html_a31fa76458d81a17dbebfcb828e531f14"><div class="ttname"><a href="classdatasketches_1_1compact__tuple__sketch.html#a31fa76458d81a17dbebfcb828e531f14">datasketches::compact_tuple_sketch< Array, typename Array::allocator_type >::get_num_retained</a></div><div class="ttdeci">virtual uint32_t get_num_retained() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:344</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__tuple__sketch_html_a5a2b7a58dc85678d08752945ff655362"><div class="ttname"><a href="classdatasketches_1_1compact__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">datasketches::compact_tuple_sketch< Array, typename Array::allocator_type >::is_empty</a></div><div class="ttdeci">virtual bool is_empty() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:329</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__tuple__sketch_html_a5f5b393314c0c1819f79b73232a506e8"><div class="ttname"><a href="classdatasketches_1_1compact__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">datasketches::compact_tuple_sketch< Array, typename Array::allocator_type >::is_ordered</a></div><div class="ttdeci">virtual bool is_ordered() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:334</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__tuple__sketch_html_a6f69b50bc13da11d255d0e583e2376ba"><div class="ttname"><a href="classdatasketches_1_1compact__tuple__sketch.html#a6f69b50bc13da11d255d0e583e2376ba">datasketches::compact_tuple_sketch< Array, typename Array::allocator_type >::get_seed_hash</a></div><div class="ttdeci">virtual uint16_t get_seed_hash() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:349</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_1_1builder_html_a5641adbacdefd99f6833e1c8de16be43"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#a5641adbacdefd99f6833e1c8de16be43">datasketches::update_array_tuple_sketch::builder::build</a></div><div class="ttdeci">update_array_tuple_sketch build() const</div><div class="ttdef"><b>Definition</b> array_tuple_sketch_impl.hpp:44</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_1_1builder_html_aa5a67185e858074f733c7ef6019219d4"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch_1_1builder.html#aa5a67185e858074f733c7ef6019219d4">datasketches::update_array_tuple_sketch::builder::builder</a></div><div class="ttdeci">builder(const Policy &policy=Policy(), const Allocator &allocator=Allocator())</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>D [...]
+<div class="ttc" id="aclassdatasketches_1_1update__array__tuple__sketch_html_a005404841e22f08ab76ce513d9b39bd1"><div class="ttname"><a href="classdatasketches_1_1update__array__tuple__sketch.html#a005404841e22f08ab76ce513d9b39bd1">datasketches::update_array_tuple_sketch::get_num_values</a></div><div class="ttdeci">uint8_t get_num_values() const</div><div class="ttdef"><b>Definition</b> array_tuple_sketch_impl.hpp:28</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__tuple__sketch_html_a5a2b7a58dc85678d08752945ff655362"><div class="ttname"><a href="classdatasketches_1_1update__tuple__sketch.html#a5a2b7a58dc85678d08752945ff655362">datasketches::update_tuple_sketch::is_empty</a></div><div class="ttdeci">virtual bool is_empty() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:110</div></div>
+<div class="ttc" id="aclassdatasketches_1_1update__tuple__sketch_html_a5f5b393314c0c1819f79b73232a506e8"><div class="ttname"><a href="classdatasketches_1_1update__tuple__sketch.html#a5f5b393314c0c1819f79b73232a506e8">datasketches::update_tuple_sketch::is_ordered</a></div><div class="ttdeci">virtual bool is_ordered() const</div><div class="ttdef"><b>Definition</b> tuple_sketch_impl.hpp:115</div></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__union_8hpp_source.html b/docs/5.3.0/array__tuple__union_8hpp_source.html
new file mode 100644
index 00000000..3b3d22a9
--- /dev/null
+++ b/docs/5.3.0/array__tuple__union_8hpp_source.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_union.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_union.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef ARRAY_TUPLE_UNION_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define ARRAY_TUPLE_UNION_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <vector></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include "array_tuple_sketch.hpp"</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include "tuple_union.hpp"</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">template</span><<span class="keyword">typename</span> Array></div>
+<div class="foldopen" id="foldopen00033" data-start="{" data-end="};">
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="structdatasketches_1_1default__array__tuple__union__policy.html"> 33</a></span><span class="keyword">struct </span>default_array_tuple_union_policy {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> default_array_tuple_union_policy(uint8_t num_values = 1): num_values_(num_values) {}</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordtype">void</span> operator()(Array& array, <span class="keyword">const</span> Array& other)<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">for</span> (uint8_t i = 0; i < num_values_; ++i) {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> array[i] += other[i];</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> }</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> }</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> uint8_t get_num_values()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> num_values_;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> }</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> uint8_t num_values_;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>};</div>
+</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keyword">template</span><</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">typename</span> Array,</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">typename</span> Policy = <a class="code hl_struct" href="structdatasketches_1_1default__array__tuple__union__policy.html">default_array_tuple_union_policy<Array></a>,</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">typename</span> Allocator = <span class="keyword">typename</span> Array::allocator_type</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>></div>
+<div class="foldopen" id="foldopen00054" data-start="{" data-end="};">
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="classdatasketches_1_1array__tuple__union.html"> 54</a></span><span class="keyword">class </span>array_tuple_union: <span class="keyword">public</span> tuple_union<Array, Policy, Allocator> {</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">using </span>value_type = <span class="keyword">typename</span> Array::value_type;</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">using </span>Base = tuple_union<Array, Policy, Allocator>;</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">using </span>CompactSketch = <a class="code hl_class" href="classdatasketches_1_1compact__array__tuple__sketch.html">compact_array_tuple_sketch<Array, Allocator></a>;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">using </span>resize_factor = <a class="code hl_typedef" href="namespacedatasketches_1_1theta__constants.html#a329224ced789e065aed0698566b954a4">theta_constants::resize_factor</a>;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">class </span>builder;</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> CompactSketch get_result(<span class="keywordtype">bool</span> ordered = <span class="keyword">true</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// for builder</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> array_tuple_union(uint8_t lg_cur_size, uint8_t lg_nom_size, resize_factor rf, <span class="keywordtype">float</span> p, uint64_t theta, uint64_t seed, <span class="keyword">const</span> Policy& policy, <span class="keyword">const</span> Allocator& allocator);</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>};</div>
+</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="keyword">class </span><a class="code hl_class" href="classdatasketches_1_1array__tuple__union.html">array_tuple_union</a><Array, Policy, Allocator>::builder: <span class="keyword">public</span> <a class="code hl_class" href="classdatasketches_1_1tuple__base__builder.html">tuple_base_builder</a><builder, Policy, Allocator> {</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> builder(<span class="keyword">const</span> Policy& policy = Policy(), <span class="keyword">const</span> Allocator& allocator = Allocator());</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <a class="code hl_class" href="classdatasketches_1_1array__tuple__union.html">array_tuple_union</a> build() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>};</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor">#include "array_tuple_union_impl.hpp"</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclassdatasketches_1_1array__tuple__union_html"><div class="ttname"><a href="classdatasketches_1_1array__tuple__union.html">datasketches::array_tuple_union</a></div><div class="ttdoc">array tuple union</div><div class="ttdef"><b>Definition</b> array_tuple_union.hpp:54</div></div>
+<div class="ttc" id="aclassdatasketches_1_1compact__array__tuple__sketch_html"><div class="ttname"><a href="classdatasketches_1_1compact__array__tuple__sketch.html">datasketches::compact_array_tuple_sketch</a></div><div class="ttdoc">Compact array tuple sketch.</div><div class="ttdef"><b>Definition</b> array_tuple_sketch.hpp:194</div></div>
+<div class="ttc" id="aclassdatasketches_1_1tuple__base__builder_html"><div class="ttname"><a href="classdatasketches_1_1tuple__base__builder.html">datasketches::tuple_base_builder</a></div><div class="ttdoc">Tuple base builder.</div><div class="ttdef"><b>Definition</b> tuple_sketch.hpp:655</div></div>
+<div class="ttc" id="anamespacedatasketches_1_1theta__constants_html_a329224ced789e065aed0698566b954a4"><div class="ttname"><a href="namespacedatasketches_1_1theta__constants.html#a329224ced789e065aed0698566b954a4">datasketches::theta_constants::resize_factor</a></div><div class="ttdeci">datasketches::resize_factor resize_factor</div><div class="ttdoc">hash table resize factor</div><div class="ttdef"><b>Definition</b> theta_constants.hpp:31</div></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+<div class="ttc" id="astructdatasketches_1_1default__array__tuple__union__policy_html"><div class="ttname"><a href="structdatasketches_1_1default__array__tuple__union__policy.html">datasketches::default_array_tuple_union_policy</a></div><div class="ttdoc">default array tuple union policy</div><div class="ttdef"><b>Definition</b> array_tuple_union.hpp:33</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/array__tuple__union__impl_8hpp_source.html b/docs/5.3.0/array__tuple__union__impl_8hpp_source.html
new file mode 100644
index 00000000..f3773b66
--- /dev/null
+++ b/docs/5.3.0/array__tuple__union__impl_8hpp_source.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: tuple/include/array_tuple_union_impl.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>tuple</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">array_tuple_union_impl.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>array_tuple_union<Array, Policy, Allocator>::array_tuple_union(uint8_t lg_cur_size, uint8_t lg_nom_size, resize_factor rf, <span class="keywordtype">float</span> p, uint64_t theta, uint64_t seed, <span class="keyword">const</span> Policy& policy, <span class="keyword">const</span> Allocator& allocator):</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>Base(lg_cur_size, lg_nom_size, rf, p, theta, seed, policy, allocator)</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span>{}</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keyword">auto</span> array_tuple_union<Array, Policy, Allocator>::get_result(<span class="keywordtype">bool</span> ordered) <span class="keyword">const</span> -> CompactSketch {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">return</span> CompactSketch(this->state_.get_policy().get_external_policy().get_num_values(), Base::get_result(ordered));</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>}</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">// builder</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span>array_tuple_union<Array, Policy, Allocator>::builder::builder(<span class="keyword">const</span> Policy& policy, <span class="keyword">const</span> Allocator& allocator):</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>tuple_base_builder<builder, Policy, typename Array::allocator_type>(policy, allocator) {}</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keyword">template</span><<span class="keyword">typename</span> Array, <span class="keyword">typename</span> Policy, <span class="keyword">typename</span> Allocator></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="keyword">auto</span> array_tuple_union<Array, Policy, Allocator>::builder::build() const -> array_tuple_union {</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> array_tuple_union(this->starting_lg_size(), this->lg_k_, this->rf_, this->p_, this->starting_theta(), this->seed_, this->policy_, this->allocator_);</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>}</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/binomial__bounds_8hpp_source.html b/docs/5.3.0/binomial__bounds_8hpp_source.html
new file mode 100644
index 00000000..3eb64425
--- /dev/null
+++ b/docs/5.3.0/binomial__bounds_8hpp_source.html
@@ -0,0 +1,571 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: common/include/binomial_bounds.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>common</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">binomial_bounds.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef BINOMIAL_BOUNDS_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define BINOMIAL_BOUNDS_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <algorithm></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <cmath></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <stdexcept></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> * This class enables the estimation of error bounds given a sample set size, the sampling</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> * probability theta, the number of standard deviations and a simple noDataSeen flag. This can</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> * be used to estimate error bounds for fixed threshold sampling as well as the error bounds</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> * calculations for sketches.</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> * </span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> * author Alexander Saydakov</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> * author Lee Rhodes</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"> * author Kevin Lang</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
+<div class="foldopen" id="foldopen00038" data-start="{" data-end="}">
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="namespacedatasketches.html"> 38</a></span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">double</span> delta_of_num_std_devs[] = {</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> 0.5000000000000000000, <span class="comment">// not actually using this value</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> 0.1586553191586026479,</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> 0.0227502618904135701,</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> 0.0013498126861731796</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>};</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">double</span> lb_equiv_table[] = {</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> 1.0, 2.0, 3.0, <span class="comment">// fake values for k = 0</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> 0.78733703534118149, 3.14426768537558132, 13.56789685109913535, <span class="comment">// k = 1</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> 0.94091379266077979, 2.64699271711145911, 6.29302733018320737, <span class="comment">// k = 2</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> 0.96869128474958188, 2.46531676590527127, 4.97375283467403051, <span class="comment">// k = 3</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> 0.97933572521046131, 2.37418810664669877, 4.44899975481712318, <span class="comment">// k = 4</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> 0.98479165917274258, 2.31863116255024693, 4.16712379778553554, <span class="comment">// k = 5</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> 0.98806033915698777, 2.28075536565225434, 3.99010556144099837, <span class="comment">// k = 6</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> 0.99021896790580399, 2.25302005857281529, 3.86784477136922078, <span class="comment">// k = 7</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> 0.99174267079089873, 2.23168103978522936, 3.77784896945266269, <span class="comment">// k = 8</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> 0.99287147837287648, 2.21465899260871879, 3.70851932988722410, <span class="comment">// k = 9</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> 0.99373900046805375, 2.20070155496262032, 3.65326029076638292, <span class="comment">// k = 10</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> 0.99442519013851438, 2.18900651202670815, 3.60803817612955413, <span class="comment">// k = 11</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> 0.99498066823221620, 2.17903457780744247, 3.57024330407946877, <span class="comment">// k = 12</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> 0.99543899410224412, 2.17040883161922693, 3.53810982030634591, <span class="comment">// k = 13</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> 0.99582322541263579, 2.16285726913676513, 3.51039837124298515, <span class="comment">// k = 14</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> 0.99614973311747690, 2.15617827879603396, 3.48621230377099778, <span class="comment">// k = 15</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> 0.99643042892560629, 2.15021897666090922, 3.46488605693562590, <span class="comment">// k = 16</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> 0.99667418783778317, 2.14486114872480016, 3.44591466064832730, <span class="comment">// k = 17</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> 0.99688774875812669, 2.14001181420209718, 3.42890765690452781, <span class="comment">// k = 18</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> 0.99707632299691795, 2.13559675336844634, 3.41355809420343803, <span class="comment">// k = 19</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> 0.99724399084971083, 2.13155592217421486, 3.39962113251016262, <span class="comment">// k = 20</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> 0.99739400151915447, 2.12784018863251845, 3.38689892877548004, <span class="comment">// k = 21</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> 0.99752896842633731, 2.12440890875851096, 3.37522975271599535, <span class="comment">// k = 22</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> 0.99765101725122918, 2.12122815311133195, 3.36448003577621080, <span class="comment">// k = 23</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> 0.99776189496810730, 2.11826934724291505, 3.35453840911279144, <span class="comment">// k = 24</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> 0.99786304821586214, 2.11550823850916458, 3.34531123809287578, <span class="comment">// k = 25</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> 0.99795568665180667, 2.11292409529477254, 3.33671916527694634, <span class="comment">// k = 26</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> 0.99804083063483517, 2.11049908609763293, 3.32869446834217797, <span class="comment">// k = 27</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> 0.99811933910984862, 2.10821776918189130, 3.32117898316676019, <span class="comment">// k = 28</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> 0.99819195457286014, 2.10606671027090897, 3.31412243534683171, <span class="comment">// k = 29</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> 0.99825930555178388, 2.10403415237001923, 3.30748113008135647, <span class="comment">// k = 30</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> 0.99832193858154028, 2.10210975877822648, 3.30121691946897045, <span class="comment">// k = 31</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> 0.99838032666573895, 2.10028440670842542, 3.29529629751144171, <span class="comment">// k = 32</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> 0.99843488390555990, 2.09855000145353188, 3.28968974413223236, <span class="comment">// k = 33</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> 0.99848596721417948, 2.09689934193824001, 3.28437111460505093, <span class="comment">// k = 34</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> 0.99853390005924325, 2.09532599155502908, 3.27931717312372939, <span class="comment">// k = 35</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> 0.99857895741078551, 2.09382418262592296, 3.27450718840060517, <span class="comment">// k = 36</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> 0.99862138880970974, 2.09238872751677718, 3.26992261182860489, <span class="comment">// k = 37</span></div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> 0.99866141580770318, 2.09101494715108061, 3.26554677962434425, <span class="comment">// k = 38</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> 0.99869923565267982, 2.08969860402822860, 3.26136468165239535, <span class="comment">// k = 39</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> 0.99873502010169091, 2.08843585627218431, 3.25736275677081721, <span class="comment">// k = 40</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> 0.99876893292508839, 2.08722321436752623, 3.25352872241415980, <span class="comment">// k = 41</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> 0.99880111078502409, 2.08605749165553789, 3.24985141664350863, <span class="comment">// k = 42</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> 0.99883168573342118, 2.08493577529222307, 3.24632068399498053, <span class="comment">// k = 43</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> 0.99886077231613513, 2.08385540129560809, 3.24292724848112357, <span class="comment">// k = 44</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> 0.99888847451828155, 2.08281392374021834, 3.23966263299664092, <span class="comment">// k = 45</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> 0.99891488795844907, 2.08180908991394631, 3.23651906111521726, <span class="comment">// k = 46</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> 0.99894010085196783, 2.08083882998420222, 3.23348939240611344, <span class="comment">// k = 47</span></div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> 0.99896419358239541, 2.07990122528650545, 3.23056705515594444, <span class="comment">// k = 48</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> 0.99898723510594323, 2.07899450946285924, 3.22774598963252402, <span class="comment">// k = 49</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> 0.99900929266780736, 2.07811704477046533, 3.22502059972006805, <span class="comment">// k = 50</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> 0.99903043086155208, 2.07726730587160091, 3.22238570890294795, <span class="comment">// k = 51</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> 0.99905070073845081, 2.07644388314946582, 3.21983651940365689, <span class="comment">// k = 52</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> 0.99907015770423868, 2.07564546080757850, 3.21736857351049821, <span class="comment">// k = 53</span></div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> 0.99908884779227947, 2.07487081196367740, 3.21497773796417619, <span class="comment">// k = 54</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> 0.99910681586905525, 2.07411879634256024, 3.21266015316183484, <span class="comment">// k = 55</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> 0.99912410177549305, 2.07338834403498140, 3.21041222805715165, <span class="comment">// k = 56</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> 0.99914074347179849, 2.07267845454973099, 3.20823061166797174, <span class="comment">// k = 57</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> 0.99915677607464204, 2.07198819052374006, 3.20611216970604573, <span class="comment">// k = 58</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> 0.99917223149395795, 2.07131667846186929, 3.20405396962596001, <span class="comment">// k = 59</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> 0.99918714153457699, 2.07066309019154460, 3.20205326110445299, <span class="comment">// k = 60</span></div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> 0.99920153247185794, 2.07002665203046377, 3.20010746990493544, <span class="comment">// k = 61</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> 0.99921543193525508, 2.06940663431663552, 3.19821417453343315, <span class="comment">// k = 62</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> 0.99922886570365677, 2.06880235245998279, 3.19637109973109546, <span class="comment">// k = 63</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> 0.99924185357357942, 2.06821315729285971, 3.19457610621114441, <span class="comment">// k = 64</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> 0.99925441845175555, 2.06763843812092318, 3.19282717869864996, <span class="comment">// k = 65</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> 0.99926658263325407, 2.06707761824370095, 3.19112241228646099, <span class="comment">// k = 66</span></div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> 0.99927836173816331, 2.06653015295219689, 3.18946001739936946, <span class="comment">// k = 67</span></div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> 0.99928977431994781, 2.06599552505539918, 3.18783829446098821, <span class="comment">// k = 68</span></div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> 0.99930083753795884, 2.06547324585920933, 3.18625564538041317, <span class="comment">// k = 69</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> 0.99931156864562354, 2.06496285191821016, 3.18471055124089730, <span class="comment">// k = 70</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> 0.99932197985521043, 2.06446390392778767, 3.18320157510865442, <span class="comment">// k = 71</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> 0.99933208559809827, 2.06397598606787369, 3.18172735837393361, <span class="comment">// k = 72</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> 0.99934190032416836, 2.06349869971447220, 3.18028661102792398, <span class="comment">// k = 73</span></div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> 0.99935143390791836, 2.06303166975550312, 3.17887810481605015, <span class="comment">// k = 74</span></div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> 0.99936070171270330, 2.06257453607466346, 3.17750067581857820, <span class="comment">// k = 75</span></div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> 0.99936971103502970, 2.06212696042919674, 3.17615321728274580, <span class="comment">// k = 76</span></div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> 0.99937847392385493, 2.06168861430600714, 3.17483467831510779, <span class="comment">// k = 77</span></div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> 0.99938700168914352, 2.06125918927764928, 3.17354405480557489, <span class="comment">// k = 78</span></div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> 0.99939530099953799, 2.06083838987589729, 3.17228039269048168, <span class="comment">// k = 79</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> 0.99940338278830154, 2.06042593411496000, 3.17104278166036124, <span class="comment">// k = 80</span></div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> 0.99941125463777780, 2.06002155276328835, 3.16983035274597569, <span class="comment">// k = 81</span></div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> 0.99941892470027938, 2.05962498741951094, 3.16864227952240185, <span class="comment">// k = 82</span></div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> 0.99942640059737187, 2.05923599161263837, 3.16747776846497686, <span class="comment">// k = 83</span></div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> 0.99943368842187397, 2.05885433061945378, 3.16633606416374391, <span class="comment">// k = 84</span></div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> 0.99944079790603269, 2.05847977868873500, 3.16521644518826406, <span class="comment">// k = 85</span></div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> 0.99944773295734990, 2.05811212058944193, 3.16411821883858124, <span class="comment">// k = 86</span></div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> 0.99945450059186669, 2.05775114781260982, 3.16304072400711789, <span class="comment">// k = 87</span></div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> 0.99946110646314423, 2.05739666442039493, 3.16198332650733960, <span class="comment">// k = 88</span></div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> 0.99946755770463369, 2.05704847678819647, 3.16094541781455973, <span class="comment">// k = 89</span></div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> 0.99947385746861528, 2.05670640500335367, 3.15992641851471490, <span class="comment">// k = 90</span></div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> 0.99948001256305474, 2.05637027420314666, 3.15892576988736096, <span class="comment">// k = 91</span></div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> 0.99948602689656241, 2.05603991286400856, 3.15794293484717059, <span class="comment">// k = 92</span></div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> 0.99949190674294641, 2.05571516158917689, 3.15697740043813724, <span class="comment">// k = 93</span></div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> 0.99949765436329585, 2.05539586490317561, 3.15602867309343083, <span class="comment">// k = 94</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> 0.99950327557880314, 2.05508187237845164, 3.15509627710042651, <span class="comment">// k = 95</span></div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> 0.99950877461972709, 2.05477304104951486, 3.15417975753007340, <span class="comment">// k = 96</span></div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> 0.99951415481862682, 2.05446923022574879, 3.15327867462917766, <span class="comment">// k = 97</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> 0.99951942042375208, 2.05417030908833453, 3.15239260700215596, <span class="comment">// k = 98</span></div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> 0.99952457390890004, 2.05387614661762541, 3.15152114915238712, <span class="comment">// k = 99</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> 0.99952962005008317, 2.05358662050909402, 3.15066390921020911, <span class="comment">// k = 100</span></div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> 0.99953456216121594, 2.05330161104427589, 3.14982051097524618, <span class="comment">// k = 101</span></div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> 0.99953940176368405, 2.05302100378725072, 3.14899059183684926, <span class="comment">// k = 102</span></div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> 0.99954414373920031, 2.05274468493067275, 3.14817379948561893, <span class="comment">// k = 103</span></div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> 0.99954879047621148, 2.05247255013657082, 3.14736979964868624, <span class="comment">// k = 104</span></div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> 0.99955334485656522, 2.05220449388099269, 3.14657826610371671, <span class="comment">// k = 105</span></div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> 0.99955780993869325, 2.05194041831310869, 3.14579888316276879, <span class="comment">// k = 106</span></div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> 0.99956218652590678, 2.05168022402710903, 3.14503134811607765, <span class="comment">// k = 107</span></div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> 0.99956647932785359, 2.05142381889103831, 3.14427536967733090, <span class="comment">// k = 108</span></div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> 0.99957069025060719, 2.05117111251445294, 3.14353066260227365, <span class="comment">// k = 109</span></div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> 0.99957482032178291, 2.05092201793428330, 3.14279695558593630, <span class="comment">// k = 110</span></div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> 0.99957887261450651, 2.05067645094720774, 3.14207398336887422, <span class="comment">// k = 111</span></div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> 0.99958284988383639, 2.05043432833224415, 3.14136149076028914, <span class="comment">// k = 112</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> 0.99958675435604505, 2.05019557189746138, 3.14065923143530767, <span class="comment">// k = 113</span></div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> 0.99959058650074439, 2.04996010556124020, 3.13996696426707445, <span class="comment">// k = 114</span></div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> 0.99959434898201494, 2.04972785368377686, 3.13928445867830419, <span class="comment">// k = 115</span></div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> 0.99959804437042976, 2.04949874512311681, 3.13861149103462367, <span class="comment">// k = 116</span></div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> 0.99960167394553423, 2.04927271043337100, 3.13794784369528656, <span class="comment">// k = 117</span></div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> 0.99960523957651048, 2.04904968140490951, 3.13729330661277572, <span class="comment">// k = 118</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> 0.99960874253329735, 2.04882959397491504, 3.13664767767019725, <span class="comment">// k = 119</span></div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> 0.99961218434327748, 2.04861238220240693, 3.13601075688413289 <span class="comment">// k = 120</span></div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span>};</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">double</span> ub_equiv_table[] = {</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> 1.0, 2.0, 3.0, <span class="comment">// fake values for k = 0</span></div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> 0.99067760836669549, 1.75460517119302040, 2.48055626001627161, <span class="comment">// k = 1</span></div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> 0.99270518097577565, 1.78855957509907171, 2.53863835259832626, <span class="comment">// k = 2</span></div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> 0.99402032633599902, 1.81047286499563143, 2.57811676180597260, <span class="comment">// k = 3</span></div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> 0.99492607629539975, 1.82625928017762362, 2.60759550546498531, <span class="comment">// k = 4</span></div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> 0.99558653966013821, 1.83839160339161367, 2.63086812358551470, <span class="comment">// k = 5</span></div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> 0.99608981951632813, 1.84812399034444752, 2.64993712523727254, <span class="comment">// k = 6</span></div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> 0.99648648035983456, 1.85617372053235385, 2.66598485907860550, <span class="comment">// k = 7</span></div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> 0.99680750790483330, 1.86298655802610824, 2.67976541374471822, <span class="comment">// k = 8</span></div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> 0.99707292880049181, 1.86885682585270274, 2.69178781407745760, <span class="comment">// k = 9</span></div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> 0.99729614928489241, 1.87398826101983218, 2.70241106542158604, <span class="comment">// k = 10</span></div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> 0.99748667952445658, 1.87852708449801753, 2.71189717290596377, <span class="comment">// k = 11</span></div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> 0.99765127712748836, 1.88258159501103250, 2.72044290303773550, <span class="comment">// k = 12</span></div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> 0.99779498340305395, 1.88623391878036273, 2.72819957382063194, <span class="comment">// k = 13</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> 0.99792160418357412, 1.88954778748873764, 2.73528576807902368, <span class="comment">// k = 14</span></div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> 0.99803398604944960, 1.89257337682371940, 2.74179612106766513, <span class="comment">// k = 15</span></div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> 0.99813449883217231, 1.89535099316557876, 2.74780718300419835, <span class="comment">// k = 16</span></div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> 0.99822494122659577, 1.89791339232732525, 2.75338173141955167, <span class="comment">// k = 17</span></div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> 0.99830679915913834, 1.90028752122407241, 2.75857186416826039, <span class="comment">// k = 18</span></div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> 0.99838117410831728, 1.90249575897183831, 2.76342117562634826, <span class="comment">// k = 19</span></div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> 0.99844913407071090, 1.90455689090418900, 2.76796659454200267, <span class="comment">// k = 20</span></div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> 0.99851147736424650, 1.90648682834171268, 2.77223944710058845, <span class="comment">// k = 21</span></div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> 0.99856879856019987, 1.90829917277082473, 2.77626682032629901, <span class="comment">// k = 22</span></div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> 0.99862183849734265, 1.91000561415842185, 2.78007199816156003, <span class="comment">// k = 23</span></div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> 0.99867096266018507, 1.91161621560812023, 2.78367524259661536, <span class="comment">// k = 24</span></div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> 0.99871656986212543, 1.91313978579765376, 2.78709435016625662, <span class="comment">// k = 25</span></div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> 0.99875907577771272, 1.91458400425526065, 2.79034488416175463, <span class="comment">// k = 26</span></div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> 0.99879885565047744, 1.91595563175945927, 2.79344064132371273, <span class="comment">// k = 27</span></div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> 0.99883610756373287, 1.91726064301425936, 2.79639384757751941, <span class="comment">// k = 28</span></div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> 0.99887095169674467, 1.91850441099725799, 2.79921543574803877, <span class="comment">// k = 29</span></div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> 0.99890379414739527, 1.91969155477030995, 2.80191513182441554, <span class="comment">// k = 30</span></div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> 0.99893466279047516, 1.92082633358913313, 2.80450167352080371, <span class="comment">// k = 31</span></div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> 0.99896392088177777, 1.92191254955568525, 2.80698295731653502, <span class="comment">// k = 32</span></div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> 0.99899147889385631, 1.92295362479495680, 2.80936614404217266, <span class="comment">// k = 33</span></div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> 0.99901764688726757, 1.92395267400968351, 2.81165765979318394, <span class="comment">// k = 34</span></div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> 0.99904238606342233, 1.92491244978191389, 2.81386337393604435, <span class="comment">// k = 35</span></div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> 0.99906590152386343, 1.92583552644848055, 2.81598868034527072, <span class="comment">// k = 36</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> 0.99908829040739988, 1.92672418013918900, 2.81803841726804194, <span class="comment">// k = 37</span></div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> 0.99910959420023460, 1.92758051694144683, 2.82001709302821268, <span class="comment">// k = 38</span></div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> 0.99912996403594434, 1.92840654943159961, 2.82192875763732332, <span class="comment">// k = 39</span></div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> 0.99914930224576892, 1.92920397044028391, 2.82377730628954282, <span class="comment">// k = 40</span></div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> 0.99916781270195543, 1.92997447498220254, 2.82556612075063640, <span class="comment">// k = 41</span></div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> 0.99918553179077207, 1.93071949211818605, 2.82729843191989971, <span class="comment">// k = 42</span></div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> 0.99920250730914972, 1.93144048613876862, 2.82897728689417249, <span class="comment">// k = 43</span></div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> 0.99921873345181211, 1.93213870990595638, 2.83060537017752267, <span class="comment">// k = 44</span></div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> 0.99923435180002684, 1.93281536508689555, 2.83218527795750674, <span class="comment">// k = 45</span></div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> 0.99924930425362390, 1.93347145882316340, 2.83371938965598247, <span class="comment">// k = 46</span></div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> 0.99926370394567243, 1.93410820221384938, 2.83520990872793277, <span class="comment">// k = 47</span></div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> 0.99927750755296074, 1.93472643138986200, 2.83665891945119597, <span class="comment">// k = 48</span></div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> 0.99929082941537217, 1.93532697329771963, 2.83806833931606661, <span class="comment">// k = 49</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> 0.99930366295501472, 1.93591074716263734, 2.83943997143404658, <span class="comment">// k = 50</span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> 0.99931598804721489, 1.93647857274021362, 2.84077557836653227, <span class="comment">// k = 51</span></div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> 0.99932789059798210, 1.93703110239354714, 2.84207662106302905, <span class="comment">// k = 52</span></div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> 0.99933946180485123, 1.93756904936378760, 2.84334468086129277, <span class="comment">// k = 53</span></div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> 0.99935053819703512, 1.93809302131219852, 2.84458116874117195, <span class="comment">// k = 54</span></div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> 0.99936126637970801, 1.93860365411038060, 2.84578731838604426, <span class="comment">// k = 55</span></div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> 0.99937166229284458, 1.93910149816429112, 2.84696443486512862, <span class="comment">// k = 56</span></div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> 0.99938169190727422, 1.93958709548454067, 2.84811369085281285, <span class="comment">// k = 57</span></div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> 0.99939136927613959, 1.94006085573701625, 2.84923617230361970, <span class="comment">// k = 58</span></div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> 0.99940074328745254, 1.94052339623206649, 2.85033291216254270, <span class="comment">// k = 59</span></div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> 0.99940993070470086, 1.94097508636855309, 2.85140492437699322, <span class="comment">// k = 60</span></div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> 0.99941868577388959, 1.94141633372043998, 2.85245314430358121, <span class="comment">// k = 61</span></div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> 0.99942734443487780, 1.94184757038001976, 2.85347839582286156, <span class="comment">// k = 62</span></div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> 0.99943556385736088, 1.94226915100517772, 2.85448160365493209, <span class="comment">// k = 63</span></div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> 0.99944374522542034, 1.94268143723749631, 2.85546346373061510, <span class="comment">// k = 64</span></div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> 0.99945159955424856, 1.94308482059116727, 2.85642486111805738, <span class="comment">// k = 65</span></div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> 0.99945915301904620, 1.94347956957849988, 2.85736639994965458, <span class="comment">// k = 66</span></div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> 0.99946660663832176, 1.94386600964031686, 2.85828887832701639, <span class="comment">// k = 67</span></div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> 0.99947383703224091, 1.94424436597356021, 2.85919278275500233, <span class="comment">// k = 68</span></div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> 0.99948075442870277, 1.94461502153473020, 2.86007887186090670, <span class="comment">// k = 69</span></div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> 0.99948766082269458, 1.94497821937304138, 2.86094774077355396, <span class="comment">// k = 70</span></div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> 0.99949422748713346, 1.94533411296001191, 2.86179981848076181, <span class="comment">// k = 71</span></div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> 0.99950070756119658, 1.94568300035135167, 2.86263579405672886, <span class="comment">// k = 72</span></div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> 0.99950704321753392, 1.94602523449961495, 2.86345610449197352, <span class="comment">// k = 73</span></div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> 0.99951320334216121, 1.94636083782822311, 2.86426125541271404, <span class="comment">// k = 74</span></div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> 0.99951920293474927, 1.94669011080745236, 2.86505169255406145, <span class="comment">// k = 75</span></div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> 0.99952501670378524, 1.94701327348536779, 2.86582788270862920, <span class="comment">// k = 76</span></div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> 0.99953071209267819, 1.94733044372333097, 2.86659027602854621, <span class="comment">// k = 77</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> 0.99953632734991515, 1.94764180764266825, 2.86733927778843167, <span class="comment">// k = 78</span></div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> 0.99954171164873173, 1.94794766430732125, 2.86807526143834934, <span class="comment">// k = 79</span></div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> 0.99954699274462655, 1.94824807472994621, 2.86879864789403882, <span class="comment">// k = 80</span></div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> 0.99955216611081710, 1.94854317889829076, 2.86950970901679625, <span class="comment">// k = 81</span></div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> 0.99955730019613043, 1.94883320227168610, 2.87020887436986527, <span class="comment">// k = 82</span></div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> 0.99956213770650493, 1.94911826561721568, 2.87089648477021342, <span class="comment">// k = 83</span></div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> 0.99956704264963037, 1.94939848545763539, 2.87157281693902178, <span class="comment">// k = 84</span></div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> 0.99957166306481327, 1.94967401618316671, 2.87223821840905202, <span class="comment">// k = 85</span></div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> 0.99957632713136491, 1.94994497791333288, 2.87289293193450135, <span class="comment">// k = 86</span></div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> 0.99958087233392234, 1.95021155752212394, 2.87353731228213860, <span class="comment">// k = 87</span></div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> 0.99958532555996271, 1.95047376805584349, 2.87417154907075201, <span class="comment">// k = 88</span></div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> 0.99958956246481989, 1.95073180380688882, 2.87479599765507032, <span class="comment">// k = 89</span></div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> 0.99959389351869277, 1.95098572880579013, 2.87541081987382086, <span class="comment">// k = 90</span></div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> 0.99959807862052230, 1.95123574036898617, 2.87601637401948551, <span class="comment">// k = 91</span></div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> 0.99960214057801977, 1.95148186921983324, 2.87661283691068093, <span class="comment">// k = 92</span></div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> 0.99960607527256684, 1.95172415829728152, 2.87720042968334155, <span class="comment">// k = 93</span></div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> 0.99960996433179616, 1.95196280898670693, 2.87777936649376898, <span class="comment">// k = 94</span></div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> 0.99961379137860717, 1.95219787713926962, 2.87834989933620022, <span class="comment">// k = 95</span></div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> 0.99961756088146103, 1.95242944583677058, 2.87891216133900230, <span class="comment">// k = 96</span></div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> 0.99962125605327401, 1.95265762420910960, 2.87946647367488140, <span class="comment">// k = 97</span></div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> 0.99962486179100551, 1.95288245314810638, 2.88001290210658567, <span class="comment">// k = 98</span></div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> 0.99962843240297161, 1.95310404286672679, 2.88055166523392359, <span class="comment">// k = 99</span></div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> 0.99963187276145504, 1.95332251980147475, 2.88108300006589957, <span class="comment">// k = 100</span></div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> 0.99963525453173929, 1.95353785898848287, 2.88160703591438505, <span class="comment">// k = 101</span></div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> 0.99963855412988778, 1.95375019354571577, 2.88212393551896184, <span class="comment">// k = 102</span></div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> 0.99964190254169694, 1.95395953472205974, 2.88263389761985422, <span class="comment">// k = 103</span></div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> 0.99964506565942202, 1.95416607430155409, 2.88313700661564098, <span class="comment">// k = 104</span></div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> 0.99964834424233118, 1.95436972855640079, 2.88363350163803034, <span class="comment">// k = 105</span></div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> 0.99965136548857458, 1.95457068540693513, 2.88412349413960101, <span class="comment">// k = 106</span></div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> 0.99965436594726498, 1.95476896383092935, 2.88460710620208260, <span class="comment">// k = 107</span></div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> 0.99965736463468602, 1.95496457504532373, 2.88508450078833789, <span class="comment">// k = 108</span></div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> 0.99966034130443404, 1.95515761150707590, 2.88555580586194083, <span class="comment">// k = 109</span></div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> 0.99966326130828520, 1.95534810382198998, 2.88602118761679094, <span class="comment">// k = 110</span></div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> 0.99966601446035952, 1.95553622237747504, 2.88648066384146773, <span class="comment">// k = 111</span></div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> 0.99966887679593697, 1.95572186728168163, 2.88693444915907094, <span class="comment">// k = 112</span></div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> 0.99967161286551232, 1.95590523410490391, 2.88738271495714116, <span class="comment">// k = 113</span></div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> 0.99967435412270333, 1.95608626483223702, 2.88782540459769166, <span class="comment">// k = 114</span></div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> 0.99967701261934394, 1.95626497627117146, 2.88826277189363623, <span class="comment">// k = 115</span></div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> 0.99967963265157778, 1.95644153684824573, 2.88869486674335008, <span class="comment">// k = 116</span></div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> 0.99968216317182623, 1.95661589936000269, 2.88912184353694101, <span class="comment">// k = 117</span></div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> 0.99968479674396349, 1.95678821614791332, 2.88954376359643561, <span class="comment">// k = 118</span></div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> 0.99968729031337489, 1.95695842061650183, 2.88996069422501023, <span class="comment">// k = 119</span></div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> 0.99968963358631413, 1.95712651709766305, 2.89037285320668502 <span class="comment">// k = 120</span></div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span>};</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> </div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="keyword">class </span>binomial_bounds {</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> </div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> <span class="keyword">static</span> <span class="keywordtype">double</span> get_lower_bound(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> theta, <span class="keywordtype">unsigned</span> num_std_devs) {</div>
+<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> check_theta(theta);</div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> check_num_std_devs(num_std_devs);</div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">const</span> <span class="keywordtype">double</span> estimate = num_samples / theta;</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keyword">const</span> <span class="keywordtype">double</span> lb = compute_approx_binomial_lower_bound(num_samples, theta, num_std_devs);</div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="keywordflow">return</span> std::min(estimate, std::max(<span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(num_samples), lb));</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> }</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">static</span> <span class="keywordtype">double</span> get_upper_bound(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> theta, <span class="keywordtype">unsigned</span> num_std_devs) {</div>
+<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> check_theta(theta);</div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> check_num_std_devs(num_std_devs);</div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">const</span> <span class="keywordtype">double</span> estimate = num_samples / theta;</div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="keyword">const</span> <span class="keywordtype">double</span> ub = compute_approx_binomial_upper_bound(num_samples, theta, num_std_devs);</div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">return</span> std::max(estimate, ub);</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> }</div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> </div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="comment">// our "classic" bounds, but now with continuity correction</span></div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">static</span> <span class="keywordtype">double</span> cont_classic_lb(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> theta, <span class="keywordtype">double</span> num_std_devs) {</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n_hat = (num_samples - 0.5) / theta;</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keyword">const</span> <span class="keywordtype">double</span> b = num_std_devs * std::sqrt((1.0 - theta) / theta);</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keyword">const</span> <span class="keywordtype">double</span> d = 0.5 * b * std::sqrt((b * b) + (4.0 * n_hat));</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="keyword">const</span> <span class="keywordtype">double</span> center = n_hat + (0.5 * (b * b));</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">return</span> (center - d);</div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> }</div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="comment">// our "classic" bounds, but now with continuity correction</span></div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="keyword">static</span> <span class="keywordtype">double</span> cont_classic_ub(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> theta, <span class="keywordtype">double</span> num_std_devs) {</div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keyword">const</span> <span class="keywordtype">double</span> n_hat = (num_samples + 0.5) / theta;</div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <span class="keyword">const</span> <span class="keywordtype">double</span> b = num_std_devs * std::sqrt((1.0 - theta) / theta);</div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">const</span> <span class="keywordtype">double</span> d = 0.5 * b * std::sqrt((b * b) + (4.0 * n_hat));</div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keyword">const</span> <span class="keywordtype">double</span> center = n_hat + (0.5 * (b * b));</div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keywordflow">return</span> (center + d);</div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> }</div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> </div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="comment">// This is a special purpose calculator for NStar, using a computational</span></div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="comment">// strategy inspired by its Bayesian definition. It is only appropriate</span></div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="comment">// for a very limited set of inputs. However, the procedure compute_approx_binomial_lower_bound()</span></div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="comment">// below does in fact only call it for suitably limited inputs.</span></div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="comment">// Outside of this limited range, two different bad things will happen.</span></div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="comment">// First, because we are not using logarithms, the values of intermediate</span></div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="comment">// quantities will exceed the dynamic range of doubles. Second, even if that</span></div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="comment">// problem were fixed, the running time of this procedure is essentially linear</span></div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="comment">// in est = (numSamples / p), and that can be Very, Very Big.</span></div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> special_n_star(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> p, <span class="keywordtype">double</span> delta) {</div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keyword">const</span> <span class="keywordtype">double</span> q = 1.0 - p;</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="comment">// Use a different algorithm if the following is true; this one will be too slow, or worse.</span></div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> ((num_samples / p) >= 500.0) <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"out of range"</span>);</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordtype">double</span> cur_term = std::pow(p, num_samples); <span class="comment">// curTerm = posteriorProbability (k, k, p)</span></div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> <span class="keywordflow">if</span> (cur_term <= 1e-100) <span class="keywordflow">throw</span> std::logic_error(<span class="stringliteral">"out of range"</span>); <span class="comment">// sanity check for non-use of logarithms</span></div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordtype">double</span> tot = cur_term;</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> m = num_samples;</div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">while</span> (tot <= delta) { <span class="comment">// this test can fail even the first time</span></div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> cur_term = (cur_term * q * (m)) / ((m + 1) - num_samples);</div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> tot += cur_term;</div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> m += 1;</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> }</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="comment">// we have reached a state where tot > delta, so back up one</span></div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <span class="keywordflow">return</span> (m - 1);</div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> }</div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> </div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="comment">// The following procedure has very limited applicability.</span></div>
+<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="comment">// The above remarks about special_n_star() also apply here.</span></div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> special_n_prime_b(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> p, <span class="keywordtype">double</span> delta) {</div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> <span class="keyword">const</span> <span class="keywordtype">double</span> q = 1.0 - p;</div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keyword">const</span> <span class="keywordtype">double</span> one_minus_delta = 1.0 - delta;</div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordtype">double</span> cur_term = std::pow(p, num_samples); <span class="comment">// curTerm = posteriorProbability (k, k, p)</span></div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="keywordflow">if</span> (cur_term <= 1e-100) <span class="keywordflow">throw</span> std::logic_error(<span class="stringliteral">"out of range"</span>); <span class="comment">// sanity check for non-use of logarithms</span></div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">double</span> tot = cur_term;</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> m = num_samples;</div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">while</span> (tot < one_minus_delta) {</div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> cur_term = (cur_term * q * (m)) / ((m + 1) - num_samples);</div>
+<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> tot += cur_term;</div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> m += 1;</div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> }</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">return</span> m; <span class="comment">// no need to back up</span></div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> }</div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> special_n_prime_f(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> p, <span class="keywordtype">double</span> delta) {</div>
+<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="comment">// Use a different algorithm if the following is true; this one will be too slow, or worse.</span></div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">if</span> ((num_samples / p) >= 500.0) <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"out of range"</span>); <span class="comment">//A super-small delta could also make it slow.</span></div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <span class="keywordflow">return</span> special_n_prime_b(num_samples + 1, p, delta);</div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> }</div>
+<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> </div>
+<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <span class="comment">// The following computes an approximation to the lower bound of a Frequentist</span></div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="comment">// confidence interval based on the tails of the Binomial distribution.</span></div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <span class="keyword">static</span> <span class="keywordtype">double</span> compute_approx_binomial_lower_bound(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> theta, <span class="keywordtype">unsigned</span> num_std_devs) {</div>
+<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">if</span> (theta == 1) <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(num_samples);</div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <span class="keywordflow">if</span> (num_samples == 0) <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <span class="keywordflow">if</span> (num_samples == 1) {</div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <span class="keyword">const</span> <span class="keywordtype">double</span> delta = delta_of_num_std_devs[num_std_devs];</div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keyword">const</span> <span class="keywordtype">double</span> raw_lb = std::log(1 - delta) / std::log(1 - theta);</div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <span class="keywordflow">return</span> std::floor(raw_lb); <span class="comment">// round down</span></div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> }</div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">if</span> (num_samples > 120) {</div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> <span class="comment">// plenty of samples, so gaussian approximation to binomial distribution isn't too bad</span></div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="keyword">const</span> <span class="keywordtype">double</span> raw_lb = cont_classic_lb(num_samples, theta, num_std_devs);</div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> <span class="keywordflow">return</span> (raw_lb - 0.5); <span class="comment">// fake round down</span></div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> }</div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <span class="comment">// at this point we know 2 <= num_samples <= 120</span></div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">if</span> (theta > (1 - 1e-5)) { <span class="comment">// empirically-determined threshold</span></div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(num_samples);</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> }</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <span class="keywordflow">if</span> (theta < (num_samples / 360.0)) { <span class="comment">// empirically-determined threshold</span></div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <span class="comment">// here we use the Gaussian approximation, but with a modified num_std_devs</span></div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> index = 3 * <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span><span class="keyword">></span>(num_samples) + (num_std_devs - 1);</div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <span class="keyword">const</span> <span class="keywordtype">double</span> raw_lb = cont_classic_lb(num_samples, theta, lb_equiv_table[index]);</div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">return</span> raw_lb - 0.5; <span class="comment">// fake round down</span></div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> }</div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <span class="comment">// This is the most difficult range to approximate; we will compute an "exact" LB.</span></div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="comment">// We know that est <= 360, so specialNStar() shouldn't be ridiculously slow.</span></div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="keyword">const</span> <span class="keywordtype">double</span> delta = delta_of_num_std_devs[num_std_devs];</div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(special_n_star(num_samples, theta, delta)); <span class="comment">// no need to round</span></div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> }</div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> </div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <span class="comment">// The following computes an approximation to the upper bound of a Frequentist</span></div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <span class="comment">// confidence interval based on the tails of the Binomial distribution.</span></div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">static</span> <span class="keywordtype">double</span> compute_approx_binomial_upper_bound(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> num_samples, <span class="keywordtype">double</span> theta, <span class="keywordtype">unsigned</span> num_std_devs) {</div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <span class="keywordflow">if</span> (theta == 1) <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(num_samples);</div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="keywordflow">if</span> (num_samples == 0) {</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">const</span> <span class="keywordtype">double</span> delta = delta_of_num_std_devs[num_std_devs];</div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">const</span> <span class="keywordtype">double</span> raw_ub = std::log(delta) / std::log(1 - theta);</div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">return</span> std::ceil(raw_ub); <span class="comment">// round up</span></div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> }</div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">if</span> (num_samples > 120) {</div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="comment">// plenty of samples, so gaussian approximation to binomial distribution isn't too bad</span></div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <span class="keyword">const</span> <span class="keywordtype">double</span> raw_ub = cont_classic_ub(num_samples, theta, num_std_devs);</div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <span class="keywordflow">return</span> (raw_ub + 0.5); <span class="comment">// fake round up</span></div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> }</div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="comment">// at this point we know 2 <= num_samples <= 120</span></div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <span class="keywordflow">if</span> (theta > (1 - 1e-5)) { <span class="comment">// empirically-determined threshold</span></div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(num_samples + 1);</div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> }</div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">if</span> (theta < (num_samples / 360.0)) { <span class="comment">// empirically-determined threshold</span></div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="comment">// here we use the Gaussian approximation, but with a modified num_std_devs</span></div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> index = 3 * <span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span><span class="keyword">></span>(num_samples) + (num_std_devs - 1);</div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> <span class="keyword">const</span> <span class="keywordtype">double</span> raw_ub = cont_classic_ub(num_samples, theta, ub_equiv_table[index]);</div>
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">return</span> raw_ub + 0.5; <span class="comment">// fake round up</span></div>
+<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> }</div>
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <span class="comment">// This is the most difficult range to approximate; we will compute an "exact" UB.</span></div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="comment">// We know that est <= 360, so specialNPrimeF() shouldn't be ridiculously slow.</span></div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keyword">const</span> <span class="keywordtype">double</span> delta = delta_of_num_std_devs[num_std_devs];</div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(special_n_prime_f(num_samples, theta, delta)); <span class="comment">// no need to round</span></div>
+<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> }</div>
+<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> </div>
+<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <span class="keyword">static</span> <span class="keywordtype">void</span> check_theta(<span class="keywordtype">double</span> theta) {</div>
+<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <span class="keywordflow">if</span> (theta <= 0 || theta > 1) {</div>
+<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"theta must be in (0, 1]"</span>);</div>
+<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> }</div>
+<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> }</div>
+<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> </div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <span class="keyword">static</span> <span class="keywordtype">void</span> check_num_std_devs(<span class="keywordtype">unsigned</span> num_std_devs) {</div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <span class="keywordflow">if</span> (num_std_devs < 1 || num_std_devs > 3) {</div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"num_std_devs must be 1, 2 or 3"</span>);</div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> }</div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> }</div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> </div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span>};</div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> </div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span>} <span class="comment">/* namespace datasketches */</span></div>
+</div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> </div>
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span><span class="preprocessor"># endif</span></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/bit__packing_8hpp_source.html b/docs/5.3.0/bit__packing_8hpp_source.html
new file mode 100644
index 00000000..a57d3bf2
--- /dev/null
+++ b/docs/5.3.0/bit__packing_8hpp_source.html
@@ -0,0 +1,6389 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: theta/include/bit_packing.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>theta</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">bit_packing.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef BIT_PACKING_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define BIT_PACKING_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">static</span> <span class="keyword">inline</span> uint8_t pack_bits(uint64_t value, uint8_t bits, uint8_t*& ptr, uint8_t offset) {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">if</span> (offset > 0) {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">const</span> uint8_t chunk_bits = 8 - offset;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">const</span> uint8_t mask = (1 << chunk_bits) - 1;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">if</span> (bits < chunk_bits) {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> *ptr |= (value << (chunk_bits - bits)) & mask;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">return</span> offset + bits;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> }</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> *ptr++ |= (value >> (bits - chunk_bits)) & mask;</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> bits -= chunk_bits;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> }</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">while</span> (bits >= 8) {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(value >> (bits - 8));</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> bits -= 8;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> }</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (bits > 0) {</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(value << (8 - bits));</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">return</span> bits;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> }</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">return</span> 0;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>}</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keyword">static</span> <span class="keyword">inline</span> uint8_t unpack_bits(uint64_t& value, uint8_t bits, <span class="keyword">const</span> uint8_t*& ptr, uint8_t offset) {</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">const</span> uint8_t avail_bits = 8 - offset;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">const</span> uint8_t chunk_bits = std::min(avail_bits, bits);</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> uint8_t mask = (1 << chunk_bits) - 1;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> value = (*ptr >> (avail_bits - chunk_bits)) & mask;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> ptr += avail_bits == chunk_bits;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> offset = (offset + chunk_bits) & 7;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> bits -= chunk_bits;</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">while</span> (bits >= 8) {</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> value <<= 8;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> value |= *ptr++;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> bits -= 8;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span> (bits > 0) {</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> value <<= bits;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> value |= *ptr >> (8 - bits);</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> bits;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> }</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> offset;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>}</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment">// pack given number of bits from a block of 8 64-bit values into bytes</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment">// we don't need 0 and 64 bits</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment">// we assume that higher bits (which we are not packing) are zeros</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment">// this assumption allows to avoid masking operations</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_1(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span>}</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_2(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span>}</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_3(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span>}</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_4(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span>}</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_5(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span>}</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_6(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span>}</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_7(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> *ptr |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span>}</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_8(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0]);</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2]);</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4]);</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6]);</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span>}</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_9(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 1);</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 3);</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> </div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> </div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 5);</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 7);</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> </div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span>}</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_10(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 2);</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> </div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 6);</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 2);</div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> </div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 6);</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span>}</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_11(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 3);</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> </div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 9);</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 7);</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 5);</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span>}</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_12(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 4);</div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> </div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> </div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 4);</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
+<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 4);</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> </div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> </div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 4);</div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> </div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> </div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span>}</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_13(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 5);</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> </div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 7);</div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> </div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> </div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 9);</div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> </div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 11);</div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> </div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> </div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span>}</div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_14(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 6);</div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> </div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> </div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 10);</div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> </div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> </div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> </div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 6);</div>
+<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> </div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> </div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> </div>
+<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 10);</div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> </div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> </div>
+<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> </div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span>}</div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> </div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_15(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 7);</div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> </div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> </div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> </div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 13);</div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> </div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> </div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> </div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 11);</div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> </div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> </div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> </div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 9);</div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> </div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> </div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span>}</div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> </div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_16(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 8);</div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0]);</div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> </div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> </div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 8);</div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2]);</div>
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> </div>
+<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> </div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 8);</div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4]);</div>
+<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> </div>
+<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> </div>
+<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 8);</div>
+<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6]);</div>
+<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> </div>
+<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span>}</div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> </div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_17(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 9);</div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> </div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 1);</div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> </div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> </div>
+<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> </div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 11);</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> </div>
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 3);</div>
+<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> </div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> </div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> </div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 13);</div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> </div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 5);</div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> </div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> </div>
+<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 15);</div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> </div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 7);</div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> </div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> </div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> </div>
+<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span>}</div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> </div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_18(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 10);</div>
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> </div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 2);</div>
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
+<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> </div>
+<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> </div>
+<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 14);</div>
+<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> </div>
+<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 6);</div>
+<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> </div>
+<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> </div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> </div>
+<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> </div>
+<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 10);</div>
+<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> </div>
+<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 2);</div>
+<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> </div>
+<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> </div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> </div>
+<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 14);</div>
+<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> </div>
+<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 6);</div>
+<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> </div>
+<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> </div>
+<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> </div>
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span>}</div>
+<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> </div>
+<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_19(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 11);</div>
+<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> </div>
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 3);</div>
+<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> </div>
+<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> </div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> </div>
+<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 17);</div>
+<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> </div>
+<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 9);</div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> </div>
+<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> </div>
+<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> </div>
+<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> </div>
+<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 15);</div>
+<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> </div>
+<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 7);</div>
+<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> </div>
+<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> </div>
+<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> </div>
+<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> </div>
+<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 13);</div>
+<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> </div>
+<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 5);</div>
+<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> </div>
+<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> </div>
+<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> </div>
+<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span>}</div>
+<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> </div>
+<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_20(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 12);</div>
+<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> </div>
+<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 4);</div>
+<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> </div>
+<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span> </div>
+<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span> </div>
+<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span> </div>
+<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 12);</div>
+<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span> </div>
+<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 4);</div>
+<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> </div>
+<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> </div>
+<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> </div>
+<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> </div>
+<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 12);</div>
+<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
+<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 4);</div>
+<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> </div>
+<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span> </div>
+<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span> </div>
+<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span> </div>
+<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 12);</div>
+<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> </div>
+<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 4);</div>
+<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> </div>
+<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> </div>
+<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> </div>
+<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span>}</div>
+<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> </div>
+<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_21(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 13);</div>
+<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> </div>
+<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 5);</div>
+<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span> </div>
+<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span> </div>
+<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> </div>
+<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> </div>
+<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 15);</div>
+<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> </div>
+<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 7);</div>
+<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> </div>
+<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> </div>
+<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> </div>
+<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> </div>
+<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 17);</div>
+<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> </div>
+<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 9);</div>
+<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span> </div>
+<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span> </div>
+<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> </div>
+<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> </div>
+<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 19);</div>
+<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> </div>
+<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 11);</div>
+<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span> </div>
+<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"> 674</span> </div>
+<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"> 676</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> </div>
+<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"> 678</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span> </div>
+<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"> 681</span>}</div>
+<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> </div>
+<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_22(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 14);</div>
+<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span> </div>
+<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 6);</div>
+<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span> </div>
+<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"> 690</span> </div>
+<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span> </div>
+<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"> 694</span> </div>
+<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"> 696</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 18);</div>
+<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span> </div>
+<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 10);</div>
+<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span> </div>
+<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"> 701</span> </div>
+<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"> 702</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"> 703</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"> 704</span> </div>
+<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"> 706</span> </div>
+<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span> </div>
+<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 14);</div>
+<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> </div>
+<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 6);</div>
+<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span> </div>
+<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span> </div>
+<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span> </div>
+<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</span> </div>
+<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 18);</div>
+<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</span> </div>
+<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 10);</div>
+<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span> </div>
+<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"> 725</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"> 726</span> </div>
+<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"> 729</span> </div>
+<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span> </div>
+<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span>}</div>
+<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span> </div>
+<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_23(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 15);</div>
+<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span> </div>
+<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 7);</div>
+<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span> </div>
+<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"> 741</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span> </div>
+<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> </div>
+<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span> </div>
+<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 21);</div>
+<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span> </div>
+<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 13);</div>
+<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"> 751</span> </div>
+<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span> </div>
+<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"> 755</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"> 756</span> </div>
+<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"> 757</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span> </div>
+<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span> </div>
+<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 19);</div>
+<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"> 763</span> </div>
+<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"> 764</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 11);</div>
+<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"> 765</span> </div>
+<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"> 766</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span> </div>
+<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> </div>
+<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"> 772</span> </div>
+<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span> </div>
+<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"> 775</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"> 776</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 17);</div>
+<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"> 777</span> </div>
+<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 9);</div>
+<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span> </div>
+<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span> </div>
+<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"> 783</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"> 784</span> </div>
+<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"> 785</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"> 786</span> </div>
+<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"> 787</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"> 788</span>}</div>
+<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> </div>
+<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_24(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 16);</div>
+<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 8);</div>
+<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0]);</div>
+<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> </div>
+<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> </div>
+<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 16);</div>
+<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 8);</div>
+<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2]);</div>
+<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> </div>
+<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> </div>
+<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 16);</div>
+<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 8);</div>
+<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4]);</div>
+<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> </div>
+<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> </div>
+<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 16);</div>
+<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 8);</div>
+<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6]);</div>
+<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> </div>
+<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span>}</div>
+<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> </div>
+<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_25(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 17);</div>
+<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> </div>
+<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 9);</div>
+<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> </div>
+<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 1);</div>
+<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> </div>
+<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> </div>
+<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> </div>
+<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> </div>
+<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 19);</div>
+<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> </div>
+<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 11);</div>
+<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> </div>
+<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 3);</div>
+<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> </div>
+<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> </div>
+<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> </div>
+<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> </div>
+<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 21);</div>
+<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> </div>
+<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 13);</div>
+<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> </div>
+<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 5);</div>
+<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> </div>
+<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> </div>
+<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> </div>
+<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> </div>
+<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 23);</div>
+<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> </div>
+<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 15);</div>
+<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> </div>
+<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 7);</div>
+<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> </div>
+<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> </div>
+<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> </div>
+<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> </div>
+<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span>}</div>
+<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> </div>
+<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_26(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 18);</div>
+<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> </div>
+<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 10);</div>
+<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> </div>
+<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 2);</div>
+<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> </div>
+<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> </div>
+<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> </div>
+<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> </div>
+<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 22);</div>
+<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> </div>
+<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 14);</div>
+<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> </div>
+<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 6);</div>
+<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> </div>
+<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> </div>
+<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> </div>
+<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> </div>
+<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> </div>
+<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 18);</div>
+<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> </div>
+<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 10);</div>
+<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> </div>
+<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 2);</div>
+<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> </div>
+<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> </div>
+<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> </div>
+<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> </div>
+<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 22);</div>
+<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> </div>
+<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 14);</div>
+<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> </div>
+<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 6);</div>
+<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> </div>
+<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> </div>
+<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> </div>
+<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> </div>
+<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span>}</div>
+<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> </div>
+<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_27(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 19);</div>
+<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> </div>
+<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 11);</div>
+<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> </div>
+<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 3);</div>
+<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> </div>
+<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span> </div>
+<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> </div>
+<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> </div>
+<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 25);</div>
+<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> </div>
+<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 17);</div>
+<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span> </div>
+<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 9);</div>
+<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span> </div>
+<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span> </div>
+<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span> </div>
+<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> </div>
+<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span> </div>
+<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 23);</div>
+<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span> </div>
+<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 15);</div>
+<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span> </div>
+<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 7);</div>
+<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span> </div>
+<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> </div>
+<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> </div>
+<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> </div>
+<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> </div>
+<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 21);</div>
+<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> </div>
+<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 13);</div>
+<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> </div>
+<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 5);</div>
+<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> </div>
+<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> </div>
+<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> </div>
+<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> </div>
+<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span>}</div>
+<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> </div>
+<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_28(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 20);</div>
+<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 12);</div>
+<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 4);</div>
+<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 20);</div>
+<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 12);</div>
+<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 4);</div>
+<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 20);</div>
+<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 12);</div>
+<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 4);</div>
+<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 20);</div>
+<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 12);</div>
+<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 4);</div>
+<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span>}</div>
+<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> </div>
+<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_29(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 21);</div>
+<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> </div>
+<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 13);</div>
+<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> </div>
+<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 5);</div>
+<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> </div>
+<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> </div>
+<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> </div>
+<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> </div>
+<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> </div>
+<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 23);</div>
+<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> </div>
+<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 15);</div>
+<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> </div>
+<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 7);</div>
+<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> </div>
+<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> </div>
+<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> </div>
+<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> </div>
+<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> </div>
+<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 25);</div>
+<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> </div>
+<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 17);</div>
+<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> </div>
+<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 9);</div>
+<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> </div>
+<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> </div>
+<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> </div>
+<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> </div>
+<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> </div>
+<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 27);</div>
+<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> </div>
+<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 19);</div>
+<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> </div>
+<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 11);</div>
+<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> </div>
+<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> </div>
+<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> </div>
+<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> </div>
+<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> </div>
+<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span>}</div>
+<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> </div>
+<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_30(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 22);</div>
+<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 14);</div>
+<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 6);</div>
+<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> </div>
+<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> </div>
+<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 26);</div>
+<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 18);</div>
+<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 10);</div>
+<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> </div>
+<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span> </div>
+<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 22);</div>
+<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 14);</div>
+<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 6);</div>
+<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span> </div>
+<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span> </div>
+<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 26);</div>
+<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 18);</div>
+<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 10);</div>
+<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> </div>
+<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span>}</div>
+<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> </div>
+<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_31(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 23);</div>
+<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 15);</div>
+<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 7);</div>
+<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> </div>
+<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span> </div>
+<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 29);</div>
+<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"> 1167</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 21);</div>
+<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 13);</div>
+<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span> </div>
+<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> </div>
+<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 27);</div>
+<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 19);</div>
+<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 11);</div>
+<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span> </div>
+<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> </div>
+<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 25);</div>
+<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 17);</div>
+<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 9);</div>
+<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span> </div>
+<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span>}</div>
+<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> </div>
+<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_32(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 24);</div>
+<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 16);</div>
+<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 8);</div>
+<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0]);</div>
+<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span> </div>
+<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> </div>
+<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 24);</div>
+<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 16);</div>
+<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 8);</div>
+<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2]);</div>
+<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span> </div>
+<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> </div>
+<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 24);</div>
+<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 16);</div>
+<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 8);</div>
+<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4]);</div>
+<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> </div>
+<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> </div>
+<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 24);</div>
+<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 16);</div>
+<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 8);</div>
+<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6]);</div>
+<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> </div>
+<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span>}</div>
+<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> </div>
+<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_33(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 25);</div>
+<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 17);</div>
+<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 9);</div>
+<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 1);</div>
+<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> </div>
+<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> </div>
+<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 27);</div>
+<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 19);</div>
+<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 11);</div>
+<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 3);</div>
+<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> </div>
+<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> </div>
+<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 29);</div>
+<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 21);</div>
+<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 13);</div>
+<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 5);</div>
+<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> </div>
+<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> </div>
+<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 31);</div>
+<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 23);</div>
+<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 15);</div>
+<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 7);</div>
+<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> </div>
+<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span>}</div>
+<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> </div>
+<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_34(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 26);</div>
+<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 18);</div>
+<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 10);</div>
+<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 2);</div>
+<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> </div>
+<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span> </div>
+<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 30);</div>
+<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 22);</div>
+<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 14);</div>
+<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 6);</div>
+<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> </div>
+<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> </div>
+<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 26);</div>
+<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 18);</div>
+<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 10);</div>
+<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 2);</div>
+<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> </div>
+<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> </div>
+<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 30);</div>
+<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 22);</div>
+<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 14);</div>
+<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 6);</div>
+<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> </div>
+<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span>}</div>
+<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> </div>
+<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_35(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 27);</div>
+<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 19);</div>
+<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 11);</div>
+<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 3);</div>
+<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> </div>
+<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> </div>
+<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 33);</div>
+<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 25);</div>
+<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 17);</div>
+<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 9);</div>
+<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> </div>
+<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> </div>
+<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 31);</div>
+<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 23);</div>
+<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 15);</div>
+<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 7);</div>
+<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span> </div>
+<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"> 1375</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"> 1376</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"> 1378</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"> 1379</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span> </div>
+<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"> 1382</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 29);</div>
+<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 21);</div>
+<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 13);</div>
+<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 5);</div>
+<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"> 1387</span> </div>
+<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"> 1390</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"> 1391</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span>}</div>
+<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span> </div>
+<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"> 1396</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_36(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 28);</div>
+<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"> 1398</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 20);</div>
+<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 12);</div>
+<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 4);</div>
+<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span> </div>
+<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l01403" name="l01403"></a><span class="lineno"> 1403</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 32);</div>
+<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"> 1404</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"> 1405</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"> 1406</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"> 1408</span> </div>
+<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"> 1409</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 28);</div>
+<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 20);</div>
+<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 12);</div>
+<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"> 1412</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 4);</div>
+<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"> 1413</span> </div>
+<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"> 1415</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"> 1417</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"> 1418</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span> </div>
+<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"> 1421</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 28);</div>
+<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 20);</div>
+<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 12);</div>
+<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 4);</div>
+<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span> </div>
+<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 32);</div>
+<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"> 1430</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span> </div>
+<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 28);</div>
+<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 20);</div>
+<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"> 1435</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 12);</div>
+<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 4);</div>
+<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span> </div>
+<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"> 1443</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"> 1444</span>}</div>
+<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span> </div>
+<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_37(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"> 1447</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 29);</div>
+<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 21);</div>
+<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 13);</div>
+<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 5);</div>
+<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span> </div>
+<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 34);</div>
+<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l01455" name="l01455"></a><span class="lineno"> 1455</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"> 1456</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l01458" name="l01458"></a><span class="lineno"> 1458</span> </div>
+<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 31);</div>
+<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 23);</div>
+<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 15);</div>
+<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 7);</div>
+<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span> </div>
+<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"> 1465</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"> 1469</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span> </div>
+<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 33);</div>
+<div class="line"><a id="l01474" name="l01474"></a><span class="lineno"> 1474</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 25);</div>
+<div class="line"><a id="l01475" name="l01475"></a><span class="lineno"> 1475</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 17);</div>
+<div class="line"><a id="l01476" name="l01476"></a><span class="lineno"> 1476</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 9);</div>
+<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"> 1477</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span> </div>
+<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"> 1481</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"> 1484</span> </div>
+<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 35);</div>
+<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 27);</div>
+<div class="line"><a id="l01488" name="l01488"></a><span class="lineno"> 1488</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 19);</div>
+<div class="line"><a id="l01489" name="l01489"></a><span class="lineno"> 1489</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 11);</div>
+<div class="line"><a id="l01490" name="l01490"></a><span class="lineno"> 1490</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l01491" name="l01491"></a><span class="lineno"> 1491</span> </div>
+<div class="line"><a id="l01492" name="l01492"></a><span class="lineno"> 1492</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l01493" name="l01493"></a><span class="lineno"> 1493</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01494" name="l01494"></a><span class="lineno"> 1494</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01495" name="l01495"></a><span class="lineno"> 1495</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01496" name="l01496"></a><span class="lineno"> 1496</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01497" name="l01497"></a><span class="lineno"> 1497</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01498" name="l01498"></a><span class="lineno"> 1498</span>}</div>
+<div class="line"><a id="l01499" name="l01499"></a><span class="lineno"> 1499</span> </div>
+<div class="line"><a id="l01500" name="l01500"></a><span class="lineno"> 1500</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_38(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01501" name="l01501"></a><span class="lineno"> 1501</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 30);</div>
+<div class="line"><a id="l01502" name="l01502"></a><span class="lineno"> 1502</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 22);</div>
+<div class="line"><a id="l01503" name="l01503"></a><span class="lineno"> 1503</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 14);</div>
+<div class="line"><a id="l01504" name="l01504"></a><span class="lineno"> 1504</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 6);</div>
+<div class="line"><a id="l01505" name="l01505"></a><span class="lineno"> 1505</span> </div>
+<div class="line"><a id="l01506" name="l01506"></a><span class="lineno"> 1506</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l01507" name="l01507"></a><span class="lineno"> 1507</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 36);</div>
+<div class="line"><a id="l01508" name="l01508"></a><span class="lineno"> 1508</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l01509" name="l01509"></a><span class="lineno"> 1509</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l01510" name="l01510"></a><span class="lineno"> 1510</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l01511" name="l01511"></a><span class="lineno"> 1511</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l01512" name="l01512"></a><span class="lineno"> 1512</span> </div>
+<div class="line"><a id="l01513" name="l01513"></a><span class="lineno"> 1513</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l01514" name="l01514"></a><span class="lineno"> 1514</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 34);</div>
+<div class="line"><a id="l01515" name="l01515"></a><span class="lineno"> 1515</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 26);</div>
+<div class="line"><a id="l01516" name="l01516"></a><span class="lineno"> 1516</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 18);</div>
+<div class="line"><a id="l01517" name="l01517"></a><span class="lineno"> 1517</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 10);</div>
+<div class="line"><a id="l01518" name="l01518"></a><span class="lineno"> 1518</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l01519" name="l01519"></a><span class="lineno"> 1519</span> </div>
+<div class="line"><a id="l01520" name="l01520"></a><span class="lineno"> 1520</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l01521" name="l01521"></a><span class="lineno"> 1521</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l01522" name="l01522"></a><span class="lineno"> 1522</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01523" name="l01523"></a><span class="lineno"> 1523</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01524" name="l01524"></a><span class="lineno"> 1524</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01525" name="l01525"></a><span class="lineno"> 1525</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01526" name="l01526"></a><span class="lineno"> 1526</span> </div>
+<div class="line"><a id="l01527" name="l01527"></a><span class="lineno"> 1527</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 30);</div>
+<div class="line"><a id="l01528" name="l01528"></a><span class="lineno"> 1528</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 22);</div>
+<div class="line"><a id="l01529" name="l01529"></a><span class="lineno"> 1529</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 14);</div>
+<div class="line"><a id="l01530" name="l01530"></a><span class="lineno"> 1530</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 6);</div>
+<div class="line"><a id="l01531" name="l01531"></a><span class="lineno"> 1531</span> </div>
+<div class="line"><a id="l01532" name="l01532"></a><span class="lineno"> 1532</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l01533" name="l01533"></a><span class="lineno"> 1533</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 36);</div>
+<div class="line"><a id="l01534" name="l01534"></a><span class="lineno"> 1534</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l01535" name="l01535"></a><span class="lineno"> 1535</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l01536" name="l01536"></a><span class="lineno"> 1536</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l01537" name="l01537"></a><span class="lineno"> 1537</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l01538" name="l01538"></a><span class="lineno"> 1538</span> </div>
+<div class="line"><a id="l01539" name="l01539"></a><span class="lineno"> 1539</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l01540" name="l01540"></a><span class="lineno"> 1540</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 34);</div>
+<div class="line"><a id="l01541" name="l01541"></a><span class="lineno"> 1541</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 26);</div>
+<div class="line"><a id="l01542" name="l01542"></a><span class="lineno"> 1542</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 18);</div>
+<div class="line"><a id="l01543" name="l01543"></a><span class="lineno"> 1543</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 10);</div>
+<div class="line"><a id="l01544" name="l01544"></a><span class="lineno"> 1544</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l01545" name="l01545"></a><span class="lineno"> 1545</span> </div>
+<div class="line"><a id="l01546" name="l01546"></a><span class="lineno"> 1546</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l01547" name="l01547"></a><span class="lineno"> 1547</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01548" name="l01548"></a><span class="lineno"> 1548</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01549" name="l01549"></a><span class="lineno"> 1549</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01550" name="l01550"></a><span class="lineno"> 1550</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01551" name="l01551"></a><span class="lineno"> 1551</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01552" name="l01552"></a><span class="lineno"> 1552</span>}</div>
+<div class="line"><a id="l01553" name="l01553"></a><span class="lineno"> 1553</span> </div>
+<div class="line"><a id="l01554" name="l01554"></a><span class="lineno"> 1554</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_39(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01555" name="l01555"></a><span class="lineno"> 1555</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 31);</div>
+<div class="line"><a id="l01556" name="l01556"></a><span class="lineno"> 1556</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 23);</div>
+<div class="line"><a id="l01557" name="l01557"></a><span class="lineno"> 1557</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 15);</div>
+<div class="line"><a id="l01558" name="l01558"></a><span class="lineno"> 1558</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 7);</div>
+<div class="line"><a id="l01559" name="l01559"></a><span class="lineno"> 1559</span> </div>
+<div class="line"><a id="l01560" name="l01560"></a><span class="lineno"> 1560</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l01561" name="l01561"></a><span class="lineno"> 1561</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 38);</div>
+<div class="line"><a id="l01562" name="l01562"></a><span class="lineno"> 1562</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l01563" name="l01563"></a><span class="lineno"> 1563</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l01564" name="l01564"></a><span class="lineno"> 1564</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l01565" name="l01565"></a><span class="lineno"> 1565</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l01566" name="l01566"></a><span class="lineno"> 1566</span> </div>
+<div class="line"><a id="l01567" name="l01567"></a><span class="lineno"> 1567</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l01568" name="l01568"></a><span class="lineno"> 1568</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 37);</div>
+<div class="line"><a id="l01569" name="l01569"></a><span class="lineno"> 1569</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 29);</div>
+<div class="line"><a id="l01570" name="l01570"></a><span class="lineno"> 1570</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 21);</div>
+<div class="line"><a id="l01571" name="l01571"></a><span class="lineno"> 1571</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 13);</div>
+<div class="line"><a id="l01572" name="l01572"></a><span class="lineno"> 1572</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l01573" name="l01573"></a><span class="lineno"> 1573</span> </div>
+<div class="line"><a id="l01574" name="l01574"></a><span class="lineno"> 1574</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l01575" name="l01575"></a><span class="lineno"> 1575</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l01576" name="l01576"></a><span class="lineno"> 1576</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01577" name="l01577"></a><span class="lineno"> 1577</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01578" name="l01578"></a><span class="lineno"> 1578</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01579" name="l01579"></a><span class="lineno"> 1579</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01580" name="l01580"></a><span class="lineno"> 1580</span> </div>
+<div class="line"><a id="l01581" name="l01581"></a><span class="lineno"> 1581</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01582" name="l01582"></a><span class="lineno"> 1582</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 35);</div>
+<div class="line"><a id="l01583" name="l01583"></a><span class="lineno"> 1583</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 27);</div>
+<div class="line"><a id="l01584" name="l01584"></a><span class="lineno"> 1584</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 19);</div>
+<div class="line"><a id="l01585" name="l01585"></a><span class="lineno"> 1585</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 11);</div>
+<div class="line"><a id="l01586" name="l01586"></a><span class="lineno"> 1586</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l01587" name="l01587"></a><span class="lineno"> 1587</span> </div>
+<div class="line"><a id="l01588" name="l01588"></a><span class="lineno"> 1588</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l01589" name="l01589"></a><span class="lineno"> 1589</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l01590" name="l01590"></a><span class="lineno"> 1590</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l01591" name="l01591"></a><span class="lineno"> 1591</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l01592" name="l01592"></a><span class="lineno"> 1592</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l01593" name="l01593"></a><span class="lineno"> 1593</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l01594" name="l01594"></a><span class="lineno"> 1594</span> </div>
+<div class="line"><a id="l01595" name="l01595"></a><span class="lineno"> 1595</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l01596" name="l01596"></a><span class="lineno"> 1596</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 33);</div>
+<div class="line"><a id="l01597" name="l01597"></a><span class="lineno"> 1597</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 25);</div>
+<div class="line"><a id="l01598" name="l01598"></a><span class="lineno"> 1598</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 17);</div>
+<div class="line"><a id="l01599" name="l01599"></a><span class="lineno"> 1599</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 9);</div>
+<div class="line"><a id="l01600" name="l01600"></a><span class="lineno"> 1600</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l01601" name="l01601"></a><span class="lineno"> 1601</span> </div>
+<div class="line"><a id="l01602" name="l01602"></a><span class="lineno"> 1602</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l01603" name="l01603"></a><span class="lineno"> 1603</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01604" name="l01604"></a><span class="lineno"> 1604</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01605" name="l01605"></a><span class="lineno"> 1605</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01606" name="l01606"></a><span class="lineno"> 1606</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01607" name="l01607"></a><span class="lineno"> 1607</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01608" name="l01608"></a><span class="lineno"> 1608</span>}</div>
+<div class="line"><a id="l01609" name="l01609"></a><span class="lineno"> 1609</span> </div>
+<div class="line"><a id="l01610" name="l01610"></a><span class="lineno"> 1610</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_40(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01611" name="l01611"></a><span class="lineno"> 1611</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 32);</div>
+<div class="line"><a id="l01612" name="l01612"></a><span class="lineno"> 1612</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 24);</div>
+<div class="line"><a id="l01613" name="l01613"></a><span class="lineno"> 1613</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 16);</div>
+<div class="line"><a id="l01614" name="l01614"></a><span class="lineno"> 1614</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 8);</div>
+<div class="line"><a id="l01615" name="l01615"></a><span class="lineno"> 1615</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0]);</div>
+<div class="line"><a id="l01616" name="l01616"></a><span class="lineno"> 1616</span> </div>
+<div class="line"><a id="l01617" name="l01617"></a><span class="lineno"> 1617</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 32);</div>
+<div class="line"><a id="l01618" name="l01618"></a><span class="lineno"> 1618</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l01619" name="l01619"></a><span class="lineno"> 1619</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l01620" name="l01620"></a><span class="lineno"> 1620</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l01621" name="l01621"></a><span class="lineno"> 1621</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l01622" name="l01622"></a><span class="lineno"> 1622</span> </div>
+<div class="line"><a id="l01623" name="l01623"></a><span class="lineno"> 1623</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 32);</div>
+<div class="line"><a id="l01624" name="l01624"></a><span class="lineno"> 1624</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 24);</div>
+<div class="line"><a id="l01625" name="l01625"></a><span class="lineno"> 1625</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 16);</div>
+<div class="line"><a id="l01626" name="l01626"></a><span class="lineno"> 1626</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 8);</div>
+<div class="line"><a id="l01627" name="l01627"></a><span class="lineno"> 1627</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2]);</div>
+<div class="line"><a id="l01628" name="l01628"></a><span class="lineno"> 1628</span> </div>
+<div class="line"><a id="l01629" name="l01629"></a><span class="lineno"> 1629</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l01630" name="l01630"></a><span class="lineno"> 1630</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01631" name="l01631"></a><span class="lineno"> 1631</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01632" name="l01632"></a><span class="lineno"> 1632</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01633" name="l01633"></a><span class="lineno"> 1633</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01634" name="l01634"></a><span class="lineno"> 1634</span> </div>
+<div class="line"><a id="l01635" name="l01635"></a><span class="lineno"> 1635</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 32);</div>
+<div class="line"><a id="l01636" name="l01636"></a><span class="lineno"> 1636</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 24);</div>
+<div class="line"><a id="l01637" name="l01637"></a><span class="lineno"> 1637</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 16);</div>
+<div class="line"><a id="l01638" name="l01638"></a><span class="lineno"> 1638</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 8);</div>
+<div class="line"><a id="l01639" name="l01639"></a><span class="lineno"> 1639</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4]);</div>
+<div class="line"><a id="l01640" name="l01640"></a><span class="lineno"> 1640</span> </div>
+<div class="line"><a id="l01641" name="l01641"></a><span class="lineno"> 1641</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 32);</div>
+<div class="line"><a id="l01642" name="l01642"></a><span class="lineno"> 1642</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l01643" name="l01643"></a><span class="lineno"> 1643</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l01644" name="l01644"></a><span class="lineno"> 1644</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l01645" name="l01645"></a><span class="lineno"> 1645</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l01646" name="l01646"></a><span class="lineno"> 1646</span> </div>
+<div class="line"><a id="l01647" name="l01647"></a><span class="lineno"> 1647</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 32);</div>
+<div class="line"><a id="l01648" name="l01648"></a><span class="lineno"> 1648</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 24);</div>
+<div class="line"><a id="l01649" name="l01649"></a><span class="lineno"> 1649</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 16);</div>
+<div class="line"><a id="l01650" name="l01650"></a><span class="lineno"> 1650</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 8);</div>
+<div class="line"><a id="l01651" name="l01651"></a><span class="lineno"> 1651</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6]);</div>
+<div class="line"><a id="l01652" name="l01652"></a><span class="lineno"> 1652</span> </div>
+<div class="line"><a id="l01653" name="l01653"></a><span class="lineno"> 1653</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01654" name="l01654"></a><span class="lineno"> 1654</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01655" name="l01655"></a><span class="lineno"> 1655</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01656" name="l01656"></a><span class="lineno"> 1656</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01657" name="l01657"></a><span class="lineno"> 1657</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01658" name="l01658"></a><span class="lineno"> 1658</span>}</div>
+<div class="line"><a id="l01659" name="l01659"></a><span class="lineno"> 1659</span> </div>
+<div class="line"><a id="l01660" name="l01660"></a><span class="lineno"> 1660</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_41(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01661" name="l01661"></a><span class="lineno"> 1661</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 33);</div>
+<div class="line"><a id="l01662" name="l01662"></a><span class="lineno"> 1662</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 25);</div>
+<div class="line"><a id="l01663" name="l01663"></a><span class="lineno"> 1663</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 17);</div>
+<div class="line"><a id="l01664" name="l01664"></a><span class="lineno"> 1664</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 9);</div>
+<div class="line"><a id="l01665" name="l01665"></a><span class="lineno"> 1665</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 1);</div>
+<div class="line"><a id="l01666" name="l01666"></a><span class="lineno"> 1666</span> </div>
+<div class="line"><a id="l01667" name="l01667"></a><span class="lineno"> 1667</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l01668" name="l01668"></a><span class="lineno"> 1668</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 34);</div>
+<div class="line"><a id="l01669" name="l01669"></a><span class="lineno"> 1669</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l01670" name="l01670"></a><span class="lineno"> 1670</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l01671" name="l01671"></a><span class="lineno"> 1671</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l01672" name="l01672"></a><span class="lineno"> 1672</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l01673" name="l01673"></a><span class="lineno"> 1673</span> </div>
+<div class="line"><a id="l01674" name="l01674"></a><span class="lineno"> 1674</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l01675" name="l01675"></a><span class="lineno"> 1675</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 35);</div>
+<div class="line"><a id="l01676" name="l01676"></a><span class="lineno"> 1676</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 27);</div>
+<div class="line"><a id="l01677" name="l01677"></a><span class="lineno"> 1677</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 19);</div>
+<div class="line"><a id="l01678" name="l01678"></a><span class="lineno"> 1678</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 11);</div>
+<div class="line"><a id="l01679" name="l01679"></a><span class="lineno"> 1679</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 3);</div>
+<div class="line"><a id="l01680" name="l01680"></a><span class="lineno"> 1680</span> </div>
+<div class="line"><a id="l01681" name="l01681"></a><span class="lineno"> 1681</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l01682" name="l01682"></a><span class="lineno"> 1682</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l01683" name="l01683"></a><span class="lineno"> 1683</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01684" name="l01684"></a><span class="lineno"> 1684</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01685" name="l01685"></a><span class="lineno"> 1685</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01686" name="l01686"></a><span class="lineno"> 1686</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01687" name="l01687"></a><span class="lineno"> 1687</span> </div>
+<div class="line"><a id="l01688" name="l01688"></a><span class="lineno"> 1688</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01689" name="l01689"></a><span class="lineno"> 1689</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 37);</div>
+<div class="line"><a id="l01690" name="l01690"></a><span class="lineno"> 1690</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 29);</div>
+<div class="line"><a id="l01691" name="l01691"></a><span class="lineno"> 1691</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 21);</div>
+<div class="line"><a id="l01692" name="l01692"></a><span class="lineno"> 1692</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 13);</div>
+<div class="line"><a id="l01693" name="l01693"></a><span class="lineno"> 1693</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 5);</div>
+<div class="line"><a id="l01694" name="l01694"></a><span class="lineno"> 1694</span> </div>
+<div class="line"><a id="l01695" name="l01695"></a><span class="lineno"> 1695</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l01696" name="l01696"></a><span class="lineno"> 1696</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 38);</div>
+<div class="line"><a id="l01697" name="l01697"></a><span class="lineno"> 1697</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l01698" name="l01698"></a><span class="lineno"> 1698</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l01699" name="l01699"></a><span class="lineno"> 1699</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l01700" name="l01700"></a><span class="lineno"> 1700</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l01701" name="l01701"></a><span class="lineno"> 1701</span> </div>
+<div class="line"><a id="l01702" name="l01702"></a><span class="lineno"> 1702</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l01703" name="l01703"></a><span class="lineno"> 1703</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 39);</div>
+<div class="line"><a id="l01704" name="l01704"></a><span class="lineno"> 1704</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 31);</div>
+<div class="line"><a id="l01705" name="l01705"></a><span class="lineno"> 1705</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 23);</div>
+<div class="line"><a id="l01706" name="l01706"></a><span class="lineno"> 1706</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 15);</div>
+<div class="line"><a id="l01707" name="l01707"></a><span class="lineno"> 1707</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 7);</div>
+<div class="line"><a id="l01708" name="l01708"></a><span class="lineno"> 1708</span> </div>
+<div class="line"><a id="l01709" name="l01709"></a><span class="lineno"> 1709</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l01710" name="l01710"></a><span class="lineno"> 1710</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l01711" name="l01711"></a><span class="lineno"> 1711</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01712" name="l01712"></a><span class="lineno"> 1712</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01713" name="l01713"></a><span class="lineno"> 1713</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01714" name="l01714"></a><span class="lineno"> 1714</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01715" name="l01715"></a><span class="lineno"> 1715</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01716" name="l01716"></a><span class="lineno"> 1716</span>}</div>
+<div class="line"><a id="l01717" name="l01717"></a><span class="lineno"> 1717</span> </div>
+<div class="line"><a id="l01718" name="l01718"></a><span class="lineno"> 1718</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_42(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01719" name="l01719"></a><span class="lineno"> 1719</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 34);</div>
+<div class="line"><a id="l01720" name="l01720"></a><span class="lineno"> 1720</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 26);</div>
+<div class="line"><a id="l01721" name="l01721"></a><span class="lineno"> 1721</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 18);</div>
+<div class="line"><a id="l01722" name="l01722"></a><span class="lineno"> 1722</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 10);</div>
+<div class="line"><a id="l01723" name="l01723"></a><span class="lineno"> 1723</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 2);</div>
+<div class="line"><a id="l01724" name="l01724"></a><span class="lineno"> 1724</span> </div>
+<div class="line"><a id="l01725" name="l01725"></a><span class="lineno"> 1725</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l01726" name="l01726"></a><span class="lineno"> 1726</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 36);</div>
+<div class="line"><a id="l01727" name="l01727"></a><span class="lineno"> 1727</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l01728" name="l01728"></a><span class="lineno"> 1728</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l01729" name="l01729"></a><span class="lineno"> 1729</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l01730" name="l01730"></a><span class="lineno"> 1730</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l01731" name="l01731"></a><span class="lineno"> 1731</span> </div>
+<div class="line"><a id="l01732" name="l01732"></a><span class="lineno"> 1732</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l01733" name="l01733"></a><span class="lineno"> 1733</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 38);</div>
+<div class="line"><a id="l01734" name="l01734"></a><span class="lineno"> 1734</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 30);</div>
+<div class="line"><a id="l01735" name="l01735"></a><span class="lineno"> 1735</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 22);</div>
+<div class="line"><a id="l01736" name="l01736"></a><span class="lineno"> 1736</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 14);</div>
+<div class="line"><a id="l01737" name="l01737"></a><span class="lineno"> 1737</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 6);</div>
+<div class="line"><a id="l01738" name="l01738"></a><span class="lineno"> 1738</span> </div>
+<div class="line"><a id="l01739" name="l01739"></a><span class="lineno"> 1739</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l01740" name="l01740"></a><span class="lineno"> 1740</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l01741" name="l01741"></a><span class="lineno"> 1741</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l01742" name="l01742"></a><span class="lineno"> 1742</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01743" name="l01743"></a><span class="lineno"> 1743</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01744" name="l01744"></a><span class="lineno"> 1744</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01745" name="l01745"></a><span class="lineno"> 1745</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01746" name="l01746"></a><span class="lineno"> 1746</span> </div>
+<div class="line"><a id="l01747" name="l01747"></a><span class="lineno"> 1747</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 34);</div>
+<div class="line"><a id="l01748" name="l01748"></a><span class="lineno"> 1748</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 26);</div>
+<div class="line"><a id="l01749" name="l01749"></a><span class="lineno"> 1749</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 18);</div>
+<div class="line"><a id="l01750" name="l01750"></a><span class="lineno"> 1750</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 10);</div>
+<div class="line"><a id="l01751" name="l01751"></a><span class="lineno"> 1751</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 2);</div>
+<div class="line"><a id="l01752" name="l01752"></a><span class="lineno"> 1752</span> </div>
+<div class="line"><a id="l01753" name="l01753"></a><span class="lineno"> 1753</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l01754" name="l01754"></a><span class="lineno"> 1754</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 36);</div>
+<div class="line"><a id="l01755" name="l01755"></a><span class="lineno"> 1755</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l01756" name="l01756"></a><span class="lineno"> 1756</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l01757" name="l01757"></a><span class="lineno"> 1757</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l01758" name="l01758"></a><span class="lineno"> 1758</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l01759" name="l01759"></a><span class="lineno"> 1759</span> </div>
+<div class="line"><a id="l01760" name="l01760"></a><span class="lineno"> 1760</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l01761" name="l01761"></a><span class="lineno"> 1761</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 38);</div>
+<div class="line"><a id="l01762" name="l01762"></a><span class="lineno"> 1762</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 30);</div>
+<div class="line"><a id="l01763" name="l01763"></a><span class="lineno"> 1763</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 22);</div>
+<div class="line"><a id="l01764" name="l01764"></a><span class="lineno"> 1764</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 14);</div>
+<div class="line"><a id="l01765" name="l01765"></a><span class="lineno"> 1765</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 6);</div>
+<div class="line"><a id="l01766" name="l01766"></a><span class="lineno"> 1766</span> </div>
+<div class="line"><a id="l01767" name="l01767"></a><span class="lineno"> 1767</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l01768" name="l01768"></a><span class="lineno"> 1768</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l01769" name="l01769"></a><span class="lineno"> 1769</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01770" name="l01770"></a><span class="lineno"> 1770</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01771" name="l01771"></a><span class="lineno"> 1771</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01772" name="l01772"></a><span class="lineno"> 1772</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01773" name="l01773"></a><span class="lineno"> 1773</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01774" name="l01774"></a><span class="lineno"> 1774</span>}</div>
+<div class="line"><a id="l01775" name="l01775"></a><span class="lineno"> 1775</span> </div>
+<div class="line"><a id="l01776" name="l01776"></a><span class="lineno"> 1776</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_43(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01777" name="l01777"></a><span class="lineno"> 1777</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 35);</div>
+<div class="line"><a id="l01778" name="l01778"></a><span class="lineno"> 1778</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 27);</div>
+<div class="line"><a id="l01779" name="l01779"></a><span class="lineno"> 1779</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 19);</div>
+<div class="line"><a id="l01780" name="l01780"></a><span class="lineno"> 1780</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 11);</div>
+<div class="line"><a id="l01781" name="l01781"></a><span class="lineno"> 1781</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 3);</div>
+<div class="line"><a id="l01782" name="l01782"></a><span class="lineno"> 1782</span> </div>
+<div class="line"><a id="l01783" name="l01783"></a><span class="lineno"> 1783</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l01784" name="l01784"></a><span class="lineno"> 1784</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 38);</div>
+<div class="line"><a id="l01785" name="l01785"></a><span class="lineno"> 1785</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l01786" name="l01786"></a><span class="lineno"> 1786</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l01787" name="l01787"></a><span class="lineno"> 1787</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l01788" name="l01788"></a><span class="lineno"> 1788</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l01789" name="l01789"></a><span class="lineno"> 1789</span> </div>
+<div class="line"><a id="l01790" name="l01790"></a><span class="lineno"> 1790</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l01791" name="l01791"></a><span class="lineno"> 1791</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 41);</div>
+<div class="line"><a id="l01792" name="l01792"></a><span class="lineno"> 1792</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 33);</div>
+<div class="line"><a id="l01793" name="l01793"></a><span class="lineno"> 1793</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 25);</div>
+<div class="line"><a id="l01794" name="l01794"></a><span class="lineno"> 1794</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 17);</div>
+<div class="line"><a id="l01795" name="l01795"></a><span class="lineno"> 1795</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 9);</div>
+<div class="line"><a id="l01796" name="l01796"></a><span class="lineno"> 1796</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l01797" name="l01797"></a><span class="lineno"> 1797</span> </div>
+<div class="line"><a id="l01798" name="l01798"></a><span class="lineno"> 1798</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l01799" name="l01799"></a><span class="lineno"> 1799</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l01800" name="l01800"></a><span class="lineno"> 1800</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01801" name="l01801"></a><span class="lineno"> 1801</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01802" name="l01802"></a><span class="lineno"> 1802</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01803" name="l01803"></a><span class="lineno"> 1803</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01804" name="l01804"></a><span class="lineno"> 1804</span> </div>
+<div class="line"><a id="l01805" name="l01805"></a><span class="lineno"> 1805</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01806" name="l01806"></a><span class="lineno"> 1806</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 39);</div>
+<div class="line"><a id="l01807" name="l01807"></a><span class="lineno"> 1807</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 31);</div>
+<div class="line"><a id="l01808" name="l01808"></a><span class="lineno"> 1808</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 23);</div>
+<div class="line"><a id="l01809" name="l01809"></a><span class="lineno"> 1809</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 15);</div>
+<div class="line"><a id="l01810" name="l01810"></a><span class="lineno"> 1810</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 7);</div>
+<div class="line"><a id="l01811" name="l01811"></a><span class="lineno"> 1811</span> </div>
+<div class="line"><a id="l01812" name="l01812"></a><span class="lineno"> 1812</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l01813" name="l01813"></a><span class="lineno"> 1813</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 42);</div>
+<div class="line"><a id="l01814" name="l01814"></a><span class="lineno"> 1814</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l01815" name="l01815"></a><span class="lineno"> 1815</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l01816" name="l01816"></a><span class="lineno"> 1816</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l01817" name="l01817"></a><span class="lineno"> 1817</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l01818" name="l01818"></a><span class="lineno"> 1818</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l01819" name="l01819"></a><span class="lineno"> 1819</span> </div>
+<div class="line"><a id="l01820" name="l01820"></a><span class="lineno"> 1820</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l01821" name="l01821"></a><span class="lineno"> 1821</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 37);</div>
+<div class="line"><a id="l01822" name="l01822"></a><span class="lineno"> 1822</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 29);</div>
+<div class="line"><a id="l01823" name="l01823"></a><span class="lineno"> 1823</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 21);</div>
+<div class="line"><a id="l01824" name="l01824"></a><span class="lineno"> 1824</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 13);</div>
+<div class="line"><a id="l01825" name="l01825"></a><span class="lineno"> 1825</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 5);</div>
+<div class="line"><a id="l01826" name="l01826"></a><span class="lineno"> 1826</span> </div>
+<div class="line"><a id="l01827" name="l01827"></a><span class="lineno"> 1827</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l01828" name="l01828"></a><span class="lineno"> 1828</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l01829" name="l01829"></a><span class="lineno"> 1829</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01830" name="l01830"></a><span class="lineno"> 1830</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01831" name="l01831"></a><span class="lineno"> 1831</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01832" name="l01832"></a><span class="lineno"> 1832</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01833" name="l01833"></a><span class="lineno"> 1833</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01834" name="l01834"></a><span class="lineno"> 1834</span>}</div>
+<div class="line"><a id="l01835" name="l01835"></a><span class="lineno"> 1835</span> </div>
+<div class="line"><a id="l01836" name="l01836"></a><span class="lineno"> 1836</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_44(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01837" name="l01837"></a><span class="lineno"> 1837</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 36);</div>
+<div class="line"><a id="l01838" name="l01838"></a><span class="lineno"> 1838</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 28);</div>
+<div class="line"><a id="l01839" name="l01839"></a><span class="lineno"> 1839</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 20);</div>
+<div class="line"><a id="l01840" name="l01840"></a><span class="lineno"> 1840</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 12);</div>
+<div class="line"><a id="l01841" name="l01841"></a><span class="lineno"> 1841</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 4);</div>
+<div class="line"><a id="l01842" name="l01842"></a><span class="lineno"> 1842</span> </div>
+<div class="line"><a id="l01843" name="l01843"></a><span class="lineno"> 1843</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l01844" name="l01844"></a><span class="lineno"> 1844</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 40);</div>
+<div class="line"><a id="l01845" name="l01845"></a><span class="lineno"> 1845</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 32);</div>
+<div class="line"><a id="l01846" name="l01846"></a><span class="lineno"> 1846</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l01847" name="l01847"></a><span class="lineno"> 1847</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l01848" name="l01848"></a><span class="lineno"> 1848</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l01849" name="l01849"></a><span class="lineno"> 1849</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l01850" name="l01850"></a><span class="lineno"> 1850</span> </div>
+<div class="line"><a id="l01851" name="l01851"></a><span class="lineno"> 1851</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 36);</div>
+<div class="line"><a id="l01852" name="l01852"></a><span class="lineno"> 1852</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 28);</div>
+<div class="line"><a id="l01853" name="l01853"></a><span class="lineno"> 1853</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 20);</div>
+<div class="line"><a id="l01854" name="l01854"></a><span class="lineno"> 1854</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 12);</div>
+<div class="line"><a id="l01855" name="l01855"></a><span class="lineno"> 1855</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 4);</div>
+<div class="line"><a id="l01856" name="l01856"></a><span class="lineno"> 1856</span> </div>
+<div class="line"><a id="l01857" name="l01857"></a><span class="lineno"> 1857</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l01858" name="l01858"></a><span class="lineno"> 1858</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l01859" name="l01859"></a><span class="lineno"> 1859</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l01860" name="l01860"></a><span class="lineno"> 1860</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01861" name="l01861"></a><span class="lineno"> 1861</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01862" name="l01862"></a><span class="lineno"> 1862</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01863" name="l01863"></a><span class="lineno"> 1863</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01864" name="l01864"></a><span class="lineno"> 1864</span> </div>
+<div class="line"><a id="l01865" name="l01865"></a><span class="lineno"> 1865</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 36);</div>
+<div class="line"><a id="l01866" name="l01866"></a><span class="lineno"> 1866</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 28);</div>
+<div class="line"><a id="l01867" name="l01867"></a><span class="lineno"> 1867</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 20);</div>
+<div class="line"><a id="l01868" name="l01868"></a><span class="lineno"> 1868</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 12);</div>
+<div class="line"><a id="l01869" name="l01869"></a><span class="lineno"> 1869</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 4);</div>
+<div class="line"><a id="l01870" name="l01870"></a><span class="lineno"> 1870</span> </div>
+<div class="line"><a id="l01871" name="l01871"></a><span class="lineno"> 1871</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l01872" name="l01872"></a><span class="lineno"> 1872</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 40);</div>
+<div class="line"><a id="l01873" name="l01873"></a><span class="lineno"> 1873</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 32);</div>
+<div class="line"><a id="l01874" name="l01874"></a><span class="lineno"> 1874</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l01875" name="l01875"></a><span class="lineno"> 1875</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l01876" name="l01876"></a><span class="lineno"> 1876</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l01877" name="l01877"></a><span class="lineno"> 1877</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l01878" name="l01878"></a><span class="lineno"> 1878</span> </div>
+<div class="line"><a id="l01879" name="l01879"></a><span class="lineno"> 1879</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 36);</div>
+<div class="line"><a id="l01880" name="l01880"></a><span class="lineno"> 1880</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 28);</div>
+<div class="line"><a id="l01881" name="l01881"></a><span class="lineno"> 1881</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 20);</div>
+<div class="line"><a id="l01882" name="l01882"></a><span class="lineno"> 1882</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 12);</div>
+<div class="line"><a id="l01883" name="l01883"></a><span class="lineno"> 1883</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 4);</div>
+<div class="line"><a id="l01884" name="l01884"></a><span class="lineno"> 1884</span> </div>
+<div class="line"><a id="l01885" name="l01885"></a><span class="lineno"> 1885</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l01886" name="l01886"></a><span class="lineno"> 1886</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l01887" name="l01887"></a><span class="lineno"> 1887</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01888" name="l01888"></a><span class="lineno"> 1888</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01889" name="l01889"></a><span class="lineno"> 1889</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01890" name="l01890"></a><span class="lineno"> 1890</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01891" name="l01891"></a><span class="lineno"> 1891</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01892" name="l01892"></a><span class="lineno"> 1892</span>}</div>
+<div class="line"><a id="l01893" name="l01893"></a><span class="lineno"> 1893</span> </div>
+<div class="line"><a id="l01894" name="l01894"></a><span class="lineno"> 1894</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_45(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01895" name="l01895"></a><span class="lineno"> 1895</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 37);</div>
+<div class="line"><a id="l01896" name="l01896"></a><span class="lineno"> 1896</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 29);</div>
+<div class="line"><a id="l01897" name="l01897"></a><span class="lineno"> 1897</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 21);</div>
+<div class="line"><a id="l01898" name="l01898"></a><span class="lineno"> 1898</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 13);</div>
+<div class="line"><a id="l01899" name="l01899"></a><span class="lineno"> 1899</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 5);</div>
+<div class="line"><a id="l01900" name="l01900"></a><span class="lineno"> 1900</span> </div>
+<div class="line"><a id="l01901" name="l01901"></a><span class="lineno"> 1901</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l01902" name="l01902"></a><span class="lineno"> 1902</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 42);</div>
+<div class="line"><a id="l01903" name="l01903"></a><span class="lineno"> 1903</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 34);</div>
+<div class="line"><a id="l01904" name="l01904"></a><span class="lineno"> 1904</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l01905" name="l01905"></a><span class="lineno"> 1905</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l01906" name="l01906"></a><span class="lineno"> 1906</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l01907" name="l01907"></a><span class="lineno"> 1907</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l01908" name="l01908"></a><span class="lineno"> 1908</span> </div>
+<div class="line"><a id="l01909" name="l01909"></a><span class="lineno"> 1909</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l01910" name="l01910"></a><span class="lineno"> 1910</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 39);</div>
+<div class="line"><a id="l01911" name="l01911"></a><span class="lineno"> 1911</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 31);</div>
+<div class="line"><a id="l01912" name="l01912"></a><span class="lineno"> 1912</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 23);</div>
+<div class="line"><a id="l01913" name="l01913"></a><span class="lineno"> 1913</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 15);</div>
+<div class="line"><a id="l01914" name="l01914"></a><span class="lineno"> 1914</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 7);</div>
+<div class="line"><a id="l01915" name="l01915"></a><span class="lineno"> 1915</span> </div>
+<div class="line"><a id="l01916" name="l01916"></a><span class="lineno"> 1916</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l01917" name="l01917"></a><span class="lineno"> 1917</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l01918" name="l01918"></a><span class="lineno"> 1918</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l01919" name="l01919"></a><span class="lineno"> 1919</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l01920" name="l01920"></a><span class="lineno"> 1920</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l01921" name="l01921"></a><span class="lineno"> 1921</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l01922" name="l01922"></a><span class="lineno"> 1922</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l01923" name="l01923"></a><span class="lineno"> 1923</span> </div>
+<div class="line"><a id="l01924" name="l01924"></a><span class="lineno"> 1924</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l01925" name="l01925"></a><span class="lineno"> 1925</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 41);</div>
+<div class="line"><a id="l01926" name="l01926"></a><span class="lineno"> 1926</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 33);</div>
+<div class="line"><a id="l01927" name="l01927"></a><span class="lineno"> 1927</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 25);</div>
+<div class="line"><a id="l01928" name="l01928"></a><span class="lineno"> 1928</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 17);</div>
+<div class="line"><a id="l01929" name="l01929"></a><span class="lineno"> 1929</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 9);</div>
+<div class="line"><a id="l01930" name="l01930"></a><span class="lineno"> 1930</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l01931" name="l01931"></a><span class="lineno"> 1931</span> </div>
+<div class="line"><a id="l01932" name="l01932"></a><span class="lineno"> 1932</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l01933" name="l01933"></a><span class="lineno"> 1933</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 38);</div>
+<div class="line"><a id="l01934" name="l01934"></a><span class="lineno"> 1934</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l01935" name="l01935"></a><span class="lineno"> 1935</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l01936" name="l01936"></a><span class="lineno"> 1936</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l01937" name="l01937"></a><span class="lineno"> 1937</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l01938" name="l01938"></a><span class="lineno"> 1938</span> </div>
+<div class="line"><a id="l01939" name="l01939"></a><span class="lineno"> 1939</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l01940" name="l01940"></a><span class="lineno"> 1940</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 43);</div>
+<div class="line"><a id="l01941" name="l01941"></a><span class="lineno"> 1941</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 35);</div>
+<div class="line"><a id="l01942" name="l01942"></a><span class="lineno"> 1942</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 27);</div>
+<div class="line"><a id="l01943" name="l01943"></a><span class="lineno"> 1943</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 19);</div>
+<div class="line"><a id="l01944" name="l01944"></a><span class="lineno"> 1944</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 11);</div>
+<div class="line"><a id="l01945" name="l01945"></a><span class="lineno"> 1945</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l01946" name="l01946"></a><span class="lineno"> 1946</span> </div>
+<div class="line"><a id="l01947" name="l01947"></a><span class="lineno"> 1947</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l01948" name="l01948"></a><span class="lineno"> 1948</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l01949" name="l01949"></a><span class="lineno"> 1949</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l01950" name="l01950"></a><span class="lineno"> 1950</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l01951" name="l01951"></a><span class="lineno"> 1951</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l01952" name="l01952"></a><span class="lineno"> 1952</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l01953" name="l01953"></a><span class="lineno"> 1953</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l01954" name="l01954"></a><span class="lineno"> 1954</span>}</div>
+<div class="line"><a id="l01955" name="l01955"></a><span class="lineno"> 1955</span> </div>
+<div class="line"><a id="l01956" name="l01956"></a><span class="lineno"> 1956</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_46(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l01957" name="l01957"></a><span class="lineno"> 1957</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 38);</div>
+<div class="line"><a id="l01958" name="l01958"></a><span class="lineno"> 1958</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 30);</div>
+<div class="line"><a id="l01959" name="l01959"></a><span class="lineno"> 1959</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 22);</div>
+<div class="line"><a id="l01960" name="l01960"></a><span class="lineno"> 1960</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 14);</div>
+<div class="line"><a id="l01961" name="l01961"></a><span class="lineno"> 1961</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 6);</div>
+<div class="line"><a id="l01962" name="l01962"></a><span class="lineno"> 1962</span> </div>
+<div class="line"><a id="l01963" name="l01963"></a><span class="lineno"> 1963</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l01964" name="l01964"></a><span class="lineno"> 1964</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 44);</div>
+<div class="line"><a id="l01965" name="l01965"></a><span class="lineno"> 1965</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 36);</div>
+<div class="line"><a id="l01966" name="l01966"></a><span class="lineno"> 1966</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l01967" name="l01967"></a><span class="lineno"> 1967</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l01968" name="l01968"></a><span class="lineno"> 1968</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l01969" name="l01969"></a><span class="lineno"> 1969</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l01970" name="l01970"></a><span class="lineno"> 1970</span> </div>
+<div class="line"><a id="l01971" name="l01971"></a><span class="lineno"> 1971</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l01972" name="l01972"></a><span class="lineno"> 1972</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 42);</div>
+<div class="line"><a id="l01973" name="l01973"></a><span class="lineno"> 1973</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 34);</div>
+<div class="line"><a id="l01974" name="l01974"></a><span class="lineno"> 1974</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 26);</div>
+<div class="line"><a id="l01975" name="l01975"></a><span class="lineno"> 1975</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 18);</div>
+<div class="line"><a id="l01976" name="l01976"></a><span class="lineno"> 1976</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 10);</div>
+<div class="line"><a id="l01977" name="l01977"></a><span class="lineno"> 1977</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l01978" name="l01978"></a><span class="lineno"> 1978</span> </div>
+<div class="line"><a id="l01979" name="l01979"></a><span class="lineno"> 1979</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l01980" name="l01980"></a><span class="lineno"> 1980</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l01981" name="l01981"></a><span class="lineno"> 1981</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l01982" name="l01982"></a><span class="lineno"> 1982</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l01983" name="l01983"></a><span class="lineno"> 1983</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l01984" name="l01984"></a><span class="lineno"> 1984</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l01985" name="l01985"></a><span class="lineno"> 1985</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l01986" name="l01986"></a><span class="lineno"> 1986</span> </div>
+<div class="line"><a id="l01987" name="l01987"></a><span class="lineno"> 1987</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 38);</div>
+<div class="line"><a id="l01988" name="l01988"></a><span class="lineno"> 1988</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 30);</div>
+<div class="line"><a id="l01989" name="l01989"></a><span class="lineno"> 1989</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 22);</div>
+<div class="line"><a id="l01990" name="l01990"></a><span class="lineno"> 1990</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 14);</div>
+<div class="line"><a id="l01991" name="l01991"></a><span class="lineno"> 1991</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 6);</div>
+<div class="line"><a id="l01992" name="l01992"></a><span class="lineno"> 1992</span> </div>
+<div class="line"><a id="l01993" name="l01993"></a><span class="lineno"> 1993</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l01994" name="l01994"></a><span class="lineno"> 1994</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 44);</div>
+<div class="line"><a id="l01995" name="l01995"></a><span class="lineno"> 1995</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 36);</div>
+<div class="line"><a id="l01996" name="l01996"></a><span class="lineno"> 1996</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l01997" name="l01997"></a><span class="lineno"> 1997</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l01998" name="l01998"></a><span class="lineno"> 1998</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l01999" name="l01999"></a><span class="lineno"> 1999</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l02000" name="l02000"></a><span class="lineno"> 2000</span> </div>
+<div class="line"><a id="l02001" name="l02001"></a><span class="lineno"> 2001</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l02002" name="l02002"></a><span class="lineno"> 2002</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 42);</div>
+<div class="line"><a id="l02003" name="l02003"></a><span class="lineno"> 2003</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 34);</div>
+<div class="line"><a id="l02004" name="l02004"></a><span class="lineno"> 2004</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 26);</div>
+<div class="line"><a id="l02005" name="l02005"></a><span class="lineno"> 2005</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 18);</div>
+<div class="line"><a id="l02006" name="l02006"></a><span class="lineno"> 2006</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 10);</div>
+<div class="line"><a id="l02007" name="l02007"></a><span class="lineno"> 2007</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l02008" name="l02008"></a><span class="lineno"> 2008</span> </div>
+<div class="line"><a id="l02009" name="l02009"></a><span class="lineno"> 2009</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l02010" name="l02010"></a><span class="lineno"> 2010</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02011" name="l02011"></a><span class="lineno"> 2011</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02012" name="l02012"></a><span class="lineno"> 2012</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02013" name="l02013"></a><span class="lineno"> 2013</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02014" name="l02014"></a><span class="lineno"> 2014</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02015" name="l02015"></a><span class="lineno"> 2015</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02016" name="l02016"></a><span class="lineno"> 2016</span>}</div>
+<div class="line"><a id="l02017" name="l02017"></a><span class="lineno"> 2017</span> </div>
+<div class="line"><a id="l02018" name="l02018"></a><span class="lineno"> 2018</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_47(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02019" name="l02019"></a><span class="lineno"> 2019</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 39);</div>
+<div class="line"><a id="l02020" name="l02020"></a><span class="lineno"> 2020</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 31);</div>
+<div class="line"><a id="l02021" name="l02021"></a><span class="lineno"> 2021</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 23);</div>
+<div class="line"><a id="l02022" name="l02022"></a><span class="lineno"> 2022</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 15);</div>
+<div class="line"><a id="l02023" name="l02023"></a><span class="lineno"> 2023</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 7);</div>
+<div class="line"><a id="l02024" name="l02024"></a><span class="lineno"> 2024</span> </div>
+<div class="line"><a id="l02025" name="l02025"></a><span class="lineno"> 2025</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l02026" name="l02026"></a><span class="lineno"> 2026</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 46);</div>
+<div class="line"><a id="l02027" name="l02027"></a><span class="lineno"> 2027</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 38);</div>
+<div class="line"><a id="l02028" name="l02028"></a><span class="lineno"> 2028</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l02029" name="l02029"></a><span class="lineno"> 2029</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l02030" name="l02030"></a><span class="lineno"> 2030</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l02031" name="l02031"></a><span class="lineno"> 2031</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l02032" name="l02032"></a><span class="lineno"> 2032</span> </div>
+<div class="line"><a id="l02033" name="l02033"></a><span class="lineno"> 2033</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l02034" name="l02034"></a><span class="lineno"> 2034</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 45);</div>
+<div class="line"><a id="l02035" name="l02035"></a><span class="lineno"> 2035</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 37);</div>
+<div class="line"><a id="l02036" name="l02036"></a><span class="lineno"> 2036</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 29);</div>
+<div class="line"><a id="l02037" name="l02037"></a><span class="lineno"> 2037</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 21);</div>
+<div class="line"><a id="l02038" name="l02038"></a><span class="lineno"> 2038</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 13);</div>
+<div class="line"><a id="l02039" name="l02039"></a><span class="lineno"> 2039</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l02040" name="l02040"></a><span class="lineno"> 2040</span> </div>
+<div class="line"><a id="l02041" name="l02041"></a><span class="lineno"> 2041</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l02042" name="l02042"></a><span class="lineno"> 2042</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l02043" name="l02043"></a><span class="lineno"> 2043</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l02044" name="l02044"></a><span class="lineno"> 2044</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l02045" name="l02045"></a><span class="lineno"> 2045</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l02046" name="l02046"></a><span class="lineno"> 2046</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l02047" name="l02047"></a><span class="lineno"> 2047</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l02048" name="l02048"></a><span class="lineno"> 2048</span> </div>
+<div class="line"><a id="l02049" name="l02049"></a><span class="lineno"> 2049</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l02050" name="l02050"></a><span class="lineno"> 2050</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 43);</div>
+<div class="line"><a id="l02051" name="l02051"></a><span class="lineno"> 2051</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 35);</div>
+<div class="line"><a id="l02052" name="l02052"></a><span class="lineno"> 2052</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 27);</div>
+<div class="line"><a id="l02053" name="l02053"></a><span class="lineno"> 2053</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 19);</div>
+<div class="line"><a id="l02054" name="l02054"></a><span class="lineno"> 2054</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 11);</div>
+<div class="line"><a id="l02055" name="l02055"></a><span class="lineno"> 2055</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l02056" name="l02056"></a><span class="lineno"> 2056</span> </div>
+<div class="line"><a id="l02057" name="l02057"></a><span class="lineno"> 2057</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l02058" name="l02058"></a><span class="lineno"> 2058</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 42);</div>
+<div class="line"><a id="l02059" name="l02059"></a><span class="lineno"> 2059</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l02060" name="l02060"></a><span class="lineno"> 2060</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l02061" name="l02061"></a><span class="lineno"> 2061</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l02062" name="l02062"></a><span class="lineno"> 2062</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l02063" name="l02063"></a><span class="lineno"> 2063</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l02064" name="l02064"></a><span class="lineno"> 2064</span> </div>
+<div class="line"><a id="l02065" name="l02065"></a><span class="lineno"> 2065</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l02066" name="l02066"></a><span class="lineno"> 2066</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 41);</div>
+<div class="line"><a id="l02067" name="l02067"></a><span class="lineno"> 2067</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 33);</div>
+<div class="line"><a id="l02068" name="l02068"></a><span class="lineno"> 2068</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 25);</div>
+<div class="line"><a id="l02069" name="l02069"></a><span class="lineno"> 2069</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 17);</div>
+<div class="line"><a id="l02070" name="l02070"></a><span class="lineno"> 2070</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 9);</div>
+<div class="line"><a id="l02071" name="l02071"></a><span class="lineno"> 2071</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l02072" name="l02072"></a><span class="lineno"> 2072</span> </div>
+<div class="line"><a id="l02073" name="l02073"></a><span class="lineno"> 2073</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l02074" name="l02074"></a><span class="lineno"> 2074</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02075" name="l02075"></a><span class="lineno"> 2075</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02076" name="l02076"></a><span class="lineno"> 2076</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02077" name="l02077"></a><span class="lineno"> 2077</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02078" name="l02078"></a><span class="lineno"> 2078</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02079" name="l02079"></a><span class="lineno"> 2079</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02080" name="l02080"></a><span class="lineno"> 2080</span>}</div>
+<div class="line"><a id="l02081" name="l02081"></a><span class="lineno"> 2081</span> </div>
+<div class="line"><a id="l02082" name="l02082"></a><span class="lineno"> 2082</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_48(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02083" name="l02083"></a><span class="lineno"> 2083</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 40);</div>
+<div class="line"><a id="l02084" name="l02084"></a><span class="lineno"> 2084</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 32);</div>
+<div class="line"><a id="l02085" name="l02085"></a><span class="lineno"> 2085</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 24);</div>
+<div class="line"><a id="l02086" name="l02086"></a><span class="lineno"> 2086</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 16);</div>
+<div class="line"><a id="l02087" name="l02087"></a><span class="lineno"> 2087</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 8);</div>
+<div class="line"><a id="l02088" name="l02088"></a><span class="lineno"> 2088</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0]);</div>
+<div class="line"><a id="l02089" name="l02089"></a><span class="lineno"> 2089</span> </div>
+<div class="line"><a id="l02090" name="l02090"></a><span class="lineno"> 2090</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 40);</div>
+<div class="line"><a id="l02091" name="l02091"></a><span class="lineno"> 2091</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 32);</div>
+<div class="line"><a id="l02092" name="l02092"></a><span class="lineno"> 2092</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l02093" name="l02093"></a><span class="lineno"> 2093</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l02094" name="l02094"></a><span class="lineno"> 2094</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l02095" name="l02095"></a><span class="lineno"> 2095</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l02096" name="l02096"></a><span class="lineno"> 2096</span> </div>
+<div class="line"><a id="l02097" name="l02097"></a><span class="lineno"> 2097</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 40);</div>
+<div class="line"><a id="l02098" name="l02098"></a><span class="lineno"> 2098</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 32);</div>
+<div class="line"><a id="l02099" name="l02099"></a><span class="lineno"> 2099</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 24);</div>
+<div class="line"><a id="l02100" name="l02100"></a><span class="lineno"> 2100</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 16);</div>
+<div class="line"><a id="l02101" name="l02101"></a><span class="lineno"> 2101</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 8);</div>
+<div class="line"><a id="l02102" name="l02102"></a><span class="lineno"> 2102</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2]);</div>
+<div class="line"><a id="l02103" name="l02103"></a><span class="lineno"> 2103</span> </div>
+<div class="line"><a id="l02104" name="l02104"></a><span class="lineno"> 2104</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l02105" name="l02105"></a><span class="lineno"> 2105</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l02106" name="l02106"></a><span class="lineno"> 2106</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l02107" name="l02107"></a><span class="lineno"> 2107</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l02108" name="l02108"></a><span class="lineno"> 2108</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l02109" name="l02109"></a><span class="lineno"> 2109</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l02110" name="l02110"></a><span class="lineno"> 2110</span> </div>
+<div class="line"><a id="l02111" name="l02111"></a><span class="lineno"> 2111</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 40);</div>
+<div class="line"><a id="l02112" name="l02112"></a><span class="lineno"> 2112</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 32);</div>
+<div class="line"><a id="l02113" name="l02113"></a><span class="lineno"> 2113</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 24);</div>
+<div class="line"><a id="l02114" name="l02114"></a><span class="lineno"> 2114</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 16);</div>
+<div class="line"><a id="l02115" name="l02115"></a><span class="lineno"> 2115</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 8);</div>
+<div class="line"><a id="l02116" name="l02116"></a><span class="lineno"> 2116</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4]);</div>
+<div class="line"><a id="l02117" name="l02117"></a><span class="lineno"> 2117</span> </div>
+<div class="line"><a id="l02118" name="l02118"></a><span class="lineno"> 2118</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 40);</div>
+<div class="line"><a id="l02119" name="l02119"></a><span class="lineno"> 2119</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 32);</div>
+<div class="line"><a id="l02120" name="l02120"></a><span class="lineno"> 2120</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l02121" name="l02121"></a><span class="lineno"> 2121</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l02122" name="l02122"></a><span class="lineno"> 2122</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l02123" name="l02123"></a><span class="lineno"> 2123</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l02124" name="l02124"></a><span class="lineno"> 2124</span> </div>
+<div class="line"><a id="l02125" name="l02125"></a><span class="lineno"> 2125</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 40);</div>
+<div class="line"><a id="l02126" name="l02126"></a><span class="lineno"> 2126</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 32);</div>
+<div class="line"><a id="l02127" name="l02127"></a><span class="lineno"> 2127</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 24);</div>
+<div class="line"><a id="l02128" name="l02128"></a><span class="lineno"> 2128</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 16);</div>
+<div class="line"><a id="l02129" name="l02129"></a><span class="lineno"> 2129</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 8);</div>
+<div class="line"><a id="l02130" name="l02130"></a><span class="lineno"> 2130</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6]);</div>
+<div class="line"><a id="l02131" name="l02131"></a><span class="lineno"> 2131</span> </div>
+<div class="line"><a id="l02132" name="l02132"></a><span class="lineno"> 2132</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02133" name="l02133"></a><span class="lineno"> 2133</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02134" name="l02134"></a><span class="lineno"> 2134</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02135" name="l02135"></a><span class="lineno"> 2135</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02136" name="l02136"></a><span class="lineno"> 2136</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02137" name="l02137"></a><span class="lineno"> 2137</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02138" name="l02138"></a><span class="lineno"> 2138</span>}</div>
+<div class="line"><a id="l02139" name="l02139"></a><span class="lineno"> 2139</span> </div>
+<div class="line"><a id="l02140" name="l02140"></a><span class="lineno"> 2140</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_49(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02141" name="l02141"></a><span class="lineno"> 2141</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 41);</div>
+<div class="line"><a id="l02142" name="l02142"></a><span class="lineno"> 2142</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 33);</div>
+<div class="line"><a id="l02143" name="l02143"></a><span class="lineno"> 2143</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 25);</div>
+<div class="line"><a id="l02144" name="l02144"></a><span class="lineno"> 2144</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 17);</div>
+<div class="line"><a id="l02145" name="l02145"></a><span class="lineno"> 2145</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 9);</div>
+<div class="line"><a id="l02146" name="l02146"></a><span class="lineno"> 2146</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 1);</div>
+<div class="line"><a id="l02147" name="l02147"></a><span class="lineno"> 2147</span> </div>
+<div class="line"><a id="l02148" name="l02148"></a><span class="lineno"> 2148</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l02149" name="l02149"></a><span class="lineno"> 2149</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 42);</div>
+<div class="line"><a id="l02150" name="l02150"></a><span class="lineno"> 2150</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 34);</div>
+<div class="line"><a id="l02151" name="l02151"></a><span class="lineno"> 2151</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l02152" name="l02152"></a><span class="lineno"> 2152</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l02153" name="l02153"></a><span class="lineno"> 2153</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l02154" name="l02154"></a><span class="lineno"> 2154</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l02155" name="l02155"></a><span class="lineno"> 2155</span> </div>
+<div class="line"><a id="l02156" name="l02156"></a><span class="lineno"> 2156</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l02157" name="l02157"></a><span class="lineno"> 2157</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 43);</div>
+<div class="line"><a id="l02158" name="l02158"></a><span class="lineno"> 2158</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 35);</div>
+<div class="line"><a id="l02159" name="l02159"></a><span class="lineno"> 2159</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 27);</div>
+<div class="line"><a id="l02160" name="l02160"></a><span class="lineno"> 2160</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 19);</div>
+<div class="line"><a id="l02161" name="l02161"></a><span class="lineno"> 2161</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 11);</div>
+<div class="line"><a id="l02162" name="l02162"></a><span class="lineno"> 2162</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 3);</div>
+<div class="line"><a id="l02163" name="l02163"></a><span class="lineno"> 2163</span> </div>
+<div class="line"><a id="l02164" name="l02164"></a><span class="lineno"> 2164</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l02165" name="l02165"></a><span class="lineno"> 2165</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l02166" name="l02166"></a><span class="lineno"> 2166</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l02167" name="l02167"></a><span class="lineno"> 2167</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l02168" name="l02168"></a><span class="lineno"> 2168</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l02169" name="l02169"></a><span class="lineno"> 2169</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l02170" name="l02170"></a><span class="lineno"> 2170</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l02171" name="l02171"></a><span class="lineno"> 2171</span> </div>
+<div class="line"><a id="l02172" name="l02172"></a><span class="lineno"> 2172</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l02173" name="l02173"></a><span class="lineno"> 2173</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 45);</div>
+<div class="line"><a id="l02174" name="l02174"></a><span class="lineno"> 2174</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 37);</div>
+<div class="line"><a id="l02175" name="l02175"></a><span class="lineno"> 2175</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 29);</div>
+<div class="line"><a id="l02176" name="l02176"></a><span class="lineno"> 2176</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 21);</div>
+<div class="line"><a id="l02177" name="l02177"></a><span class="lineno"> 2177</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 13);</div>
+<div class="line"><a id="l02178" name="l02178"></a><span class="lineno"> 2178</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 5);</div>
+<div class="line"><a id="l02179" name="l02179"></a><span class="lineno"> 2179</span> </div>
+<div class="line"><a id="l02180" name="l02180"></a><span class="lineno"> 2180</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l02181" name="l02181"></a><span class="lineno"> 2181</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 46);</div>
+<div class="line"><a id="l02182" name="l02182"></a><span class="lineno"> 2182</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 38);</div>
+<div class="line"><a id="l02183" name="l02183"></a><span class="lineno"> 2183</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l02184" name="l02184"></a><span class="lineno"> 2184</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l02185" name="l02185"></a><span class="lineno"> 2185</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l02186" name="l02186"></a><span class="lineno"> 2186</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l02187" name="l02187"></a><span class="lineno"> 2187</span> </div>
+<div class="line"><a id="l02188" name="l02188"></a><span class="lineno"> 2188</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l02189" name="l02189"></a><span class="lineno"> 2189</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 47);</div>
+<div class="line"><a id="l02190" name="l02190"></a><span class="lineno"> 2190</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 39);</div>
+<div class="line"><a id="l02191" name="l02191"></a><span class="lineno"> 2191</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 31);</div>
+<div class="line"><a id="l02192" name="l02192"></a><span class="lineno"> 2192</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 23);</div>
+<div class="line"><a id="l02193" name="l02193"></a><span class="lineno"> 2193</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 15);</div>
+<div class="line"><a id="l02194" name="l02194"></a><span class="lineno"> 2194</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 7);</div>
+<div class="line"><a id="l02195" name="l02195"></a><span class="lineno"> 2195</span> </div>
+<div class="line"><a id="l02196" name="l02196"></a><span class="lineno"> 2196</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l02197" name="l02197"></a><span class="lineno"> 2197</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02198" name="l02198"></a><span class="lineno"> 2198</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02199" name="l02199"></a><span class="lineno"> 2199</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02200" name="l02200"></a><span class="lineno"> 2200</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02201" name="l02201"></a><span class="lineno"> 2201</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02202" name="l02202"></a><span class="lineno"> 2202</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02203" name="l02203"></a><span class="lineno"> 2203</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02204" name="l02204"></a><span class="lineno"> 2204</span>}</div>
+<div class="line"><a id="l02205" name="l02205"></a><span class="lineno"> 2205</span> </div>
+<div class="line"><a id="l02206" name="l02206"></a><span class="lineno"> 2206</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_50(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02207" name="l02207"></a><span class="lineno"> 2207</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 42);</div>
+<div class="line"><a id="l02208" name="l02208"></a><span class="lineno"> 2208</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 34);</div>
+<div class="line"><a id="l02209" name="l02209"></a><span class="lineno"> 2209</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 26);</div>
+<div class="line"><a id="l02210" name="l02210"></a><span class="lineno"> 2210</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 18);</div>
+<div class="line"><a id="l02211" name="l02211"></a><span class="lineno"> 2211</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 10);</div>
+<div class="line"><a id="l02212" name="l02212"></a><span class="lineno"> 2212</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 2);</div>
+<div class="line"><a id="l02213" name="l02213"></a><span class="lineno"> 2213</span> </div>
+<div class="line"><a id="l02214" name="l02214"></a><span class="lineno"> 2214</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l02215" name="l02215"></a><span class="lineno"> 2215</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 44);</div>
+<div class="line"><a id="l02216" name="l02216"></a><span class="lineno"> 2216</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 36);</div>
+<div class="line"><a id="l02217" name="l02217"></a><span class="lineno"> 2217</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l02218" name="l02218"></a><span class="lineno"> 2218</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l02219" name="l02219"></a><span class="lineno"> 2219</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l02220" name="l02220"></a><span class="lineno"> 2220</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l02221" name="l02221"></a><span class="lineno"> 2221</span> </div>
+<div class="line"><a id="l02222" name="l02222"></a><span class="lineno"> 2222</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l02223" name="l02223"></a><span class="lineno"> 2223</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 46);</div>
+<div class="line"><a id="l02224" name="l02224"></a><span class="lineno"> 2224</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 38);</div>
+<div class="line"><a id="l02225" name="l02225"></a><span class="lineno"> 2225</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 30);</div>
+<div class="line"><a id="l02226" name="l02226"></a><span class="lineno"> 2226</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 22);</div>
+<div class="line"><a id="l02227" name="l02227"></a><span class="lineno"> 2227</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 14);</div>
+<div class="line"><a id="l02228" name="l02228"></a><span class="lineno"> 2228</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 6);</div>
+<div class="line"><a id="l02229" name="l02229"></a><span class="lineno"> 2229</span> </div>
+<div class="line"><a id="l02230" name="l02230"></a><span class="lineno"> 2230</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l02231" name="l02231"></a><span class="lineno"> 2231</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 48);</div>
+<div class="line"><a id="l02232" name="l02232"></a><span class="lineno"> 2232</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l02233" name="l02233"></a><span class="lineno"> 2233</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l02234" name="l02234"></a><span class="lineno"> 2234</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l02235" name="l02235"></a><span class="lineno"> 2235</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l02236" name="l02236"></a><span class="lineno"> 2236</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l02237" name="l02237"></a><span class="lineno"> 2237</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l02238" name="l02238"></a><span class="lineno"> 2238</span> </div>
+<div class="line"><a id="l02239" name="l02239"></a><span class="lineno"> 2239</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 42);</div>
+<div class="line"><a id="l02240" name="l02240"></a><span class="lineno"> 2240</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 34);</div>
+<div class="line"><a id="l02241" name="l02241"></a><span class="lineno"> 2241</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 26);</div>
+<div class="line"><a id="l02242" name="l02242"></a><span class="lineno"> 2242</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 18);</div>
+<div class="line"><a id="l02243" name="l02243"></a><span class="lineno"> 2243</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 10);</div>
+<div class="line"><a id="l02244" name="l02244"></a><span class="lineno"> 2244</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 2);</div>
+<div class="line"><a id="l02245" name="l02245"></a><span class="lineno"> 2245</span> </div>
+<div class="line"><a id="l02246" name="l02246"></a><span class="lineno"> 2246</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l02247" name="l02247"></a><span class="lineno"> 2247</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 44);</div>
+<div class="line"><a id="l02248" name="l02248"></a><span class="lineno"> 2248</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 36);</div>
+<div class="line"><a id="l02249" name="l02249"></a><span class="lineno"> 2249</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l02250" name="l02250"></a><span class="lineno"> 2250</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l02251" name="l02251"></a><span class="lineno"> 2251</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l02252" name="l02252"></a><span class="lineno"> 2252</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l02253" name="l02253"></a><span class="lineno"> 2253</span> </div>
+<div class="line"><a id="l02254" name="l02254"></a><span class="lineno"> 2254</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l02255" name="l02255"></a><span class="lineno"> 2255</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 46);</div>
+<div class="line"><a id="l02256" name="l02256"></a><span class="lineno"> 2256</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 38);</div>
+<div class="line"><a id="l02257" name="l02257"></a><span class="lineno"> 2257</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 30);</div>
+<div class="line"><a id="l02258" name="l02258"></a><span class="lineno"> 2258</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 22);</div>
+<div class="line"><a id="l02259" name="l02259"></a><span class="lineno"> 2259</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 14);</div>
+<div class="line"><a id="l02260" name="l02260"></a><span class="lineno"> 2260</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 6);</div>
+<div class="line"><a id="l02261" name="l02261"></a><span class="lineno"> 2261</span> </div>
+<div class="line"><a id="l02262" name="l02262"></a><span class="lineno"> 2262</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l02263" name="l02263"></a><span class="lineno"> 2263</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02264" name="l02264"></a><span class="lineno"> 2264</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02265" name="l02265"></a><span class="lineno"> 2265</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02266" name="l02266"></a><span class="lineno"> 2266</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02267" name="l02267"></a><span class="lineno"> 2267</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02268" name="l02268"></a><span class="lineno"> 2268</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02269" name="l02269"></a><span class="lineno"> 2269</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02270" name="l02270"></a><span class="lineno"> 2270</span>}</div>
+<div class="line"><a id="l02271" name="l02271"></a><span class="lineno"> 2271</span> </div>
+<div class="line"><a id="l02272" name="l02272"></a><span class="lineno"> 2272</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_51(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02273" name="l02273"></a><span class="lineno"> 2273</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 43);</div>
+<div class="line"><a id="l02274" name="l02274"></a><span class="lineno"> 2274</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 35);</div>
+<div class="line"><a id="l02275" name="l02275"></a><span class="lineno"> 2275</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 27);</div>
+<div class="line"><a id="l02276" name="l02276"></a><span class="lineno"> 2276</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 19);</div>
+<div class="line"><a id="l02277" name="l02277"></a><span class="lineno"> 2277</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 11);</div>
+<div class="line"><a id="l02278" name="l02278"></a><span class="lineno"> 2278</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 3);</div>
+<div class="line"><a id="l02279" name="l02279"></a><span class="lineno"> 2279</span> </div>
+<div class="line"><a id="l02280" name="l02280"></a><span class="lineno"> 2280</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l02281" name="l02281"></a><span class="lineno"> 2281</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 46);</div>
+<div class="line"><a id="l02282" name="l02282"></a><span class="lineno"> 2282</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 38);</div>
+<div class="line"><a id="l02283" name="l02283"></a><span class="lineno"> 2283</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l02284" name="l02284"></a><span class="lineno"> 2284</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l02285" name="l02285"></a><span class="lineno"> 2285</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l02286" name="l02286"></a><span class="lineno"> 2286</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l02287" name="l02287"></a><span class="lineno"> 2287</span> </div>
+<div class="line"><a id="l02288" name="l02288"></a><span class="lineno"> 2288</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l02289" name="l02289"></a><span class="lineno"> 2289</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 49);</div>
+<div class="line"><a id="l02290" name="l02290"></a><span class="lineno"> 2290</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 41);</div>
+<div class="line"><a id="l02291" name="l02291"></a><span class="lineno"> 2291</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 33);</div>
+<div class="line"><a id="l02292" name="l02292"></a><span class="lineno"> 2292</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 25);</div>
+<div class="line"><a id="l02293" name="l02293"></a><span class="lineno"> 2293</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 17);</div>
+<div class="line"><a id="l02294" name="l02294"></a><span class="lineno"> 2294</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 9);</div>
+<div class="line"><a id="l02295" name="l02295"></a><span class="lineno"> 2295</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l02296" name="l02296"></a><span class="lineno"> 2296</span> </div>
+<div class="line"><a id="l02297" name="l02297"></a><span class="lineno"> 2297</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l02298" name="l02298"></a><span class="lineno"> 2298</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l02299" name="l02299"></a><span class="lineno"> 2299</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l02300" name="l02300"></a><span class="lineno"> 2300</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l02301" name="l02301"></a><span class="lineno"> 2301</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l02302" name="l02302"></a><span class="lineno"> 2302</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l02303" name="l02303"></a><span class="lineno"> 2303</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l02304" name="l02304"></a><span class="lineno"> 2304</span> </div>
+<div class="line"><a id="l02305" name="l02305"></a><span class="lineno"> 2305</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l02306" name="l02306"></a><span class="lineno"> 2306</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 47);</div>
+<div class="line"><a id="l02307" name="l02307"></a><span class="lineno"> 2307</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 39);</div>
+<div class="line"><a id="l02308" name="l02308"></a><span class="lineno"> 2308</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 31);</div>
+<div class="line"><a id="l02309" name="l02309"></a><span class="lineno"> 2309</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 23);</div>
+<div class="line"><a id="l02310" name="l02310"></a><span class="lineno"> 2310</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 15);</div>
+<div class="line"><a id="l02311" name="l02311"></a><span class="lineno"> 2311</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 7);</div>
+<div class="line"><a id="l02312" name="l02312"></a><span class="lineno"> 2312</span> </div>
+<div class="line"><a id="l02313" name="l02313"></a><span class="lineno"> 2313</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l02314" name="l02314"></a><span class="lineno"> 2314</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 50);</div>
+<div class="line"><a id="l02315" name="l02315"></a><span class="lineno"> 2315</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 42);</div>
+<div class="line"><a id="l02316" name="l02316"></a><span class="lineno"> 2316</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l02317" name="l02317"></a><span class="lineno"> 2317</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l02318" name="l02318"></a><span class="lineno"> 2318</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l02319" name="l02319"></a><span class="lineno"> 2319</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l02320" name="l02320"></a><span class="lineno"> 2320</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l02321" name="l02321"></a><span class="lineno"> 2321</span> </div>
+<div class="line"><a id="l02322" name="l02322"></a><span class="lineno"> 2322</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l02323" name="l02323"></a><span class="lineno"> 2323</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 45);</div>
+<div class="line"><a id="l02324" name="l02324"></a><span class="lineno"> 2324</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 37);</div>
+<div class="line"><a id="l02325" name="l02325"></a><span class="lineno"> 2325</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 29);</div>
+<div class="line"><a id="l02326" name="l02326"></a><span class="lineno"> 2326</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 21);</div>
+<div class="line"><a id="l02327" name="l02327"></a><span class="lineno"> 2327</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 13);</div>
+<div class="line"><a id="l02328" name="l02328"></a><span class="lineno"> 2328</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 5);</div>
+<div class="line"><a id="l02329" name="l02329"></a><span class="lineno"> 2329</span> </div>
+<div class="line"><a id="l02330" name="l02330"></a><span class="lineno"> 2330</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l02331" name="l02331"></a><span class="lineno"> 2331</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02332" name="l02332"></a><span class="lineno"> 2332</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02333" name="l02333"></a><span class="lineno"> 2333</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02334" name="l02334"></a><span class="lineno"> 2334</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02335" name="l02335"></a><span class="lineno"> 2335</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02336" name="l02336"></a><span class="lineno"> 2336</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02337" name="l02337"></a><span class="lineno"> 2337</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02338" name="l02338"></a><span class="lineno"> 2338</span>}</div>
+<div class="line"><a id="l02339" name="l02339"></a><span class="lineno"> 2339</span> </div>
+<div class="line"><a id="l02340" name="l02340"></a><span class="lineno"> 2340</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_52(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02341" name="l02341"></a><span class="lineno"> 2341</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 44);</div>
+<div class="line"><a id="l02342" name="l02342"></a><span class="lineno"> 2342</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 36);</div>
+<div class="line"><a id="l02343" name="l02343"></a><span class="lineno"> 2343</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 28);</div>
+<div class="line"><a id="l02344" name="l02344"></a><span class="lineno"> 2344</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 20);</div>
+<div class="line"><a id="l02345" name="l02345"></a><span class="lineno"> 2345</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 12);</div>
+<div class="line"><a id="l02346" name="l02346"></a><span class="lineno"> 2346</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 4);</div>
+<div class="line"><a id="l02347" name="l02347"></a><span class="lineno"> 2347</span> </div>
+<div class="line"><a id="l02348" name="l02348"></a><span class="lineno"> 2348</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l02349" name="l02349"></a><span class="lineno"> 2349</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 48);</div>
+<div class="line"><a id="l02350" name="l02350"></a><span class="lineno"> 2350</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 40);</div>
+<div class="line"><a id="l02351" name="l02351"></a><span class="lineno"> 2351</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 32);</div>
+<div class="line"><a id="l02352" name="l02352"></a><span class="lineno"> 2352</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l02353" name="l02353"></a><span class="lineno"> 2353</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l02354" name="l02354"></a><span class="lineno"> 2354</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l02355" name="l02355"></a><span class="lineno"> 2355</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l02356" name="l02356"></a><span class="lineno"> 2356</span> </div>
+<div class="line"><a id="l02357" name="l02357"></a><span class="lineno"> 2357</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 44);</div>
+<div class="line"><a id="l02358" name="l02358"></a><span class="lineno"> 2358</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 36);</div>
+<div class="line"><a id="l02359" name="l02359"></a><span class="lineno"> 2359</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 28);</div>
+<div class="line"><a id="l02360" name="l02360"></a><span class="lineno"> 2360</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 20);</div>
+<div class="line"><a id="l02361" name="l02361"></a><span class="lineno"> 2361</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 12);</div>
+<div class="line"><a id="l02362" name="l02362"></a><span class="lineno"> 2362</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 4);</div>
+<div class="line"><a id="l02363" name="l02363"></a><span class="lineno"> 2363</span> </div>
+<div class="line"><a id="l02364" name="l02364"></a><span class="lineno"> 2364</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l02365" name="l02365"></a><span class="lineno"> 2365</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 48);</div>
+<div class="line"><a id="l02366" name="l02366"></a><span class="lineno"> 2366</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l02367" name="l02367"></a><span class="lineno"> 2367</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l02368" name="l02368"></a><span class="lineno"> 2368</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l02369" name="l02369"></a><span class="lineno"> 2369</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l02370" name="l02370"></a><span class="lineno"> 2370</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l02371" name="l02371"></a><span class="lineno"> 2371</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l02372" name="l02372"></a><span class="lineno"> 2372</span> </div>
+<div class="line"><a id="l02373" name="l02373"></a><span class="lineno"> 2373</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 44);</div>
+<div class="line"><a id="l02374" name="l02374"></a><span class="lineno"> 2374</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 36);</div>
+<div class="line"><a id="l02375" name="l02375"></a><span class="lineno"> 2375</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 28);</div>
+<div class="line"><a id="l02376" name="l02376"></a><span class="lineno"> 2376</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 20);</div>
+<div class="line"><a id="l02377" name="l02377"></a><span class="lineno"> 2377</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 12);</div>
+<div class="line"><a id="l02378" name="l02378"></a><span class="lineno"> 2378</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 4);</div>
+<div class="line"><a id="l02379" name="l02379"></a><span class="lineno"> 2379</span> </div>
+<div class="line"><a id="l02380" name="l02380"></a><span class="lineno"> 2380</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l02381" name="l02381"></a><span class="lineno"> 2381</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 48);</div>
+<div class="line"><a id="l02382" name="l02382"></a><span class="lineno"> 2382</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 40);</div>
+<div class="line"><a id="l02383" name="l02383"></a><span class="lineno"> 2383</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 32);</div>
+<div class="line"><a id="l02384" name="l02384"></a><span class="lineno"> 2384</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l02385" name="l02385"></a><span class="lineno"> 2385</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l02386" name="l02386"></a><span class="lineno"> 2386</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l02387" name="l02387"></a><span class="lineno"> 2387</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l02388" name="l02388"></a><span class="lineno"> 2388</span> </div>
+<div class="line"><a id="l02389" name="l02389"></a><span class="lineno"> 2389</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 44);</div>
+<div class="line"><a id="l02390" name="l02390"></a><span class="lineno"> 2390</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 36);</div>
+<div class="line"><a id="l02391" name="l02391"></a><span class="lineno"> 2391</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 28);</div>
+<div class="line"><a id="l02392" name="l02392"></a><span class="lineno"> 2392</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 20);</div>
+<div class="line"><a id="l02393" name="l02393"></a><span class="lineno"> 2393</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 12);</div>
+<div class="line"><a id="l02394" name="l02394"></a><span class="lineno"> 2394</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 4);</div>
+<div class="line"><a id="l02395" name="l02395"></a><span class="lineno"> 2395</span> </div>
+<div class="line"><a id="l02396" name="l02396"></a><span class="lineno"> 2396</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l02397" name="l02397"></a><span class="lineno"> 2397</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02398" name="l02398"></a><span class="lineno"> 2398</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02399" name="l02399"></a><span class="lineno"> 2399</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02400" name="l02400"></a><span class="lineno"> 2400</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02401" name="l02401"></a><span class="lineno"> 2401</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02402" name="l02402"></a><span class="lineno"> 2402</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02403" name="l02403"></a><span class="lineno"> 2403</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02404" name="l02404"></a><span class="lineno"> 2404</span>}</div>
+<div class="line"><a id="l02405" name="l02405"></a><span class="lineno"> 2405</span> </div>
+<div class="line"><a id="l02406" name="l02406"></a><span class="lineno"> 2406</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_53(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02407" name="l02407"></a><span class="lineno"> 2407</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 45);</div>
+<div class="line"><a id="l02408" name="l02408"></a><span class="lineno"> 2408</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 37);</div>
+<div class="line"><a id="l02409" name="l02409"></a><span class="lineno"> 2409</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 29);</div>
+<div class="line"><a id="l02410" name="l02410"></a><span class="lineno"> 2410</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 21);</div>
+<div class="line"><a id="l02411" name="l02411"></a><span class="lineno"> 2411</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 13);</div>
+<div class="line"><a id="l02412" name="l02412"></a><span class="lineno"> 2412</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 5);</div>
+<div class="line"><a id="l02413" name="l02413"></a><span class="lineno"> 2413</span> </div>
+<div class="line"><a id="l02414" name="l02414"></a><span class="lineno"> 2414</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l02415" name="l02415"></a><span class="lineno"> 2415</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 50);</div>
+<div class="line"><a id="l02416" name="l02416"></a><span class="lineno"> 2416</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 42);</div>
+<div class="line"><a id="l02417" name="l02417"></a><span class="lineno"> 2417</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 34);</div>
+<div class="line"><a id="l02418" name="l02418"></a><span class="lineno"> 2418</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l02419" name="l02419"></a><span class="lineno"> 2419</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l02420" name="l02420"></a><span class="lineno"> 2420</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l02421" name="l02421"></a><span class="lineno"> 2421</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l02422" name="l02422"></a><span class="lineno"> 2422</span> </div>
+<div class="line"><a id="l02423" name="l02423"></a><span class="lineno"> 2423</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l02424" name="l02424"></a><span class="lineno"> 2424</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 47);</div>
+<div class="line"><a id="l02425" name="l02425"></a><span class="lineno"> 2425</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 39);</div>
+<div class="line"><a id="l02426" name="l02426"></a><span class="lineno"> 2426</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 31);</div>
+<div class="line"><a id="l02427" name="l02427"></a><span class="lineno"> 2427</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 23);</div>
+<div class="line"><a id="l02428" name="l02428"></a><span class="lineno"> 2428</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 15);</div>
+<div class="line"><a id="l02429" name="l02429"></a><span class="lineno"> 2429</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 7);</div>
+<div class="line"><a id="l02430" name="l02430"></a><span class="lineno"> 2430</span> </div>
+<div class="line"><a id="l02431" name="l02431"></a><span class="lineno"> 2431</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l02432" name="l02432"></a><span class="lineno"> 2432</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 52);</div>
+<div class="line"><a id="l02433" name="l02433"></a><span class="lineno"> 2433</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l02434" name="l02434"></a><span class="lineno"> 2434</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l02435" name="l02435"></a><span class="lineno"> 2435</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l02436" name="l02436"></a><span class="lineno"> 2436</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l02437" name="l02437"></a><span class="lineno"> 2437</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l02438" name="l02438"></a><span class="lineno"> 2438</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l02439" name="l02439"></a><span class="lineno"> 2439</span> </div>
+<div class="line"><a id="l02440" name="l02440"></a><span class="lineno"> 2440</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l02441" name="l02441"></a><span class="lineno"> 2441</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 49);</div>
+<div class="line"><a id="l02442" name="l02442"></a><span class="lineno"> 2442</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 41);</div>
+<div class="line"><a id="l02443" name="l02443"></a><span class="lineno"> 2443</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 33);</div>
+<div class="line"><a id="l02444" name="l02444"></a><span class="lineno"> 2444</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 25);</div>
+<div class="line"><a id="l02445" name="l02445"></a><span class="lineno"> 2445</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 17);</div>
+<div class="line"><a id="l02446" name="l02446"></a><span class="lineno"> 2446</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 9);</div>
+<div class="line"><a id="l02447" name="l02447"></a><span class="lineno"> 2447</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l02448" name="l02448"></a><span class="lineno"> 2448</span> </div>
+<div class="line"><a id="l02449" name="l02449"></a><span class="lineno"> 2449</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l02450" name="l02450"></a><span class="lineno"> 2450</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 46);</div>
+<div class="line"><a id="l02451" name="l02451"></a><span class="lineno"> 2451</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 38);</div>
+<div class="line"><a id="l02452" name="l02452"></a><span class="lineno"> 2452</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l02453" name="l02453"></a><span class="lineno"> 2453</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l02454" name="l02454"></a><span class="lineno"> 2454</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l02455" name="l02455"></a><span class="lineno"> 2455</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l02456" name="l02456"></a><span class="lineno"> 2456</span> </div>
+<div class="line"><a id="l02457" name="l02457"></a><span class="lineno"> 2457</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l02458" name="l02458"></a><span class="lineno"> 2458</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 51);</div>
+<div class="line"><a id="l02459" name="l02459"></a><span class="lineno"> 2459</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 43);</div>
+<div class="line"><a id="l02460" name="l02460"></a><span class="lineno"> 2460</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 35);</div>
+<div class="line"><a id="l02461" name="l02461"></a><span class="lineno"> 2461</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 27);</div>
+<div class="line"><a id="l02462" name="l02462"></a><span class="lineno"> 2462</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 19);</div>
+<div class="line"><a id="l02463" name="l02463"></a><span class="lineno"> 2463</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 11);</div>
+<div class="line"><a id="l02464" name="l02464"></a><span class="lineno"> 2464</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l02465" name="l02465"></a><span class="lineno"> 2465</span> </div>
+<div class="line"><a id="l02466" name="l02466"></a><span class="lineno"> 2466</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l02467" name="l02467"></a><span class="lineno"> 2467</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02468" name="l02468"></a><span class="lineno"> 2468</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02469" name="l02469"></a><span class="lineno"> 2469</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02470" name="l02470"></a><span class="lineno"> 2470</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02471" name="l02471"></a><span class="lineno"> 2471</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02472" name="l02472"></a><span class="lineno"> 2472</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02473" name="l02473"></a><span class="lineno"> 2473</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02474" name="l02474"></a><span class="lineno"> 2474</span>}</div>
+<div class="line"><a id="l02475" name="l02475"></a><span class="lineno"> 2475</span> </div>
+<div class="line"><a id="l02476" name="l02476"></a><span class="lineno"> 2476</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_54(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02477" name="l02477"></a><span class="lineno"> 2477</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 46);</div>
+<div class="line"><a id="l02478" name="l02478"></a><span class="lineno"> 2478</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 38);</div>
+<div class="line"><a id="l02479" name="l02479"></a><span class="lineno"> 2479</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 30);</div>
+<div class="line"><a id="l02480" name="l02480"></a><span class="lineno"> 2480</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 22);</div>
+<div class="line"><a id="l02481" name="l02481"></a><span class="lineno"> 2481</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 14);</div>
+<div class="line"><a id="l02482" name="l02482"></a><span class="lineno"> 2482</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 6);</div>
+<div class="line"><a id="l02483" name="l02483"></a><span class="lineno"> 2483</span> </div>
+<div class="line"><a id="l02484" name="l02484"></a><span class="lineno"> 2484</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l02485" name="l02485"></a><span class="lineno"> 2485</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 52);</div>
+<div class="line"><a id="l02486" name="l02486"></a><span class="lineno"> 2486</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 44);</div>
+<div class="line"><a id="l02487" name="l02487"></a><span class="lineno"> 2487</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 36);</div>
+<div class="line"><a id="l02488" name="l02488"></a><span class="lineno"> 2488</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l02489" name="l02489"></a><span class="lineno"> 2489</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l02490" name="l02490"></a><span class="lineno"> 2490</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l02491" name="l02491"></a><span class="lineno"> 2491</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l02492" name="l02492"></a><span class="lineno"> 2492</span> </div>
+<div class="line"><a id="l02493" name="l02493"></a><span class="lineno"> 2493</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l02494" name="l02494"></a><span class="lineno"> 2494</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 50);</div>
+<div class="line"><a id="l02495" name="l02495"></a><span class="lineno"> 2495</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 42);</div>
+<div class="line"><a id="l02496" name="l02496"></a><span class="lineno"> 2496</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 34);</div>
+<div class="line"><a id="l02497" name="l02497"></a><span class="lineno"> 2497</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 26);</div>
+<div class="line"><a id="l02498" name="l02498"></a><span class="lineno"> 2498</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 18);</div>
+<div class="line"><a id="l02499" name="l02499"></a><span class="lineno"> 2499</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 10);</div>
+<div class="line"><a id="l02500" name="l02500"></a><span class="lineno"> 2500</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l02501" name="l02501"></a><span class="lineno"> 2501</span> </div>
+<div class="line"><a id="l02502" name="l02502"></a><span class="lineno"> 2502</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l02503" name="l02503"></a><span class="lineno"> 2503</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 48);</div>
+<div class="line"><a id="l02504" name="l02504"></a><span class="lineno"> 2504</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l02505" name="l02505"></a><span class="lineno"> 2505</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l02506" name="l02506"></a><span class="lineno"> 2506</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l02507" name="l02507"></a><span class="lineno"> 2507</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l02508" name="l02508"></a><span class="lineno"> 2508</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l02509" name="l02509"></a><span class="lineno"> 2509</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l02510" name="l02510"></a><span class="lineno"> 2510</span> </div>
+<div class="line"><a id="l02511" name="l02511"></a><span class="lineno"> 2511</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 46);</div>
+<div class="line"><a id="l02512" name="l02512"></a><span class="lineno"> 2512</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 38);</div>
+<div class="line"><a id="l02513" name="l02513"></a><span class="lineno"> 2513</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 30);</div>
+<div class="line"><a id="l02514" name="l02514"></a><span class="lineno"> 2514</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 22);</div>
+<div class="line"><a id="l02515" name="l02515"></a><span class="lineno"> 2515</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 14);</div>
+<div class="line"><a id="l02516" name="l02516"></a><span class="lineno"> 2516</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 6);</div>
+<div class="line"><a id="l02517" name="l02517"></a><span class="lineno"> 2517</span> </div>
+<div class="line"><a id="l02518" name="l02518"></a><span class="lineno"> 2518</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l02519" name="l02519"></a><span class="lineno"> 2519</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 52);</div>
+<div class="line"><a id="l02520" name="l02520"></a><span class="lineno"> 2520</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 44);</div>
+<div class="line"><a id="l02521" name="l02521"></a><span class="lineno"> 2521</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 36);</div>
+<div class="line"><a id="l02522" name="l02522"></a><span class="lineno"> 2522</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l02523" name="l02523"></a><span class="lineno"> 2523</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l02524" name="l02524"></a><span class="lineno"> 2524</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l02525" name="l02525"></a><span class="lineno"> 2525</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l02526" name="l02526"></a><span class="lineno"> 2526</span> </div>
+<div class="line"><a id="l02527" name="l02527"></a><span class="lineno"> 2527</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l02528" name="l02528"></a><span class="lineno"> 2528</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 50);</div>
+<div class="line"><a id="l02529" name="l02529"></a><span class="lineno"> 2529</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 42);</div>
+<div class="line"><a id="l02530" name="l02530"></a><span class="lineno"> 2530</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 34);</div>
+<div class="line"><a id="l02531" name="l02531"></a><span class="lineno"> 2531</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 26);</div>
+<div class="line"><a id="l02532" name="l02532"></a><span class="lineno"> 2532</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 18);</div>
+<div class="line"><a id="l02533" name="l02533"></a><span class="lineno"> 2533</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 10);</div>
+<div class="line"><a id="l02534" name="l02534"></a><span class="lineno"> 2534</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l02535" name="l02535"></a><span class="lineno"> 2535</span> </div>
+<div class="line"><a id="l02536" name="l02536"></a><span class="lineno"> 2536</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l02537" name="l02537"></a><span class="lineno"> 2537</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02538" name="l02538"></a><span class="lineno"> 2538</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02539" name="l02539"></a><span class="lineno"> 2539</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02540" name="l02540"></a><span class="lineno"> 2540</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02541" name="l02541"></a><span class="lineno"> 2541</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02542" name="l02542"></a><span class="lineno"> 2542</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02543" name="l02543"></a><span class="lineno"> 2543</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02544" name="l02544"></a><span class="lineno"> 2544</span>}</div>
+<div class="line"><a id="l02545" name="l02545"></a><span class="lineno"> 2545</span> </div>
+<div class="line"><a id="l02546" name="l02546"></a><span class="lineno"> 2546</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_55(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02547" name="l02547"></a><span class="lineno"> 2547</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 47);</div>
+<div class="line"><a id="l02548" name="l02548"></a><span class="lineno"> 2548</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 39);</div>
+<div class="line"><a id="l02549" name="l02549"></a><span class="lineno"> 2549</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 31);</div>
+<div class="line"><a id="l02550" name="l02550"></a><span class="lineno"> 2550</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 23);</div>
+<div class="line"><a id="l02551" name="l02551"></a><span class="lineno"> 2551</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 15);</div>
+<div class="line"><a id="l02552" name="l02552"></a><span class="lineno"> 2552</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 7);</div>
+<div class="line"><a id="l02553" name="l02553"></a><span class="lineno"> 2553</span> </div>
+<div class="line"><a id="l02554" name="l02554"></a><span class="lineno"> 2554</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l02555" name="l02555"></a><span class="lineno"> 2555</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 54);</div>
+<div class="line"><a id="l02556" name="l02556"></a><span class="lineno"> 2556</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 46);</div>
+<div class="line"><a id="l02557" name="l02557"></a><span class="lineno"> 2557</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 38);</div>
+<div class="line"><a id="l02558" name="l02558"></a><span class="lineno"> 2558</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l02559" name="l02559"></a><span class="lineno"> 2559</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l02560" name="l02560"></a><span class="lineno"> 2560</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l02561" name="l02561"></a><span class="lineno"> 2561</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l02562" name="l02562"></a><span class="lineno"> 2562</span> </div>
+<div class="line"><a id="l02563" name="l02563"></a><span class="lineno"> 2563</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l02564" name="l02564"></a><span class="lineno"> 2564</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 53);</div>
+<div class="line"><a id="l02565" name="l02565"></a><span class="lineno"> 2565</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 45);</div>
+<div class="line"><a id="l02566" name="l02566"></a><span class="lineno"> 2566</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 37);</div>
+<div class="line"><a id="l02567" name="l02567"></a><span class="lineno"> 2567</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 29);</div>
+<div class="line"><a id="l02568" name="l02568"></a><span class="lineno"> 2568</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 21);</div>
+<div class="line"><a id="l02569" name="l02569"></a><span class="lineno"> 2569</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 13);</div>
+<div class="line"><a id="l02570" name="l02570"></a><span class="lineno"> 2570</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l02571" name="l02571"></a><span class="lineno"> 2571</span> </div>
+<div class="line"><a id="l02572" name="l02572"></a><span class="lineno"> 2572</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l02573" name="l02573"></a><span class="lineno"> 2573</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 52);</div>
+<div class="line"><a id="l02574" name="l02574"></a><span class="lineno"> 2574</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l02575" name="l02575"></a><span class="lineno"> 2575</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l02576" name="l02576"></a><span class="lineno"> 2576</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l02577" name="l02577"></a><span class="lineno"> 2577</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l02578" name="l02578"></a><span class="lineno"> 2578</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l02579" name="l02579"></a><span class="lineno"> 2579</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l02580" name="l02580"></a><span class="lineno"> 2580</span> </div>
+<div class="line"><a id="l02581" name="l02581"></a><span class="lineno"> 2581</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l02582" name="l02582"></a><span class="lineno"> 2582</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 51);</div>
+<div class="line"><a id="l02583" name="l02583"></a><span class="lineno"> 2583</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 43);</div>
+<div class="line"><a id="l02584" name="l02584"></a><span class="lineno"> 2584</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 35);</div>
+<div class="line"><a id="l02585" name="l02585"></a><span class="lineno"> 2585</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 27);</div>
+<div class="line"><a id="l02586" name="l02586"></a><span class="lineno"> 2586</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 19);</div>
+<div class="line"><a id="l02587" name="l02587"></a><span class="lineno"> 2587</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 11);</div>
+<div class="line"><a id="l02588" name="l02588"></a><span class="lineno"> 2588</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l02589" name="l02589"></a><span class="lineno"> 2589</span> </div>
+<div class="line"><a id="l02590" name="l02590"></a><span class="lineno"> 2590</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l02591" name="l02591"></a><span class="lineno"> 2591</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 50);</div>
+<div class="line"><a id="l02592" name="l02592"></a><span class="lineno"> 2592</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 42);</div>
+<div class="line"><a id="l02593" name="l02593"></a><span class="lineno"> 2593</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l02594" name="l02594"></a><span class="lineno"> 2594</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l02595" name="l02595"></a><span class="lineno"> 2595</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l02596" name="l02596"></a><span class="lineno"> 2596</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l02597" name="l02597"></a><span class="lineno"> 2597</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l02598" name="l02598"></a><span class="lineno"> 2598</span> </div>
+<div class="line"><a id="l02599" name="l02599"></a><span class="lineno"> 2599</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l02600" name="l02600"></a><span class="lineno"> 2600</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 49);</div>
+<div class="line"><a id="l02601" name="l02601"></a><span class="lineno"> 2601</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 41);</div>
+<div class="line"><a id="l02602" name="l02602"></a><span class="lineno"> 2602</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 33);</div>
+<div class="line"><a id="l02603" name="l02603"></a><span class="lineno"> 2603</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 25);</div>
+<div class="line"><a id="l02604" name="l02604"></a><span class="lineno"> 2604</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 17);</div>
+<div class="line"><a id="l02605" name="l02605"></a><span class="lineno"> 2605</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 9);</div>
+<div class="line"><a id="l02606" name="l02606"></a><span class="lineno"> 2606</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l02607" name="l02607"></a><span class="lineno"> 2607</span> </div>
+<div class="line"><a id="l02608" name="l02608"></a><span class="lineno"> 2608</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l02609" name="l02609"></a><span class="lineno"> 2609</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02610" name="l02610"></a><span class="lineno"> 2610</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02611" name="l02611"></a><span class="lineno"> 2611</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02612" name="l02612"></a><span class="lineno"> 2612</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02613" name="l02613"></a><span class="lineno"> 2613</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02614" name="l02614"></a><span class="lineno"> 2614</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02615" name="l02615"></a><span class="lineno"> 2615</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02616" name="l02616"></a><span class="lineno"> 2616</span>}</div>
+<div class="line"><a id="l02617" name="l02617"></a><span class="lineno"> 2617</span> </div>
+<div class="line"><a id="l02618" name="l02618"></a><span class="lineno"> 2618</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_56(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02619" name="l02619"></a><span class="lineno"> 2619</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 48);</div>
+<div class="line"><a id="l02620" name="l02620"></a><span class="lineno"> 2620</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 40);</div>
+<div class="line"><a id="l02621" name="l02621"></a><span class="lineno"> 2621</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 32);</div>
+<div class="line"><a id="l02622" name="l02622"></a><span class="lineno"> 2622</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 24);</div>
+<div class="line"><a id="l02623" name="l02623"></a><span class="lineno"> 2623</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 16);</div>
+<div class="line"><a id="l02624" name="l02624"></a><span class="lineno"> 2624</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 8);</div>
+<div class="line"><a id="l02625" name="l02625"></a><span class="lineno"> 2625</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0]);</div>
+<div class="line"><a id="l02626" name="l02626"></a><span class="lineno"> 2626</span> </div>
+<div class="line"><a id="l02627" name="l02627"></a><span class="lineno"> 2627</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 48);</div>
+<div class="line"><a id="l02628" name="l02628"></a><span class="lineno"> 2628</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 40);</div>
+<div class="line"><a id="l02629" name="l02629"></a><span class="lineno"> 2629</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 32);</div>
+<div class="line"><a id="l02630" name="l02630"></a><span class="lineno"> 2630</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l02631" name="l02631"></a><span class="lineno"> 2631</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l02632" name="l02632"></a><span class="lineno"> 2632</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l02633" name="l02633"></a><span class="lineno"> 2633</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l02634" name="l02634"></a><span class="lineno"> 2634</span> </div>
+<div class="line"><a id="l02635" name="l02635"></a><span class="lineno"> 2635</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 48);</div>
+<div class="line"><a id="l02636" name="l02636"></a><span class="lineno"> 2636</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 40);</div>
+<div class="line"><a id="l02637" name="l02637"></a><span class="lineno"> 2637</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 32);</div>
+<div class="line"><a id="l02638" name="l02638"></a><span class="lineno"> 2638</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 24);</div>
+<div class="line"><a id="l02639" name="l02639"></a><span class="lineno"> 2639</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 16);</div>
+<div class="line"><a id="l02640" name="l02640"></a><span class="lineno"> 2640</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 8);</div>
+<div class="line"><a id="l02641" name="l02641"></a><span class="lineno"> 2641</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2]);</div>
+<div class="line"><a id="l02642" name="l02642"></a><span class="lineno"> 2642</span> </div>
+<div class="line"><a id="l02643" name="l02643"></a><span class="lineno"> 2643</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 48);</div>
+<div class="line"><a id="l02644" name="l02644"></a><span class="lineno"> 2644</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l02645" name="l02645"></a><span class="lineno"> 2645</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l02646" name="l02646"></a><span class="lineno"> 2646</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l02647" name="l02647"></a><span class="lineno"> 2647</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l02648" name="l02648"></a><span class="lineno"> 2648</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l02649" name="l02649"></a><span class="lineno"> 2649</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l02650" name="l02650"></a><span class="lineno"> 2650</span> </div>
+<div class="line"><a id="l02651" name="l02651"></a><span class="lineno"> 2651</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 48);</div>
+<div class="line"><a id="l02652" name="l02652"></a><span class="lineno"> 2652</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 40);</div>
+<div class="line"><a id="l02653" name="l02653"></a><span class="lineno"> 2653</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 32);</div>
+<div class="line"><a id="l02654" name="l02654"></a><span class="lineno"> 2654</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 24);</div>
+<div class="line"><a id="l02655" name="l02655"></a><span class="lineno"> 2655</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 16);</div>
+<div class="line"><a id="l02656" name="l02656"></a><span class="lineno"> 2656</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 8);</div>
+<div class="line"><a id="l02657" name="l02657"></a><span class="lineno"> 2657</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4]);</div>
+<div class="line"><a id="l02658" name="l02658"></a><span class="lineno"> 2658</span> </div>
+<div class="line"><a id="l02659" name="l02659"></a><span class="lineno"> 2659</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 48);</div>
+<div class="line"><a id="l02660" name="l02660"></a><span class="lineno"> 2660</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 40);</div>
+<div class="line"><a id="l02661" name="l02661"></a><span class="lineno"> 2661</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 32);</div>
+<div class="line"><a id="l02662" name="l02662"></a><span class="lineno"> 2662</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l02663" name="l02663"></a><span class="lineno"> 2663</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l02664" name="l02664"></a><span class="lineno"> 2664</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l02665" name="l02665"></a><span class="lineno"> 2665</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l02666" name="l02666"></a><span class="lineno"> 2666</span> </div>
+<div class="line"><a id="l02667" name="l02667"></a><span class="lineno"> 2667</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 48);</div>
+<div class="line"><a id="l02668" name="l02668"></a><span class="lineno"> 2668</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 40);</div>
+<div class="line"><a id="l02669" name="l02669"></a><span class="lineno"> 2669</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 32);</div>
+<div class="line"><a id="l02670" name="l02670"></a><span class="lineno"> 2670</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 24);</div>
+<div class="line"><a id="l02671" name="l02671"></a><span class="lineno"> 2671</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 16);</div>
+<div class="line"><a id="l02672" name="l02672"></a><span class="lineno"> 2672</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 8);</div>
+<div class="line"><a id="l02673" name="l02673"></a><span class="lineno"> 2673</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6]);</div>
+<div class="line"><a id="l02674" name="l02674"></a><span class="lineno"> 2674</span> </div>
+<div class="line"><a id="l02675" name="l02675"></a><span class="lineno"> 2675</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02676" name="l02676"></a><span class="lineno"> 2676</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02677" name="l02677"></a><span class="lineno"> 2677</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02678" name="l02678"></a><span class="lineno"> 2678</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02679" name="l02679"></a><span class="lineno"> 2679</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02680" name="l02680"></a><span class="lineno"> 2680</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02681" name="l02681"></a><span class="lineno"> 2681</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02682" name="l02682"></a><span class="lineno"> 2682</span>}</div>
+<div class="line"><a id="l02683" name="l02683"></a><span class="lineno"> 2683</span> </div>
+<div class="line"><a id="l02684" name="l02684"></a><span class="lineno"> 2684</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_57(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02685" name="l02685"></a><span class="lineno"> 2685</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 49);</div>
+<div class="line"><a id="l02686" name="l02686"></a><span class="lineno"> 2686</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 41);</div>
+<div class="line"><a id="l02687" name="l02687"></a><span class="lineno"> 2687</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 33);</div>
+<div class="line"><a id="l02688" name="l02688"></a><span class="lineno"> 2688</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 25);</div>
+<div class="line"><a id="l02689" name="l02689"></a><span class="lineno"> 2689</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 17);</div>
+<div class="line"><a id="l02690" name="l02690"></a><span class="lineno"> 2690</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 9);</div>
+<div class="line"><a id="l02691" name="l02691"></a><span class="lineno"> 2691</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 1);</div>
+<div class="line"><a id="l02692" name="l02692"></a><span class="lineno"> 2692</span> </div>
+<div class="line"><a id="l02693" name="l02693"></a><span class="lineno"> 2693</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 7);</div>
+<div class="line"><a id="l02694" name="l02694"></a><span class="lineno"> 2694</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 50);</div>
+<div class="line"><a id="l02695" name="l02695"></a><span class="lineno"> 2695</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 42);</div>
+<div class="line"><a id="l02696" name="l02696"></a><span class="lineno"> 2696</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 34);</div>
+<div class="line"><a id="l02697" name="l02697"></a><span class="lineno"> 2697</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l02698" name="l02698"></a><span class="lineno"> 2698</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l02699" name="l02699"></a><span class="lineno"> 2699</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l02700" name="l02700"></a><span class="lineno"> 2700</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l02701" name="l02701"></a><span class="lineno"> 2701</span> </div>
+<div class="line"><a id="l02702" name="l02702"></a><span class="lineno"> 2702</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l02703" name="l02703"></a><span class="lineno"> 2703</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 51);</div>
+<div class="line"><a id="l02704" name="l02704"></a><span class="lineno"> 2704</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 43);</div>
+<div class="line"><a id="l02705" name="l02705"></a><span class="lineno"> 2705</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 35);</div>
+<div class="line"><a id="l02706" name="l02706"></a><span class="lineno"> 2706</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 27);</div>
+<div class="line"><a id="l02707" name="l02707"></a><span class="lineno"> 2707</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 19);</div>
+<div class="line"><a id="l02708" name="l02708"></a><span class="lineno"> 2708</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 11);</div>
+<div class="line"><a id="l02709" name="l02709"></a><span class="lineno"> 2709</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 3);</div>
+<div class="line"><a id="l02710" name="l02710"></a><span class="lineno"> 2710</span> </div>
+<div class="line"><a id="l02711" name="l02711"></a><span class="lineno"> 2711</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 5);</div>
+<div class="line"><a id="l02712" name="l02712"></a><span class="lineno"> 2712</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 52);</div>
+<div class="line"><a id="l02713" name="l02713"></a><span class="lineno"> 2713</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l02714" name="l02714"></a><span class="lineno"> 2714</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l02715" name="l02715"></a><span class="lineno"> 2715</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l02716" name="l02716"></a><span class="lineno"> 2716</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l02717" name="l02717"></a><span class="lineno"> 2717</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l02718" name="l02718"></a><span class="lineno"> 2718</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l02719" name="l02719"></a><span class="lineno"> 2719</span> </div>
+<div class="line"><a id="l02720" name="l02720"></a><span class="lineno"> 2720</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l02721" name="l02721"></a><span class="lineno"> 2721</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 53);</div>
+<div class="line"><a id="l02722" name="l02722"></a><span class="lineno"> 2722</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 45);</div>
+<div class="line"><a id="l02723" name="l02723"></a><span class="lineno"> 2723</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 37);</div>
+<div class="line"><a id="l02724" name="l02724"></a><span class="lineno"> 2724</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 29);</div>
+<div class="line"><a id="l02725" name="l02725"></a><span class="lineno"> 2725</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 21);</div>
+<div class="line"><a id="l02726" name="l02726"></a><span class="lineno"> 2726</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 13);</div>
+<div class="line"><a id="l02727" name="l02727"></a><span class="lineno"> 2727</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 5);</div>
+<div class="line"><a id="l02728" name="l02728"></a><span class="lineno"> 2728</span> </div>
+<div class="line"><a id="l02729" name="l02729"></a><span class="lineno"> 2729</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 3);</div>
+<div class="line"><a id="l02730" name="l02730"></a><span class="lineno"> 2730</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 54);</div>
+<div class="line"><a id="l02731" name="l02731"></a><span class="lineno"> 2731</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 46);</div>
+<div class="line"><a id="l02732" name="l02732"></a><span class="lineno"> 2732</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 38);</div>
+<div class="line"><a id="l02733" name="l02733"></a><span class="lineno"> 2733</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l02734" name="l02734"></a><span class="lineno"> 2734</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l02735" name="l02735"></a><span class="lineno"> 2735</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l02736" name="l02736"></a><span class="lineno"> 2736</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l02737" name="l02737"></a><span class="lineno"> 2737</span> </div>
+<div class="line"><a id="l02738" name="l02738"></a><span class="lineno"> 2738</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l02739" name="l02739"></a><span class="lineno"> 2739</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 55);</div>
+<div class="line"><a id="l02740" name="l02740"></a><span class="lineno"> 2740</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 47);</div>
+<div class="line"><a id="l02741" name="l02741"></a><span class="lineno"> 2741</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 39);</div>
+<div class="line"><a id="l02742" name="l02742"></a><span class="lineno"> 2742</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 31);</div>
+<div class="line"><a id="l02743" name="l02743"></a><span class="lineno"> 2743</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 23);</div>
+<div class="line"><a id="l02744" name="l02744"></a><span class="lineno"> 2744</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 15);</div>
+<div class="line"><a id="l02745" name="l02745"></a><span class="lineno"> 2745</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 7);</div>
+<div class="line"><a id="l02746" name="l02746"></a><span class="lineno"> 2746</span> </div>
+<div class="line"><a id="l02747" name="l02747"></a><span class="lineno"> 2747</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 1);</div>
+<div class="line"><a id="l02748" name="l02748"></a><span class="lineno"> 2748</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 56);</div>
+<div class="line"><a id="l02749" name="l02749"></a><span class="lineno"> 2749</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02750" name="l02750"></a><span class="lineno"> 2750</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02751" name="l02751"></a><span class="lineno"> 2751</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02752" name="l02752"></a><span class="lineno"> 2752</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02753" name="l02753"></a><span class="lineno"> 2753</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02754" name="l02754"></a><span class="lineno"> 2754</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02755" name="l02755"></a><span class="lineno"> 2755</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02756" name="l02756"></a><span class="lineno"> 2756</span>}</div>
+<div class="line"><a id="l02757" name="l02757"></a><span class="lineno"> 2757</span> </div>
+<div class="line"><a id="l02758" name="l02758"></a><span class="lineno"> 2758</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_58(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02759" name="l02759"></a><span class="lineno"> 2759</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 50);</div>
+<div class="line"><a id="l02760" name="l02760"></a><span class="lineno"> 2760</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 42);</div>
+<div class="line"><a id="l02761" name="l02761"></a><span class="lineno"> 2761</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 34);</div>
+<div class="line"><a id="l02762" name="l02762"></a><span class="lineno"> 2762</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 26);</div>
+<div class="line"><a id="l02763" name="l02763"></a><span class="lineno"> 2763</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 18);</div>
+<div class="line"><a id="l02764" name="l02764"></a><span class="lineno"> 2764</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 10);</div>
+<div class="line"><a id="l02765" name="l02765"></a><span class="lineno"> 2765</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 2);</div>
+<div class="line"><a id="l02766" name="l02766"></a><span class="lineno"> 2766</span> </div>
+<div class="line"><a id="l02767" name="l02767"></a><span class="lineno"> 2767</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 6);</div>
+<div class="line"><a id="l02768" name="l02768"></a><span class="lineno"> 2768</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 52);</div>
+<div class="line"><a id="l02769" name="l02769"></a><span class="lineno"> 2769</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 44);</div>
+<div class="line"><a id="l02770" name="l02770"></a><span class="lineno"> 2770</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 36);</div>
+<div class="line"><a id="l02771" name="l02771"></a><span class="lineno"> 2771</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l02772" name="l02772"></a><span class="lineno"> 2772</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l02773" name="l02773"></a><span class="lineno"> 2773</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l02774" name="l02774"></a><span class="lineno"> 2774</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l02775" name="l02775"></a><span class="lineno"> 2775</span> </div>
+<div class="line"><a id="l02776" name="l02776"></a><span class="lineno"> 2776</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l02777" name="l02777"></a><span class="lineno"> 2777</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 54);</div>
+<div class="line"><a id="l02778" name="l02778"></a><span class="lineno"> 2778</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 46);</div>
+<div class="line"><a id="l02779" name="l02779"></a><span class="lineno"> 2779</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 38);</div>
+<div class="line"><a id="l02780" name="l02780"></a><span class="lineno"> 2780</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 30);</div>
+<div class="line"><a id="l02781" name="l02781"></a><span class="lineno"> 2781</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 22);</div>
+<div class="line"><a id="l02782" name="l02782"></a><span class="lineno"> 2782</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 14);</div>
+<div class="line"><a id="l02783" name="l02783"></a><span class="lineno"> 2783</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 6);</div>
+<div class="line"><a id="l02784" name="l02784"></a><span class="lineno"> 2784</span> </div>
+<div class="line"><a id="l02785" name="l02785"></a><span class="lineno"> 2785</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 2);</div>
+<div class="line"><a id="l02786" name="l02786"></a><span class="lineno"> 2786</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 56);</div>
+<div class="line"><a id="l02787" name="l02787"></a><span class="lineno"> 2787</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 48);</div>
+<div class="line"><a id="l02788" name="l02788"></a><span class="lineno"> 2788</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l02789" name="l02789"></a><span class="lineno"> 2789</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l02790" name="l02790"></a><span class="lineno"> 2790</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l02791" name="l02791"></a><span class="lineno"> 2791</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l02792" name="l02792"></a><span class="lineno"> 2792</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l02793" name="l02793"></a><span class="lineno"> 2793</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l02794" name="l02794"></a><span class="lineno"> 2794</span> </div>
+<div class="line"><a id="l02795" name="l02795"></a><span class="lineno"> 2795</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 50);</div>
+<div class="line"><a id="l02796" name="l02796"></a><span class="lineno"> 2796</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 42);</div>
+<div class="line"><a id="l02797" name="l02797"></a><span class="lineno"> 2797</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 34);</div>
+<div class="line"><a id="l02798" name="l02798"></a><span class="lineno"> 2798</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 26);</div>
+<div class="line"><a id="l02799" name="l02799"></a><span class="lineno"> 2799</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 18);</div>
+<div class="line"><a id="l02800" name="l02800"></a><span class="lineno"> 2800</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 10);</div>
+<div class="line"><a id="l02801" name="l02801"></a><span class="lineno"> 2801</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 2);</div>
+<div class="line"><a id="l02802" name="l02802"></a><span class="lineno"> 2802</span> </div>
+<div class="line"><a id="l02803" name="l02803"></a><span class="lineno"> 2803</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 6);</div>
+<div class="line"><a id="l02804" name="l02804"></a><span class="lineno"> 2804</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 52);</div>
+<div class="line"><a id="l02805" name="l02805"></a><span class="lineno"> 2805</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 44);</div>
+<div class="line"><a id="l02806" name="l02806"></a><span class="lineno"> 2806</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 36);</div>
+<div class="line"><a id="l02807" name="l02807"></a><span class="lineno"> 2807</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l02808" name="l02808"></a><span class="lineno"> 2808</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l02809" name="l02809"></a><span class="lineno"> 2809</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l02810" name="l02810"></a><span class="lineno"> 2810</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l02811" name="l02811"></a><span class="lineno"> 2811</span> </div>
+<div class="line"><a id="l02812" name="l02812"></a><span class="lineno"> 2812</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l02813" name="l02813"></a><span class="lineno"> 2813</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 54);</div>
+<div class="line"><a id="l02814" name="l02814"></a><span class="lineno"> 2814</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 46);</div>
+<div class="line"><a id="l02815" name="l02815"></a><span class="lineno"> 2815</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 38);</div>
+<div class="line"><a id="l02816" name="l02816"></a><span class="lineno"> 2816</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 30);</div>
+<div class="line"><a id="l02817" name="l02817"></a><span class="lineno"> 2817</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 22);</div>
+<div class="line"><a id="l02818" name="l02818"></a><span class="lineno"> 2818</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 14);</div>
+<div class="line"><a id="l02819" name="l02819"></a><span class="lineno"> 2819</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 6);</div>
+<div class="line"><a id="l02820" name="l02820"></a><span class="lineno"> 2820</span> </div>
+<div class="line"><a id="l02821" name="l02821"></a><span class="lineno"> 2821</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 2);</div>
+<div class="line"><a id="l02822" name="l02822"></a><span class="lineno"> 2822</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 56);</div>
+<div class="line"><a id="l02823" name="l02823"></a><span class="lineno"> 2823</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02824" name="l02824"></a><span class="lineno"> 2824</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02825" name="l02825"></a><span class="lineno"> 2825</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02826" name="l02826"></a><span class="lineno"> 2826</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02827" name="l02827"></a><span class="lineno"> 2827</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02828" name="l02828"></a><span class="lineno"> 2828</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02829" name="l02829"></a><span class="lineno"> 2829</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02830" name="l02830"></a><span class="lineno"> 2830</span>}</div>
+<div class="line"><a id="l02831" name="l02831"></a><span class="lineno"> 2831</span> </div>
+<div class="line"><a id="l02832" name="l02832"></a><span class="lineno"> 2832</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_59(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02833" name="l02833"></a><span class="lineno"> 2833</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 51);</div>
+<div class="line"><a id="l02834" name="l02834"></a><span class="lineno"> 2834</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 43);</div>
+<div class="line"><a id="l02835" name="l02835"></a><span class="lineno"> 2835</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 35);</div>
+<div class="line"><a id="l02836" name="l02836"></a><span class="lineno"> 2836</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 27);</div>
+<div class="line"><a id="l02837" name="l02837"></a><span class="lineno"> 2837</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 19);</div>
+<div class="line"><a id="l02838" name="l02838"></a><span class="lineno"> 2838</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 11);</div>
+<div class="line"><a id="l02839" name="l02839"></a><span class="lineno"> 2839</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 3);</div>
+<div class="line"><a id="l02840" name="l02840"></a><span class="lineno"> 2840</span> </div>
+<div class="line"><a id="l02841" name="l02841"></a><span class="lineno"> 2841</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 5);</div>
+<div class="line"><a id="l02842" name="l02842"></a><span class="lineno"> 2842</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 54);</div>
+<div class="line"><a id="l02843" name="l02843"></a><span class="lineno"> 2843</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 46);</div>
+<div class="line"><a id="l02844" name="l02844"></a><span class="lineno"> 2844</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 38);</div>
+<div class="line"><a id="l02845" name="l02845"></a><span class="lineno"> 2845</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l02846" name="l02846"></a><span class="lineno"> 2846</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l02847" name="l02847"></a><span class="lineno"> 2847</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l02848" name="l02848"></a><span class="lineno"> 2848</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l02849" name="l02849"></a><span class="lineno"> 2849</span> </div>
+<div class="line"><a id="l02850" name="l02850"></a><span class="lineno"> 2850</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l02851" name="l02851"></a><span class="lineno"> 2851</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 57);</div>
+<div class="line"><a id="l02852" name="l02852"></a><span class="lineno"> 2852</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 49);</div>
+<div class="line"><a id="l02853" name="l02853"></a><span class="lineno"> 2853</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 41);</div>
+<div class="line"><a id="l02854" name="l02854"></a><span class="lineno"> 2854</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 33);</div>
+<div class="line"><a id="l02855" name="l02855"></a><span class="lineno"> 2855</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 25);</div>
+<div class="line"><a id="l02856" name="l02856"></a><span class="lineno"> 2856</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 17);</div>
+<div class="line"><a id="l02857" name="l02857"></a><span class="lineno"> 2857</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 9);</div>
+<div class="line"><a id="l02858" name="l02858"></a><span class="lineno"> 2858</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 1);</div>
+<div class="line"><a id="l02859" name="l02859"></a><span class="lineno"> 2859</span> </div>
+<div class="line"><a id="l02860" name="l02860"></a><span class="lineno"> 2860</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 7);</div>
+<div class="line"><a id="l02861" name="l02861"></a><span class="lineno"> 2861</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 52);</div>
+<div class="line"><a id="l02862" name="l02862"></a><span class="lineno"> 2862</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l02863" name="l02863"></a><span class="lineno"> 2863</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l02864" name="l02864"></a><span class="lineno"> 2864</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l02865" name="l02865"></a><span class="lineno"> 2865</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l02866" name="l02866"></a><span class="lineno"> 2866</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l02867" name="l02867"></a><span class="lineno"> 2867</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l02868" name="l02868"></a><span class="lineno"> 2868</span> </div>
+<div class="line"><a id="l02869" name="l02869"></a><span class="lineno"> 2869</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l02870" name="l02870"></a><span class="lineno"> 2870</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 55);</div>
+<div class="line"><a id="l02871" name="l02871"></a><span class="lineno"> 2871</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 47);</div>
+<div class="line"><a id="l02872" name="l02872"></a><span class="lineno"> 2872</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 39);</div>
+<div class="line"><a id="l02873" name="l02873"></a><span class="lineno"> 2873</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 31);</div>
+<div class="line"><a id="l02874" name="l02874"></a><span class="lineno"> 2874</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 23);</div>
+<div class="line"><a id="l02875" name="l02875"></a><span class="lineno"> 2875</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 15);</div>
+<div class="line"><a id="l02876" name="l02876"></a><span class="lineno"> 2876</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 7);</div>
+<div class="line"><a id="l02877" name="l02877"></a><span class="lineno"> 2877</span> </div>
+<div class="line"><a id="l02878" name="l02878"></a><span class="lineno"> 2878</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 1);</div>
+<div class="line"><a id="l02879" name="l02879"></a><span class="lineno"> 2879</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 58);</div>
+<div class="line"><a id="l02880" name="l02880"></a><span class="lineno"> 2880</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 50);</div>
+<div class="line"><a id="l02881" name="l02881"></a><span class="lineno"> 2881</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 42);</div>
+<div class="line"><a id="l02882" name="l02882"></a><span class="lineno"> 2882</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l02883" name="l02883"></a><span class="lineno"> 2883</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l02884" name="l02884"></a><span class="lineno"> 2884</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l02885" name="l02885"></a><span class="lineno"> 2885</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l02886" name="l02886"></a><span class="lineno"> 2886</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l02887" name="l02887"></a><span class="lineno"> 2887</span> </div>
+<div class="line"><a id="l02888" name="l02888"></a><span class="lineno"> 2888</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l02889" name="l02889"></a><span class="lineno"> 2889</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 53);</div>
+<div class="line"><a id="l02890" name="l02890"></a><span class="lineno"> 2890</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 45);</div>
+<div class="line"><a id="l02891" name="l02891"></a><span class="lineno"> 2891</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 37);</div>
+<div class="line"><a id="l02892" name="l02892"></a><span class="lineno"> 2892</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 29);</div>
+<div class="line"><a id="l02893" name="l02893"></a><span class="lineno"> 2893</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 21);</div>
+<div class="line"><a id="l02894" name="l02894"></a><span class="lineno"> 2894</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 13);</div>
+<div class="line"><a id="l02895" name="l02895"></a><span class="lineno"> 2895</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 5);</div>
+<div class="line"><a id="l02896" name="l02896"></a><span class="lineno"> 2896</span> </div>
+<div class="line"><a id="l02897" name="l02897"></a><span class="lineno"> 2897</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 3);</div>
+<div class="line"><a id="l02898" name="l02898"></a><span class="lineno"> 2898</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 56);</div>
+<div class="line"><a id="l02899" name="l02899"></a><span class="lineno"> 2899</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02900" name="l02900"></a><span class="lineno"> 2900</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02901" name="l02901"></a><span class="lineno"> 2901</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02902" name="l02902"></a><span class="lineno"> 2902</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02903" name="l02903"></a><span class="lineno"> 2903</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02904" name="l02904"></a><span class="lineno"> 2904</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02905" name="l02905"></a><span class="lineno"> 2905</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02906" name="l02906"></a><span class="lineno"> 2906</span>}</div>
+<div class="line"><a id="l02907" name="l02907"></a><span class="lineno"> 2907</span> </div>
+<div class="line"><a id="l02908" name="l02908"></a><span class="lineno"> 2908</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_60(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02909" name="l02909"></a><span class="lineno"> 2909</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 52);</div>
+<div class="line"><a id="l02910" name="l02910"></a><span class="lineno"> 2910</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 44);</div>
+<div class="line"><a id="l02911" name="l02911"></a><span class="lineno"> 2911</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 36);</div>
+<div class="line"><a id="l02912" name="l02912"></a><span class="lineno"> 2912</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 28);</div>
+<div class="line"><a id="l02913" name="l02913"></a><span class="lineno"> 2913</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 20);</div>
+<div class="line"><a id="l02914" name="l02914"></a><span class="lineno"> 2914</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 12);</div>
+<div class="line"><a id="l02915" name="l02915"></a><span class="lineno"> 2915</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 4);</div>
+<div class="line"><a id="l02916" name="l02916"></a><span class="lineno"> 2916</span> </div>
+<div class="line"><a id="l02917" name="l02917"></a><span class="lineno"> 2917</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 4);</div>
+<div class="line"><a id="l02918" name="l02918"></a><span class="lineno"> 2918</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 56);</div>
+<div class="line"><a id="l02919" name="l02919"></a><span class="lineno"> 2919</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 48);</div>
+<div class="line"><a id="l02920" name="l02920"></a><span class="lineno"> 2920</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 40);</div>
+<div class="line"><a id="l02921" name="l02921"></a><span class="lineno"> 2921</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 32);</div>
+<div class="line"><a id="l02922" name="l02922"></a><span class="lineno"> 2922</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 24);</div>
+<div class="line"><a id="l02923" name="l02923"></a><span class="lineno"> 2923</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 16);</div>
+<div class="line"><a id="l02924" name="l02924"></a><span class="lineno"> 2924</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 8);</div>
+<div class="line"><a id="l02925" name="l02925"></a><span class="lineno"> 2925</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1]);</div>
+<div class="line"><a id="l02926" name="l02926"></a><span class="lineno"> 2926</span> </div>
+<div class="line"><a id="l02927" name="l02927"></a><span class="lineno"> 2927</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 52);</div>
+<div class="line"><a id="l02928" name="l02928"></a><span class="lineno"> 2928</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 44);</div>
+<div class="line"><a id="l02929" name="l02929"></a><span class="lineno"> 2929</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 36);</div>
+<div class="line"><a id="l02930" name="l02930"></a><span class="lineno"> 2930</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 28);</div>
+<div class="line"><a id="l02931" name="l02931"></a><span class="lineno"> 2931</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 20);</div>
+<div class="line"><a id="l02932" name="l02932"></a><span class="lineno"> 2932</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 12);</div>
+<div class="line"><a id="l02933" name="l02933"></a><span class="lineno"> 2933</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 4);</div>
+<div class="line"><a id="l02934" name="l02934"></a><span class="lineno"> 2934</span> </div>
+<div class="line"><a id="l02935" name="l02935"></a><span class="lineno"> 2935</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 4);</div>
+<div class="line"><a id="l02936" name="l02936"></a><span class="lineno"> 2936</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 56);</div>
+<div class="line"><a id="l02937" name="l02937"></a><span class="lineno"> 2937</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 48);</div>
+<div class="line"><a id="l02938" name="l02938"></a><span class="lineno"> 2938</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l02939" name="l02939"></a><span class="lineno"> 2939</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l02940" name="l02940"></a><span class="lineno"> 2940</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l02941" name="l02941"></a><span class="lineno"> 2941</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l02942" name="l02942"></a><span class="lineno"> 2942</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l02943" name="l02943"></a><span class="lineno"> 2943</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l02944" name="l02944"></a><span class="lineno"> 2944</span> </div>
+<div class="line"><a id="l02945" name="l02945"></a><span class="lineno"> 2945</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 52);</div>
+<div class="line"><a id="l02946" name="l02946"></a><span class="lineno"> 2946</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 44);</div>
+<div class="line"><a id="l02947" name="l02947"></a><span class="lineno"> 2947</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 36);</div>
+<div class="line"><a id="l02948" name="l02948"></a><span class="lineno"> 2948</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 28);</div>
+<div class="line"><a id="l02949" name="l02949"></a><span class="lineno"> 2949</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 20);</div>
+<div class="line"><a id="l02950" name="l02950"></a><span class="lineno"> 2950</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 12);</div>
+<div class="line"><a id="l02951" name="l02951"></a><span class="lineno"> 2951</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 4);</div>
+<div class="line"><a id="l02952" name="l02952"></a><span class="lineno"> 2952</span> </div>
+<div class="line"><a id="l02953" name="l02953"></a><span class="lineno"> 2953</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 4);</div>
+<div class="line"><a id="l02954" name="l02954"></a><span class="lineno"> 2954</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 56);</div>
+<div class="line"><a id="l02955" name="l02955"></a><span class="lineno"> 2955</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 48);</div>
+<div class="line"><a id="l02956" name="l02956"></a><span class="lineno"> 2956</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 40);</div>
+<div class="line"><a id="l02957" name="l02957"></a><span class="lineno"> 2957</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 32);</div>
+<div class="line"><a id="l02958" name="l02958"></a><span class="lineno"> 2958</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 24);</div>
+<div class="line"><a id="l02959" name="l02959"></a><span class="lineno"> 2959</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 16);</div>
+<div class="line"><a id="l02960" name="l02960"></a><span class="lineno"> 2960</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 8);</div>
+<div class="line"><a id="l02961" name="l02961"></a><span class="lineno"> 2961</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5]);</div>
+<div class="line"><a id="l02962" name="l02962"></a><span class="lineno"> 2962</span> </div>
+<div class="line"><a id="l02963" name="l02963"></a><span class="lineno"> 2963</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 52);</div>
+<div class="line"><a id="l02964" name="l02964"></a><span class="lineno"> 2964</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 44);</div>
+<div class="line"><a id="l02965" name="l02965"></a><span class="lineno"> 2965</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 36);</div>
+<div class="line"><a id="l02966" name="l02966"></a><span class="lineno"> 2966</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 28);</div>
+<div class="line"><a id="l02967" name="l02967"></a><span class="lineno"> 2967</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 20);</div>
+<div class="line"><a id="l02968" name="l02968"></a><span class="lineno"> 2968</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 12);</div>
+<div class="line"><a id="l02969" name="l02969"></a><span class="lineno"> 2969</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 4);</div>
+<div class="line"><a id="l02970" name="l02970"></a><span class="lineno"> 2970</span> </div>
+<div class="line"><a id="l02971" name="l02971"></a><span class="lineno"> 2971</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 4);</div>
+<div class="line"><a id="l02972" name="l02972"></a><span class="lineno"> 2972</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 56);</div>
+<div class="line"><a id="l02973" name="l02973"></a><span class="lineno"> 2973</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l02974" name="l02974"></a><span class="lineno"> 2974</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l02975" name="l02975"></a><span class="lineno"> 2975</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l02976" name="l02976"></a><span class="lineno"> 2976</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l02977" name="l02977"></a><span class="lineno"> 2977</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l02978" name="l02978"></a><span class="lineno"> 2978</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l02979" name="l02979"></a><span class="lineno"> 2979</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l02980" name="l02980"></a><span class="lineno"> 2980</span>}</div>
+<div class="line"><a id="l02981" name="l02981"></a><span class="lineno"> 2981</span> </div>
+<div class="line"><a id="l02982" name="l02982"></a><span class="lineno"> 2982</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_61(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l02983" name="l02983"></a><span class="lineno"> 2983</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 53);</div>
+<div class="line"><a id="l02984" name="l02984"></a><span class="lineno"> 2984</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 45);</div>
+<div class="line"><a id="l02985" name="l02985"></a><span class="lineno"> 2985</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 37);</div>
+<div class="line"><a id="l02986" name="l02986"></a><span class="lineno"> 2986</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 29);</div>
+<div class="line"><a id="l02987" name="l02987"></a><span class="lineno"> 2987</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 21);</div>
+<div class="line"><a id="l02988" name="l02988"></a><span class="lineno"> 2988</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 13);</div>
+<div class="line"><a id="l02989" name="l02989"></a><span class="lineno"> 2989</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 5);</div>
+<div class="line"><a id="l02990" name="l02990"></a><span class="lineno"> 2990</span> </div>
+<div class="line"><a id="l02991" name="l02991"></a><span class="lineno"> 2991</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 3);</div>
+<div class="line"><a id="l02992" name="l02992"></a><span class="lineno"> 2992</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 58);</div>
+<div class="line"><a id="l02993" name="l02993"></a><span class="lineno"> 2993</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 50);</div>
+<div class="line"><a id="l02994" name="l02994"></a><span class="lineno"> 2994</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 42);</div>
+<div class="line"><a id="l02995" name="l02995"></a><span class="lineno"> 2995</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 34);</div>
+<div class="line"><a id="l02996" name="l02996"></a><span class="lineno"> 2996</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 26);</div>
+<div class="line"><a id="l02997" name="l02997"></a><span class="lineno"> 2997</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 18);</div>
+<div class="line"><a id="l02998" name="l02998"></a><span class="lineno"> 2998</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 10);</div>
+<div class="line"><a id="l02999" name="l02999"></a><span class="lineno"> 2999</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 2);</div>
+<div class="line"><a id="l03000" name="l03000"></a><span class="lineno"> 3000</span> </div>
+<div class="line"><a id="l03001" name="l03001"></a><span class="lineno"> 3001</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 6);</div>
+<div class="line"><a id="l03002" name="l03002"></a><span class="lineno"> 3002</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 55);</div>
+<div class="line"><a id="l03003" name="l03003"></a><span class="lineno"> 3003</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 47);</div>
+<div class="line"><a id="l03004" name="l03004"></a><span class="lineno"> 3004</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 39);</div>
+<div class="line"><a id="l03005" name="l03005"></a><span class="lineno"> 3005</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 31);</div>
+<div class="line"><a id="l03006" name="l03006"></a><span class="lineno"> 3006</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 23);</div>
+<div class="line"><a id="l03007" name="l03007"></a><span class="lineno"> 3007</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 15);</div>
+<div class="line"><a id="l03008" name="l03008"></a><span class="lineno"> 3008</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 7);</div>
+<div class="line"><a id="l03009" name="l03009"></a><span class="lineno"> 3009</span> </div>
+<div class="line"><a id="l03010" name="l03010"></a><span class="lineno"> 3010</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 1);</div>
+<div class="line"><a id="l03011" name="l03011"></a><span class="lineno"> 3011</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 60);</div>
+<div class="line"><a id="l03012" name="l03012"></a><span class="lineno"> 3012</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 52);</div>
+<div class="line"><a id="l03013" name="l03013"></a><span class="lineno"> 3013</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l03014" name="l03014"></a><span class="lineno"> 3014</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l03015" name="l03015"></a><span class="lineno"> 3015</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l03016" name="l03016"></a><span class="lineno"> 3016</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l03017" name="l03017"></a><span class="lineno"> 3017</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l03018" name="l03018"></a><span class="lineno"> 3018</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l03019" name="l03019"></a><span class="lineno"> 3019</span> </div>
+<div class="line"><a id="l03020" name="l03020"></a><span class="lineno"> 3020</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l03021" name="l03021"></a><span class="lineno"> 3021</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 57);</div>
+<div class="line"><a id="l03022" name="l03022"></a><span class="lineno"> 3022</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 49);</div>
+<div class="line"><a id="l03023" name="l03023"></a><span class="lineno"> 3023</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 41);</div>
+<div class="line"><a id="l03024" name="l03024"></a><span class="lineno"> 3024</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 33);</div>
+<div class="line"><a id="l03025" name="l03025"></a><span class="lineno"> 3025</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 25);</div>
+<div class="line"><a id="l03026" name="l03026"></a><span class="lineno"> 3026</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 17);</div>
+<div class="line"><a id="l03027" name="l03027"></a><span class="lineno"> 3027</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 9);</div>
+<div class="line"><a id="l03028" name="l03028"></a><span class="lineno"> 3028</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 1);</div>
+<div class="line"><a id="l03029" name="l03029"></a><span class="lineno"> 3029</span> </div>
+<div class="line"><a id="l03030" name="l03030"></a><span class="lineno"> 3030</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 7);</div>
+<div class="line"><a id="l03031" name="l03031"></a><span class="lineno"> 3031</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 54);</div>
+<div class="line"><a id="l03032" name="l03032"></a><span class="lineno"> 3032</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 46);</div>
+<div class="line"><a id="l03033" name="l03033"></a><span class="lineno"> 3033</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 38);</div>
+<div class="line"><a id="l03034" name="l03034"></a><span class="lineno"> 3034</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 30);</div>
+<div class="line"><a id="l03035" name="l03035"></a><span class="lineno"> 3035</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 22);</div>
+<div class="line"><a id="l03036" name="l03036"></a><span class="lineno"> 3036</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 14);</div>
+<div class="line"><a id="l03037" name="l03037"></a><span class="lineno"> 3037</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 6);</div>
+<div class="line"><a id="l03038" name="l03038"></a><span class="lineno"> 3038</span> </div>
+<div class="line"><a id="l03039" name="l03039"></a><span class="lineno"> 3039</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 2);</div>
+<div class="line"><a id="l03040" name="l03040"></a><span class="lineno"> 3040</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 59);</div>
+<div class="line"><a id="l03041" name="l03041"></a><span class="lineno"> 3041</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 51);</div>
+<div class="line"><a id="l03042" name="l03042"></a><span class="lineno"> 3042</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 43);</div>
+<div class="line"><a id="l03043" name="l03043"></a><span class="lineno"> 3043</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 35);</div>
+<div class="line"><a id="l03044" name="l03044"></a><span class="lineno"> 3044</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 27);</div>
+<div class="line"><a id="l03045" name="l03045"></a><span class="lineno"> 3045</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 19);</div>
+<div class="line"><a id="l03046" name="l03046"></a><span class="lineno"> 3046</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 11);</div>
+<div class="line"><a id="l03047" name="l03047"></a><span class="lineno"> 3047</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 3);</div>
+<div class="line"><a id="l03048" name="l03048"></a><span class="lineno"> 3048</span> </div>
+<div class="line"><a id="l03049" name="l03049"></a><span class="lineno"> 3049</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 5);</div>
+<div class="line"><a id="l03050" name="l03050"></a><span class="lineno"> 3050</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 56);</div>
+<div class="line"><a id="l03051" name="l03051"></a><span class="lineno"> 3051</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l03052" name="l03052"></a><span class="lineno"> 3052</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l03053" name="l03053"></a><span class="lineno"> 3053</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l03054" name="l03054"></a><span class="lineno"> 3054</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l03055" name="l03055"></a><span class="lineno"> 3055</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l03056" name="l03056"></a><span class="lineno"> 3056</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l03057" name="l03057"></a><span class="lineno"> 3057</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l03058" name="l03058"></a><span class="lineno"> 3058</span>}</div>
+<div class="line"><a id="l03059" name="l03059"></a><span class="lineno"> 3059</span> </div>
+<div class="line"><a id="l03060" name="l03060"></a><span class="lineno"> 3060</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_62(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l03061" name="l03061"></a><span class="lineno"> 3061</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 54);</div>
+<div class="line"><a id="l03062" name="l03062"></a><span class="lineno"> 3062</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 46);</div>
+<div class="line"><a id="l03063" name="l03063"></a><span class="lineno"> 3063</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 38);</div>
+<div class="line"><a id="l03064" name="l03064"></a><span class="lineno"> 3064</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 30);</div>
+<div class="line"><a id="l03065" name="l03065"></a><span class="lineno"> 3065</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 22);</div>
+<div class="line"><a id="l03066" name="l03066"></a><span class="lineno"> 3066</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 14);</div>
+<div class="line"><a id="l03067" name="l03067"></a><span class="lineno"> 3067</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 6);</div>
+<div class="line"><a id="l03068" name="l03068"></a><span class="lineno"> 3068</span> </div>
+<div class="line"><a id="l03069" name="l03069"></a><span class="lineno"> 3069</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 2);</div>
+<div class="line"><a id="l03070" name="l03070"></a><span class="lineno"> 3070</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 60);</div>
+<div class="line"><a id="l03071" name="l03071"></a><span class="lineno"> 3071</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 52);</div>
+<div class="line"><a id="l03072" name="l03072"></a><span class="lineno"> 3072</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 44);</div>
+<div class="line"><a id="l03073" name="l03073"></a><span class="lineno"> 3073</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 36);</div>
+<div class="line"><a id="l03074" name="l03074"></a><span class="lineno"> 3074</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 28);</div>
+<div class="line"><a id="l03075" name="l03075"></a><span class="lineno"> 3075</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 20);</div>
+<div class="line"><a id="l03076" name="l03076"></a><span class="lineno"> 3076</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 12);</div>
+<div class="line"><a id="l03077" name="l03077"></a><span class="lineno"> 3077</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 4);</div>
+<div class="line"><a id="l03078" name="l03078"></a><span class="lineno"> 3078</span> </div>
+<div class="line"><a id="l03079" name="l03079"></a><span class="lineno"> 3079</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 4);</div>
+<div class="line"><a id="l03080" name="l03080"></a><span class="lineno"> 3080</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 58);</div>
+<div class="line"><a id="l03081" name="l03081"></a><span class="lineno"> 3081</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 50);</div>
+<div class="line"><a id="l03082" name="l03082"></a><span class="lineno"> 3082</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 42);</div>
+<div class="line"><a id="l03083" name="l03083"></a><span class="lineno"> 3083</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 34);</div>
+<div class="line"><a id="l03084" name="l03084"></a><span class="lineno"> 3084</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 26);</div>
+<div class="line"><a id="l03085" name="l03085"></a><span class="lineno"> 3085</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 18);</div>
+<div class="line"><a id="l03086" name="l03086"></a><span class="lineno"> 3086</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 10);</div>
+<div class="line"><a id="l03087" name="l03087"></a><span class="lineno"> 3087</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 2);</div>
+<div class="line"><a id="l03088" name="l03088"></a><span class="lineno"> 3088</span> </div>
+<div class="line"><a id="l03089" name="l03089"></a><span class="lineno"> 3089</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 6);</div>
+<div class="line"><a id="l03090" name="l03090"></a><span class="lineno"> 3090</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 56);</div>
+<div class="line"><a id="l03091" name="l03091"></a><span class="lineno"> 3091</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 48);</div>
+<div class="line"><a id="l03092" name="l03092"></a><span class="lineno"> 3092</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 40);</div>
+<div class="line"><a id="l03093" name="l03093"></a><span class="lineno"> 3093</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 32);</div>
+<div class="line"><a id="l03094" name="l03094"></a><span class="lineno"> 3094</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 24);</div>
+<div class="line"><a id="l03095" name="l03095"></a><span class="lineno"> 3095</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 16);</div>
+<div class="line"><a id="l03096" name="l03096"></a><span class="lineno"> 3096</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 8);</div>
+<div class="line"><a id="l03097" name="l03097"></a><span class="lineno"> 3097</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3]);</div>
+<div class="line"><a id="l03098" name="l03098"></a><span class="lineno"> 3098</span> </div>
+<div class="line"><a id="l03099" name="l03099"></a><span class="lineno"> 3099</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 54);</div>
+<div class="line"><a id="l03100" name="l03100"></a><span class="lineno"> 3100</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 46);</div>
+<div class="line"><a id="l03101" name="l03101"></a><span class="lineno"> 3101</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 38);</div>
+<div class="line"><a id="l03102" name="l03102"></a><span class="lineno"> 3102</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 30);</div>
+<div class="line"><a id="l03103" name="l03103"></a><span class="lineno"> 3103</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 22);</div>
+<div class="line"><a id="l03104" name="l03104"></a><span class="lineno"> 3104</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 14);</div>
+<div class="line"><a id="l03105" name="l03105"></a><span class="lineno"> 3105</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 6);</div>
+<div class="line"><a id="l03106" name="l03106"></a><span class="lineno"> 3106</span> </div>
+<div class="line"><a id="l03107" name="l03107"></a><span class="lineno"> 3107</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 2);</div>
+<div class="line"><a id="l03108" name="l03108"></a><span class="lineno"> 3108</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 60);</div>
+<div class="line"><a id="l03109" name="l03109"></a><span class="lineno"> 3109</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 52);</div>
+<div class="line"><a id="l03110" name="l03110"></a><span class="lineno"> 3110</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 44);</div>
+<div class="line"><a id="l03111" name="l03111"></a><span class="lineno"> 3111</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 36);</div>
+<div class="line"><a id="l03112" name="l03112"></a><span class="lineno"> 3112</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 28);</div>
+<div class="line"><a id="l03113" name="l03113"></a><span class="lineno"> 3113</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 20);</div>
+<div class="line"><a id="l03114" name="l03114"></a><span class="lineno"> 3114</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 12);</div>
+<div class="line"><a id="l03115" name="l03115"></a><span class="lineno"> 3115</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 4);</div>
+<div class="line"><a id="l03116" name="l03116"></a><span class="lineno"> 3116</span> </div>
+<div class="line"><a id="l03117" name="l03117"></a><span class="lineno"> 3117</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 4);</div>
+<div class="line"><a id="l03118" name="l03118"></a><span class="lineno"> 3118</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 58);</div>
+<div class="line"><a id="l03119" name="l03119"></a><span class="lineno"> 3119</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 50);</div>
+<div class="line"><a id="l03120" name="l03120"></a><span class="lineno"> 3120</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 42);</div>
+<div class="line"><a id="l03121" name="l03121"></a><span class="lineno"> 3121</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 34);</div>
+<div class="line"><a id="l03122" name="l03122"></a><span class="lineno"> 3122</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 26);</div>
+<div class="line"><a id="l03123" name="l03123"></a><span class="lineno"> 3123</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 18);</div>
+<div class="line"><a id="l03124" name="l03124"></a><span class="lineno"> 3124</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 10);</div>
+<div class="line"><a id="l03125" name="l03125"></a><span class="lineno"> 3125</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 2);</div>
+<div class="line"><a id="l03126" name="l03126"></a><span class="lineno"> 3126</span> </div>
+<div class="line"><a id="l03127" name="l03127"></a><span class="lineno"> 3127</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 6);</div>
+<div class="line"><a id="l03128" name="l03128"></a><span class="lineno"> 3128</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 56);</div>
+<div class="line"><a id="l03129" name="l03129"></a><span class="lineno"> 3129</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l03130" name="l03130"></a><span class="lineno"> 3130</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l03131" name="l03131"></a><span class="lineno"> 3131</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l03132" name="l03132"></a><span class="lineno"> 3132</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l03133" name="l03133"></a><span class="lineno"> 3133</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l03134" name="l03134"></a><span class="lineno"> 3134</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l03135" name="l03135"></a><span class="lineno"> 3135</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l03136" name="l03136"></a><span class="lineno"> 3136</span>}</div>
+<div class="line"><a id="l03137" name="l03137"></a><span class="lineno"> 3137</span> </div>
+<div class="line"><a id="l03138" name="l03138"></a><span class="lineno"> 3138</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_63(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr) {</div>
+<div class="line"><a id="l03139" name="l03139"></a><span class="lineno"> 3139</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 55);</div>
+<div class="line"><a id="l03140" name="l03140"></a><span class="lineno"> 3140</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 47);</div>
+<div class="line"><a id="l03141" name="l03141"></a><span class="lineno"> 3141</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 39);</div>
+<div class="line"><a id="l03142" name="l03142"></a><span class="lineno"> 3142</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 31);</div>
+<div class="line"><a id="l03143" name="l03143"></a><span class="lineno"> 3143</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 23);</div>
+<div class="line"><a id="l03144" name="l03144"></a><span class="lineno"> 3144</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 15);</div>
+<div class="line"><a id="l03145" name="l03145"></a><span class="lineno"> 3145</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] >> 7);</div>
+<div class="line"><a id="l03146" name="l03146"></a><span class="lineno"> 3146</span> </div>
+<div class="line"><a id="l03147" name="l03147"></a><span class="lineno"> 3147</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[0] << 1);</div>
+<div class="line"><a id="l03148" name="l03148"></a><span class="lineno"> 3148</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 62);</div>
+<div class="line"><a id="l03149" name="l03149"></a><span class="lineno"> 3149</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 54);</div>
+<div class="line"><a id="l03150" name="l03150"></a><span class="lineno"> 3150</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 46);</div>
+<div class="line"><a id="l03151" name="l03151"></a><span class="lineno"> 3151</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 38);</div>
+<div class="line"><a id="l03152" name="l03152"></a><span class="lineno"> 3152</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 30);</div>
+<div class="line"><a id="l03153" name="l03153"></a><span class="lineno"> 3153</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 22);</div>
+<div class="line"><a id="l03154" name="l03154"></a><span class="lineno"> 3154</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 14);</div>
+<div class="line"><a id="l03155" name="l03155"></a><span class="lineno"> 3155</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] >> 6);</div>
+<div class="line"><a id="l03156" name="l03156"></a><span class="lineno"> 3156</span> </div>
+<div class="line"><a id="l03157" name="l03157"></a><span class="lineno"> 3157</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[1] << 2);</div>
+<div class="line"><a id="l03158" name="l03158"></a><span class="lineno"> 3158</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 61);</div>
+<div class="line"><a id="l03159" name="l03159"></a><span class="lineno"> 3159</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 53);</div>
+<div class="line"><a id="l03160" name="l03160"></a><span class="lineno"> 3160</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 45);</div>
+<div class="line"><a id="l03161" name="l03161"></a><span class="lineno"> 3161</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 37);</div>
+<div class="line"><a id="l03162" name="l03162"></a><span class="lineno"> 3162</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 29);</div>
+<div class="line"><a id="l03163" name="l03163"></a><span class="lineno"> 3163</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 21);</div>
+<div class="line"><a id="l03164" name="l03164"></a><span class="lineno"> 3164</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 13);</div>
+<div class="line"><a id="l03165" name="l03165"></a><span class="lineno"> 3165</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] >> 5);</div>
+<div class="line"><a id="l03166" name="l03166"></a><span class="lineno"> 3166</span> </div>
+<div class="line"><a id="l03167" name="l03167"></a><span class="lineno"> 3167</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[2] << 3);</div>
+<div class="line"><a id="l03168" name="l03168"></a><span class="lineno"> 3168</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 60);</div>
+<div class="line"><a id="l03169" name="l03169"></a><span class="lineno"> 3169</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 52);</div>
+<div class="line"><a id="l03170" name="l03170"></a><span class="lineno"> 3170</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 44);</div>
+<div class="line"><a id="l03171" name="l03171"></a><span class="lineno"> 3171</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 36);</div>
+<div class="line"><a id="l03172" name="l03172"></a><span class="lineno"> 3172</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 28);</div>
+<div class="line"><a id="l03173" name="l03173"></a><span class="lineno"> 3173</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 20);</div>
+<div class="line"><a id="l03174" name="l03174"></a><span class="lineno"> 3174</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 12);</div>
+<div class="line"><a id="l03175" name="l03175"></a><span class="lineno"> 3175</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] >> 4);</div>
+<div class="line"><a id="l03176" name="l03176"></a><span class="lineno"> 3176</span> </div>
+<div class="line"><a id="l03177" name="l03177"></a><span class="lineno"> 3177</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[3] << 4);</div>
+<div class="line"><a id="l03178" name="l03178"></a><span class="lineno"> 3178</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 59);</div>
+<div class="line"><a id="l03179" name="l03179"></a><span class="lineno"> 3179</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 51);</div>
+<div class="line"><a id="l03180" name="l03180"></a><span class="lineno"> 3180</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 43);</div>
+<div class="line"><a id="l03181" name="l03181"></a><span class="lineno"> 3181</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 35);</div>
+<div class="line"><a id="l03182" name="l03182"></a><span class="lineno"> 3182</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 27);</div>
+<div class="line"><a id="l03183" name="l03183"></a><span class="lineno"> 3183</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 19);</div>
+<div class="line"><a id="l03184" name="l03184"></a><span class="lineno"> 3184</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 11);</div>
+<div class="line"><a id="l03185" name="l03185"></a><span class="lineno"> 3185</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] >> 3);</div>
+<div class="line"><a id="l03186" name="l03186"></a><span class="lineno"> 3186</span> </div>
+<div class="line"><a id="l03187" name="l03187"></a><span class="lineno"> 3187</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[4] << 5);</div>
+<div class="line"><a id="l03188" name="l03188"></a><span class="lineno"> 3188</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 58);</div>
+<div class="line"><a id="l03189" name="l03189"></a><span class="lineno"> 3189</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 50);</div>
+<div class="line"><a id="l03190" name="l03190"></a><span class="lineno"> 3190</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 42);</div>
+<div class="line"><a id="l03191" name="l03191"></a><span class="lineno"> 3191</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 34);</div>
+<div class="line"><a id="l03192" name="l03192"></a><span class="lineno"> 3192</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 26);</div>
+<div class="line"><a id="l03193" name="l03193"></a><span class="lineno"> 3193</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 18);</div>
+<div class="line"><a id="l03194" name="l03194"></a><span class="lineno"> 3194</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 10);</div>
+<div class="line"><a id="l03195" name="l03195"></a><span class="lineno"> 3195</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] >> 2);</div>
+<div class="line"><a id="l03196" name="l03196"></a><span class="lineno"> 3196</span> </div>
+<div class="line"><a id="l03197" name="l03197"></a><span class="lineno"> 3197</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[5] << 6);</div>
+<div class="line"><a id="l03198" name="l03198"></a><span class="lineno"> 3198</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 57);</div>
+<div class="line"><a id="l03199" name="l03199"></a><span class="lineno"> 3199</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 49);</div>
+<div class="line"><a id="l03200" name="l03200"></a><span class="lineno"> 3200</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 41);</div>
+<div class="line"><a id="l03201" name="l03201"></a><span class="lineno"> 3201</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 33);</div>
+<div class="line"><a id="l03202" name="l03202"></a><span class="lineno"> 3202</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 25);</div>
+<div class="line"><a id="l03203" name="l03203"></a><span class="lineno"> 3203</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 17);</div>
+<div class="line"><a id="l03204" name="l03204"></a><span class="lineno"> 3204</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 9);</div>
+<div class="line"><a id="l03205" name="l03205"></a><span class="lineno"> 3205</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] >> 1);</div>
+<div class="line"><a id="l03206" name="l03206"></a><span class="lineno"> 3206</span> </div>
+<div class="line"><a id="l03207" name="l03207"></a><span class="lineno"> 3207</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[6] << 7);</div>
+<div class="line"><a id="l03208" name="l03208"></a><span class="lineno"> 3208</span> *ptr++ |= <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 56);</div>
+<div class="line"><a id="l03209" name="l03209"></a><span class="lineno"> 3209</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 48);</div>
+<div class="line"><a id="l03210" name="l03210"></a><span class="lineno"> 3210</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 40);</div>
+<div class="line"><a id="l03211" name="l03211"></a><span class="lineno"> 3211</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 32);</div>
+<div class="line"><a id="l03212" name="l03212"></a><span class="lineno"> 3212</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 24);</div>
+<div class="line"><a id="l03213" name="l03213"></a><span class="lineno"> 3213</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 16);</div>
+<div class="line"><a id="l03214" name="l03214"></a><span class="lineno"> 3214</span> *ptr++ = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7] >> 8);</div>
+<div class="line"><a id="l03215" name="l03215"></a><span class="lineno"> 3215</span> *ptr = <span class="keyword">static_cast<</span>uint8_t<span class="keyword">></span>(values[7]);</div>
+<div class="line"><a id="l03216" name="l03216"></a><span class="lineno"> 3216</span>}</div>
+<div class="line"><a id="l03217" name="l03217"></a><span class="lineno"> 3217</span> </div>
+<div class="line"><a id="l03218" name="l03218"></a><span class="lineno"> 3218</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_1(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03219" name="l03219"></a><span class="lineno"> 3219</span> values[0] = *ptr >> 7;</div>
+<div class="line"><a id="l03220" name="l03220"></a><span class="lineno"> 3220</span> values[1] = (*ptr >> 6) & 1;</div>
+<div class="line"><a id="l03221" name="l03221"></a><span class="lineno"> 3221</span> values[2] = (*ptr >> 5) & 1;</div>
+<div class="line"><a id="l03222" name="l03222"></a><span class="lineno"> 3222</span> values[3] = (*ptr >> 4) & 1;</div>
+<div class="line"><a id="l03223" name="l03223"></a><span class="lineno"> 3223</span> values[4] = (*ptr >> 3) & 1;</div>
+<div class="line"><a id="l03224" name="l03224"></a><span class="lineno"> 3224</span> values[5] = (*ptr >> 2) & 1;</div>
+<div class="line"><a id="l03225" name="l03225"></a><span class="lineno"> 3225</span> values[6] = (*ptr >> 1) & 1;</div>
+<div class="line"><a id="l03226" name="l03226"></a><span class="lineno"> 3226</span> values[7] = *ptr & 1;</div>
+<div class="line"><a id="l03227" name="l03227"></a><span class="lineno"> 3227</span>}</div>
+<div class="line"><a id="l03228" name="l03228"></a><span class="lineno"> 3228</span> </div>
+<div class="line"><a id="l03229" name="l03229"></a><span class="lineno"> 3229</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_2(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03230" name="l03230"></a><span class="lineno"> 3230</span> values[0] = *ptr >> 6;</div>
+<div class="line"><a id="l03231" name="l03231"></a><span class="lineno"> 3231</span> values[1] = (*ptr >> 4) & 3;</div>
+<div class="line"><a id="l03232" name="l03232"></a><span class="lineno"> 3232</span> values[2] = (*ptr >> 2) & 3;</div>
+<div class="line"><a id="l03233" name="l03233"></a><span class="lineno"> 3233</span> values[3] = *ptr++ & 3;</div>
+<div class="line"><a id="l03234" name="l03234"></a><span class="lineno"> 3234</span> values[4] = *ptr >> 6;</div>
+<div class="line"><a id="l03235" name="l03235"></a><span class="lineno"> 3235</span> values[5] = (*ptr >> 4) & 3;</div>
+<div class="line"><a id="l03236" name="l03236"></a><span class="lineno"> 3236</span> values[6] = (*ptr >> 2) & 3;</div>
+<div class="line"><a id="l03237" name="l03237"></a><span class="lineno"> 3237</span> values[7] = *ptr & 3;</div>
+<div class="line"><a id="l03238" name="l03238"></a><span class="lineno"> 3238</span>}</div>
+<div class="line"><a id="l03239" name="l03239"></a><span class="lineno"> 3239</span> </div>
+<div class="line"><a id="l03240" name="l03240"></a><span class="lineno"> 3240</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_3(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03241" name="l03241"></a><span class="lineno"> 3241</span> values[0] = *ptr >> 5;</div>
+<div class="line"><a id="l03242" name="l03242"></a><span class="lineno"> 3242</span> values[1] = (*ptr >> 2) & 7;</div>
+<div class="line"><a id="l03243" name="l03243"></a><span class="lineno"> 3243</span> values[2] = (*ptr++ & 3) << 1;</div>
+<div class="line"><a id="l03244" name="l03244"></a><span class="lineno"> 3244</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l03245" name="l03245"></a><span class="lineno"> 3245</span> values[3] = (*ptr >> 4) & 7;</div>
+<div class="line"><a id="l03246" name="l03246"></a><span class="lineno"> 3246</span> values[4] = (*ptr >> 1) & 7;</div>
+<div class="line"><a id="l03247" name="l03247"></a><span class="lineno"> 3247</span> values[5] = (*ptr++ & 1) << 2;</div>
+<div class="line"><a id="l03248" name="l03248"></a><span class="lineno"> 3248</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l03249" name="l03249"></a><span class="lineno"> 3249</span> values[6] = (*ptr >> 3) & 7;</div>
+<div class="line"><a id="l03250" name="l03250"></a><span class="lineno"> 3250</span> values[7] = *ptr & 7;</div>
+<div class="line"><a id="l03251" name="l03251"></a><span class="lineno"> 3251</span>}</div>
+<div class="line"><a id="l03252" name="l03252"></a><span class="lineno"> 3252</span> </div>
+<div class="line"><a id="l03253" name="l03253"></a><span class="lineno"> 3253</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_4(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03254" name="l03254"></a><span class="lineno"> 3254</span> values[0] = *ptr >> 4;</div>
+<div class="line"><a id="l03255" name="l03255"></a><span class="lineno"> 3255</span> values[1] = *ptr++ & 0xf;</div>
+<div class="line"><a id="l03256" name="l03256"></a><span class="lineno"> 3256</span> values[2] = *ptr >> 4;</div>
+<div class="line"><a id="l03257" name="l03257"></a><span class="lineno"> 3257</span> values[3] = *ptr++ & 0xf;</div>
+<div class="line"><a id="l03258" name="l03258"></a><span class="lineno"> 3258</span> values[4] = *ptr >> 4;</div>
+<div class="line"><a id="l03259" name="l03259"></a><span class="lineno"> 3259</span> values[5] = *ptr++ & 0xf;</div>
+<div class="line"><a id="l03260" name="l03260"></a><span class="lineno"> 3260</span> values[6] = *ptr >> 4;</div>
+<div class="line"><a id="l03261" name="l03261"></a><span class="lineno"> 3261</span> values[7] = *ptr & 0xf;</div>
+<div class="line"><a id="l03262" name="l03262"></a><span class="lineno"> 3262</span>}</div>
+<div class="line"><a id="l03263" name="l03263"></a><span class="lineno"> 3263</span> </div>
+<div class="line"><a id="l03264" name="l03264"></a><span class="lineno"> 3264</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_5(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03265" name="l03265"></a><span class="lineno"> 3265</span> values[0] = *ptr >> 3;</div>
+<div class="line"><a id="l03266" name="l03266"></a><span class="lineno"> 3266</span> </div>
+<div class="line"><a id="l03267" name="l03267"></a><span class="lineno"> 3267</span> values[1] = (*ptr++ & 7) << 2;</div>
+<div class="line"><a id="l03268" name="l03268"></a><span class="lineno"> 3268</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l03269" name="l03269"></a><span class="lineno"> 3269</span> </div>
+<div class="line"><a id="l03270" name="l03270"></a><span class="lineno"> 3270</span> values[2] = (*ptr >> 1) & 0x1f;</div>
+<div class="line"><a id="l03271" name="l03271"></a><span class="lineno"> 3271</span> </div>
+<div class="line"><a id="l03272" name="l03272"></a><span class="lineno"> 3272</span> values[3] = (*ptr++ & 1) << 4;</div>
+<div class="line"><a id="l03273" name="l03273"></a><span class="lineno"> 3273</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03274" name="l03274"></a><span class="lineno"> 3274</span> </div>
+<div class="line"><a id="l03275" name="l03275"></a><span class="lineno"> 3275</span> values[4] = (*ptr++ & 0xf) << 1;</div>
+<div class="line"><a id="l03276" name="l03276"></a><span class="lineno"> 3276</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l03277" name="l03277"></a><span class="lineno"> 3277</span> </div>
+<div class="line"><a id="l03278" name="l03278"></a><span class="lineno"> 3278</span> values[5] = (*ptr >> 2) & 0x1f;</div>
+<div class="line"><a id="l03279" name="l03279"></a><span class="lineno"> 3279</span> </div>
+<div class="line"><a id="l03280" name="l03280"></a><span class="lineno"> 3280</span> values[6] = (*ptr++ & 3) << 3;</div>
+<div class="line"><a id="l03281" name="l03281"></a><span class="lineno"> 3281</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l03282" name="l03282"></a><span class="lineno"> 3282</span> </div>
+<div class="line"><a id="l03283" name="l03283"></a><span class="lineno"> 3283</span> values[7] = *ptr & 0x1f;</div>
+<div class="line"><a id="l03284" name="l03284"></a><span class="lineno"> 3284</span>}</div>
+<div class="line"><a id="l03285" name="l03285"></a><span class="lineno"> 3285</span> </div>
+<div class="line"><a id="l03286" name="l03286"></a><span class="lineno"> 3286</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_6(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03287" name="l03287"></a><span class="lineno"> 3287</span> values[0] = *ptr >> 2;</div>
+<div class="line"><a id="l03288" name="l03288"></a><span class="lineno"> 3288</span> </div>
+<div class="line"><a id="l03289" name="l03289"></a><span class="lineno"> 3289</span> values[1] = (*ptr++ & 3) << 4;</div>
+<div class="line"><a id="l03290" name="l03290"></a><span class="lineno"> 3290</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l03291" name="l03291"></a><span class="lineno"> 3291</span> </div>
+<div class="line"><a id="l03292" name="l03292"></a><span class="lineno"> 3292</span> values[2] = (*ptr++ & 0xf) << 2;</div>
+<div class="line"><a id="l03293" name="l03293"></a><span class="lineno"> 3293</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l03294" name="l03294"></a><span class="lineno"> 3294</span> </div>
+<div class="line"><a id="l03295" name="l03295"></a><span class="lineno"> 3295</span> values[3] = *ptr++ & 0x3f;</div>
+<div class="line"><a id="l03296" name="l03296"></a><span class="lineno"> 3296</span> </div>
+<div class="line"><a id="l03297" name="l03297"></a><span class="lineno"> 3297</span> values[4] = *ptr >> 2;</div>
+<div class="line"><a id="l03298" name="l03298"></a><span class="lineno"> 3298</span> </div>
+<div class="line"><a id="l03299" name="l03299"></a><span class="lineno"> 3299</span> values[5] = (*ptr++ & 3) << 4;</div>
+<div class="line"><a id="l03300" name="l03300"></a><span class="lineno"> 3300</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l03301" name="l03301"></a><span class="lineno"> 3301</span> </div>
+<div class="line"><a id="l03302" name="l03302"></a><span class="lineno"> 3302</span> values[6] = (*ptr++ & 0xf) << 2;</div>
+<div class="line"><a id="l03303" name="l03303"></a><span class="lineno"> 3303</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l03304" name="l03304"></a><span class="lineno"> 3304</span> </div>
+<div class="line"><a id="l03305" name="l03305"></a><span class="lineno"> 3305</span> values[7] = *ptr & 0x3f;</div>
+<div class="line"><a id="l03306" name="l03306"></a><span class="lineno"> 3306</span>}</div>
+<div class="line"><a id="l03307" name="l03307"></a><span class="lineno"> 3307</span> </div>
+<div class="line"><a id="l03308" name="l03308"></a><span class="lineno"> 3308</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_7(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03309" name="l03309"></a><span class="lineno"> 3309</span> values[0] = *ptr >> 1;</div>
+<div class="line"><a id="l03310" name="l03310"></a><span class="lineno"> 3310</span> </div>
+<div class="line"><a id="l03311" name="l03311"></a><span class="lineno"> 3311</span> values[1] = (*ptr++ & 1) << 6;</div>
+<div class="line"><a id="l03312" name="l03312"></a><span class="lineno"> 3312</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l03313" name="l03313"></a><span class="lineno"> 3313</span> </div>
+<div class="line"><a id="l03314" name="l03314"></a><span class="lineno"> 3314</span> values[2] = (*ptr++ & 3) << 5;</div>
+<div class="line"><a id="l03315" name="l03315"></a><span class="lineno"> 3315</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l03316" name="l03316"></a><span class="lineno"> 3316</span> </div>
+<div class="line"><a id="l03317" name="l03317"></a><span class="lineno"> 3317</span> values[3] = (*ptr++ & 7) << 4;</div>
+<div class="line"><a id="l03318" name="l03318"></a><span class="lineno"> 3318</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03319" name="l03319"></a><span class="lineno"> 3319</span> </div>
+<div class="line"><a id="l03320" name="l03320"></a><span class="lineno"> 3320</span> values[4] = (*ptr++ & 0xf) << 3;</div>
+<div class="line"><a id="l03321" name="l03321"></a><span class="lineno"> 3321</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l03322" name="l03322"></a><span class="lineno"> 3322</span> </div>
+<div class="line"><a id="l03323" name="l03323"></a><span class="lineno"> 3323</span> values[5] = (*ptr++ & 0x1f) << 2;</div>
+<div class="line"><a id="l03324" name="l03324"></a><span class="lineno"> 3324</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l03325" name="l03325"></a><span class="lineno"> 3325</span> </div>
+<div class="line"><a id="l03326" name="l03326"></a><span class="lineno"> 3326</span> values[6] = (*ptr++ & 0x3f) << 1;</div>
+<div class="line"><a id="l03327" name="l03327"></a><span class="lineno"> 3327</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l03328" name="l03328"></a><span class="lineno"> 3328</span> </div>
+<div class="line"><a id="l03329" name="l03329"></a><span class="lineno"> 3329</span> values[7] = *ptr & 0x7f;</div>
+<div class="line"><a id="l03330" name="l03330"></a><span class="lineno"> 3330</span>}</div>
+<div class="line"><a id="l03331" name="l03331"></a><span class="lineno"> 3331</span> </div>
+<div class="line"><a id="l03332" name="l03332"></a><span class="lineno"> 3332</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_8(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03333" name="l03333"></a><span class="lineno"> 3333</span> values[0] = *ptr++;</div>
+<div class="line"><a id="l03334" name="l03334"></a><span class="lineno"> 3334</span> values[1] = *ptr++;</div>
+<div class="line"><a id="l03335" name="l03335"></a><span class="lineno"> 3335</span> values[2] = *ptr++;</div>
+<div class="line"><a id="l03336" name="l03336"></a><span class="lineno"> 3336</span> values[3] = *ptr++;</div>
+<div class="line"><a id="l03337" name="l03337"></a><span class="lineno"> 3337</span> values[4] = *ptr++;</div>
+<div class="line"><a id="l03338" name="l03338"></a><span class="lineno"> 3338</span> values[5] = *ptr++;</div>
+<div class="line"><a id="l03339" name="l03339"></a><span class="lineno"> 3339</span> values[6] = *ptr++;</div>
+<div class="line"><a id="l03340" name="l03340"></a><span class="lineno"> 3340</span> values[7] = *ptr;</div>
+<div class="line"><a id="l03341" name="l03341"></a><span class="lineno"> 3341</span>}</div>
+<div class="line"><a id="l03342" name="l03342"></a><span class="lineno"> 3342</span> </div>
+<div class="line"><a id="l03343" name="l03343"></a><span class="lineno"> 3343</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_9(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03344" name="l03344"></a><span class="lineno"> 3344</span> values[0] = *ptr++ << 1;</div>
+<div class="line"><a id="l03345" name="l03345"></a><span class="lineno"> 3345</span> values[0] |= *ptr >> 7;</div>
+<div class="line"><a id="l03346" name="l03346"></a><span class="lineno"> 3346</span> </div>
+<div class="line"><a id="l03347" name="l03347"></a><span class="lineno"> 3347</span> values[1] = (*ptr++ & 0x7f) << 2;</div>
+<div class="line"><a id="l03348" name="l03348"></a><span class="lineno"> 3348</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l03349" name="l03349"></a><span class="lineno"> 3349</span> </div>
+<div class="line"><a id="l03350" name="l03350"></a><span class="lineno"> 3350</span> values[2] = (*ptr++ & 0x3f) << 3;</div>
+<div class="line"><a id="l03351" name="l03351"></a><span class="lineno"> 3351</span> values[2] |= *ptr >> 5;</div>
+<div class="line"><a id="l03352" name="l03352"></a><span class="lineno"> 3352</span> </div>
+<div class="line"><a id="l03353" name="l03353"></a><span class="lineno"> 3353</span> values[3] = (*ptr++ & 0x1f) << 4;</div>
+<div class="line"><a id="l03354" name="l03354"></a><span class="lineno"> 3354</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03355" name="l03355"></a><span class="lineno"> 3355</span> </div>
+<div class="line"><a id="l03356" name="l03356"></a><span class="lineno"> 3356</span> values[4] = (*ptr++ & 0xf) << 5;</div>
+<div class="line"><a id="l03357" name="l03357"></a><span class="lineno"> 3357</span> values[4] |= *ptr >> 3;</div>
+<div class="line"><a id="l03358" name="l03358"></a><span class="lineno"> 3358</span> </div>
+<div class="line"><a id="l03359" name="l03359"></a><span class="lineno"> 3359</span> values[5] = (*ptr++ & 7) << 6;</div>
+<div class="line"><a id="l03360" name="l03360"></a><span class="lineno"> 3360</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l03361" name="l03361"></a><span class="lineno"> 3361</span> </div>
+<div class="line"><a id="l03362" name="l03362"></a><span class="lineno"> 3362</span> values[6] = (*ptr++ & 3) << 7;</div>
+<div class="line"><a id="l03363" name="l03363"></a><span class="lineno"> 3363</span> values[6] |= *ptr >> 1;</div>
+<div class="line"><a id="l03364" name="l03364"></a><span class="lineno"> 3364</span> </div>
+<div class="line"><a id="l03365" name="l03365"></a><span class="lineno"> 3365</span> values[7] = (*ptr++ & 1) << 8;</div>
+<div class="line"><a id="l03366" name="l03366"></a><span class="lineno"> 3366</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03367" name="l03367"></a><span class="lineno"> 3367</span>}</div>
+<div class="line"><a id="l03368" name="l03368"></a><span class="lineno"> 3368</span> </div>
+<div class="line"><a id="l03369" name="l03369"></a><span class="lineno"> 3369</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_10(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03370" name="l03370"></a><span class="lineno"> 3370</span> values[0] = *ptr++ << 2;</div>
+<div class="line"><a id="l03371" name="l03371"></a><span class="lineno"> 3371</span> values[0] |= *ptr >> 6;</div>
+<div class="line"><a id="l03372" name="l03372"></a><span class="lineno"> 3372</span> </div>
+<div class="line"><a id="l03373" name="l03373"></a><span class="lineno"> 3373</span> values[1] = (*ptr++ & 0x3f) << 4;</div>
+<div class="line"><a id="l03374" name="l03374"></a><span class="lineno"> 3374</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l03375" name="l03375"></a><span class="lineno"> 3375</span> </div>
+<div class="line"><a id="l03376" name="l03376"></a><span class="lineno"> 3376</span> values[2] = (*ptr++ & 0xf) << 6;</div>
+<div class="line"><a id="l03377" name="l03377"></a><span class="lineno"> 3377</span> values[2] |= *ptr >> 2;</div>
+<div class="line"><a id="l03378" name="l03378"></a><span class="lineno"> 3378</span> </div>
+<div class="line"><a id="l03379" name="l03379"></a><span class="lineno"> 3379</span> values[3] = (*ptr++ & 3) << 8;</div>
+<div class="line"><a id="l03380" name="l03380"></a><span class="lineno"> 3380</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03381" name="l03381"></a><span class="lineno"> 3381</span> </div>
+<div class="line"><a id="l03382" name="l03382"></a><span class="lineno"> 3382</span> values[4] = *ptr++ << 2;</div>
+<div class="line"><a id="l03383" name="l03383"></a><span class="lineno"> 3383</span> values[4] |= *ptr >> 6;</div>
+<div class="line"><a id="l03384" name="l03384"></a><span class="lineno"> 3384</span> </div>
+<div class="line"><a id="l03385" name="l03385"></a><span class="lineno"> 3385</span> values[5] = (*ptr++ & 0x3f) << 4;</div>
+<div class="line"><a id="l03386" name="l03386"></a><span class="lineno"> 3386</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l03387" name="l03387"></a><span class="lineno"> 3387</span> </div>
+<div class="line"><a id="l03388" name="l03388"></a><span class="lineno"> 3388</span> values[6] = (*ptr++ & 0xf) << 6;</div>
+<div class="line"><a id="l03389" name="l03389"></a><span class="lineno"> 3389</span> values[6] |= *ptr >> 2;</div>
+<div class="line"><a id="l03390" name="l03390"></a><span class="lineno"> 3390</span> </div>
+<div class="line"><a id="l03391" name="l03391"></a><span class="lineno"> 3391</span> values[7] = (*ptr++ & 3) << 8;</div>
+<div class="line"><a id="l03392" name="l03392"></a><span class="lineno"> 3392</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03393" name="l03393"></a><span class="lineno"> 3393</span>}</div>
+<div class="line"><a id="l03394" name="l03394"></a><span class="lineno"> 3394</span> </div>
+<div class="line"><a id="l03395" name="l03395"></a><span class="lineno"> 3395</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_11(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03396" name="l03396"></a><span class="lineno"> 3396</span> values[0] = *ptr++ << 3;</div>
+<div class="line"><a id="l03397" name="l03397"></a><span class="lineno"> 3397</span> values[0] |= *ptr >> 5;</div>
+<div class="line"><a id="l03398" name="l03398"></a><span class="lineno"> 3398</span> </div>
+<div class="line"><a id="l03399" name="l03399"></a><span class="lineno"> 3399</span> values[1] = (*ptr++ & 0x1f) << 6;</div>
+<div class="line"><a id="l03400" name="l03400"></a><span class="lineno"> 3400</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l03401" name="l03401"></a><span class="lineno"> 3401</span> </div>
+<div class="line"><a id="l03402" name="l03402"></a><span class="lineno"> 3402</span> values[2] = (*ptr++ & 3) << 9;</div>
+<div class="line"><a id="l03403" name="l03403"></a><span class="lineno"> 3403</span> values[2] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03404" name="l03404"></a><span class="lineno"> 3404</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l03405" name="l03405"></a><span class="lineno"> 3405</span> </div>
+<div class="line"><a id="l03406" name="l03406"></a><span class="lineno"> 3406</span> values[3] = (*ptr++ & 0x7f) << 4;</div>
+<div class="line"><a id="l03407" name="l03407"></a><span class="lineno"> 3407</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03408" name="l03408"></a><span class="lineno"> 3408</span> </div>
+<div class="line"><a id="l03409" name="l03409"></a><span class="lineno"> 3409</span> values[4] = (*ptr++ & 0xf) << 7;</div>
+<div class="line"><a id="l03410" name="l03410"></a><span class="lineno"> 3410</span> values[4] |= *ptr >> 1;</div>
+<div class="line"><a id="l03411" name="l03411"></a><span class="lineno"> 3411</span> </div>
+<div class="line"><a id="l03412" name="l03412"></a><span class="lineno"> 3412</span> values[5] = (*ptr++ & 1) << 10;</div>
+<div class="line"><a id="l03413" name="l03413"></a><span class="lineno"> 3413</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03414" name="l03414"></a><span class="lineno"> 3414</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l03415" name="l03415"></a><span class="lineno"> 3415</span> </div>
+<div class="line"><a id="l03416" name="l03416"></a><span class="lineno"> 3416</span> values[6] = (*ptr++ & 0x3f) << 5;</div>
+<div class="line"><a id="l03417" name="l03417"></a><span class="lineno"> 3417</span> values[6] |= *ptr >> 3;</div>
+<div class="line"><a id="l03418" name="l03418"></a><span class="lineno"> 3418</span> </div>
+<div class="line"><a id="l03419" name="l03419"></a><span class="lineno"> 3419</span> values[7] = (*ptr++ & 7) << 8;</div>
+<div class="line"><a id="l03420" name="l03420"></a><span class="lineno"> 3420</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03421" name="l03421"></a><span class="lineno"> 3421</span>}</div>
+<div class="line"><a id="l03422" name="l03422"></a><span class="lineno"> 3422</span> </div>
+<div class="line"><a id="l03423" name="l03423"></a><span class="lineno"> 3423</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_12(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03424" name="l03424"></a><span class="lineno"> 3424</span> values[0] = *ptr++ << 4;</div>
+<div class="line"><a id="l03425" name="l03425"></a><span class="lineno"> 3425</span> values[0] |= *ptr >> 4;</div>
+<div class="line"><a id="l03426" name="l03426"></a><span class="lineno"> 3426</span> </div>
+<div class="line"><a id="l03427" name="l03427"></a><span class="lineno"> 3427</span> values[1] = (*ptr++ & 0xf) << 8;</div>
+<div class="line"><a id="l03428" name="l03428"></a><span class="lineno"> 3428</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l03429" name="l03429"></a><span class="lineno"> 3429</span> </div>
+<div class="line"><a id="l03430" name="l03430"></a><span class="lineno"> 3430</span> values[2] = *ptr++ << 4;</div>
+<div class="line"><a id="l03431" name="l03431"></a><span class="lineno"> 3431</span> values[2] |= *ptr >> 4;</div>
+<div class="line"><a id="l03432" name="l03432"></a><span class="lineno"> 3432</span> </div>
+<div class="line"><a id="l03433" name="l03433"></a><span class="lineno"> 3433</span> values[3] = (*ptr++ & 0xf) << 8;</div>
+<div class="line"><a id="l03434" name="l03434"></a><span class="lineno"> 3434</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03435" name="l03435"></a><span class="lineno"> 3435</span> </div>
+<div class="line"><a id="l03436" name="l03436"></a><span class="lineno"> 3436</span> values[4] = *ptr++ << 4;</div>
+<div class="line"><a id="l03437" name="l03437"></a><span class="lineno"> 3437</span> values[4] |= *ptr >> 4;</div>
+<div class="line"><a id="l03438" name="l03438"></a><span class="lineno"> 3438</span> </div>
+<div class="line"><a id="l03439" name="l03439"></a><span class="lineno"> 3439</span> values[5] = (*ptr++ & 0xf) << 8;</div>
+<div class="line"><a id="l03440" name="l03440"></a><span class="lineno"> 3440</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l03441" name="l03441"></a><span class="lineno"> 3441</span> </div>
+<div class="line"><a id="l03442" name="l03442"></a><span class="lineno"> 3442</span> values[6] = *ptr++ << 4;</div>
+<div class="line"><a id="l03443" name="l03443"></a><span class="lineno"> 3443</span> values[6] |= *ptr >> 4;</div>
+<div class="line"><a id="l03444" name="l03444"></a><span class="lineno"> 3444</span> </div>
+<div class="line"><a id="l03445" name="l03445"></a><span class="lineno"> 3445</span> values[7] = (*ptr++ & 0xf) << 8;</div>
+<div class="line"><a id="l03446" name="l03446"></a><span class="lineno"> 3446</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03447" name="l03447"></a><span class="lineno"> 3447</span>}</div>
+<div class="line"><a id="l03448" name="l03448"></a><span class="lineno"> 3448</span> </div>
+<div class="line"><a id="l03449" name="l03449"></a><span class="lineno"> 3449</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_13(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03450" name="l03450"></a><span class="lineno"> 3450</span> values[0] = *ptr++ << 5;</div>
+<div class="line"><a id="l03451" name="l03451"></a><span class="lineno"> 3451</span> values[0] |= *ptr >> 3;</div>
+<div class="line"><a id="l03452" name="l03452"></a><span class="lineno"> 3452</span> </div>
+<div class="line"><a id="l03453" name="l03453"></a><span class="lineno"> 3453</span> values[1] = (*ptr++ & 7) << 10;</div>
+<div class="line"><a id="l03454" name="l03454"></a><span class="lineno"> 3454</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03455" name="l03455"></a><span class="lineno"> 3455</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l03456" name="l03456"></a><span class="lineno"> 3456</span> </div>
+<div class="line"><a id="l03457" name="l03457"></a><span class="lineno"> 3457</span> values[2] = (*ptr++ & 0x3f) << 7;</div>
+<div class="line"><a id="l03458" name="l03458"></a><span class="lineno"> 3458</span> values[2] |= *ptr >> 1;</div>
+<div class="line"><a id="l03459" name="l03459"></a><span class="lineno"> 3459</span> </div>
+<div class="line"><a id="l03460" name="l03460"></a><span class="lineno"> 3460</span> values[3] = (*ptr++ & 1) << 12;</div>
+<div class="line"><a id="l03461" name="l03461"></a><span class="lineno"> 3461</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03462" name="l03462"></a><span class="lineno"> 3462</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03463" name="l03463"></a><span class="lineno"> 3463</span> </div>
+<div class="line"><a id="l03464" name="l03464"></a><span class="lineno"> 3464</span> values[4] = (*ptr++ & 0xf) << 9;</div>
+<div class="line"><a id="l03465" name="l03465"></a><span class="lineno"> 3465</span> values[4] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03466" name="l03466"></a><span class="lineno"> 3466</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l03467" name="l03467"></a><span class="lineno"> 3467</span> </div>
+<div class="line"><a id="l03468" name="l03468"></a><span class="lineno"> 3468</span> values[5] = (*ptr++ & 0x7f) << 6;</div>
+<div class="line"><a id="l03469" name="l03469"></a><span class="lineno"> 3469</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l03470" name="l03470"></a><span class="lineno"> 3470</span> </div>
+<div class="line"><a id="l03471" name="l03471"></a><span class="lineno"> 3471</span> values[6] = (*ptr++ & 3) << 11;</div>
+<div class="line"><a id="l03472" name="l03472"></a><span class="lineno"> 3472</span> values[6] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03473" name="l03473"></a><span class="lineno"> 3473</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l03474" name="l03474"></a><span class="lineno"> 3474</span> </div>
+<div class="line"><a id="l03475" name="l03475"></a><span class="lineno"> 3475</span> values[7] = (*ptr++ & 0x1f) << 8;</div>
+<div class="line"><a id="l03476" name="l03476"></a><span class="lineno"> 3476</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03477" name="l03477"></a><span class="lineno"> 3477</span>}</div>
+<div class="line"><a id="l03478" name="l03478"></a><span class="lineno"> 3478</span> </div>
+<div class="line"><a id="l03479" name="l03479"></a><span class="lineno"> 3479</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_14(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03480" name="l03480"></a><span class="lineno"> 3480</span> values[0] = *ptr++ << 6;</div>
+<div class="line"><a id="l03481" name="l03481"></a><span class="lineno"> 3481</span> values[0] |= *ptr >> 2;</div>
+<div class="line"><a id="l03482" name="l03482"></a><span class="lineno"> 3482</span> </div>
+<div class="line"><a id="l03483" name="l03483"></a><span class="lineno"> 3483</span> values[1] = (*ptr++ & 3) << 12;</div>
+<div class="line"><a id="l03484" name="l03484"></a><span class="lineno"> 3484</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03485" name="l03485"></a><span class="lineno"> 3485</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l03486" name="l03486"></a><span class="lineno"> 3486</span> </div>
+<div class="line"><a id="l03487" name="l03487"></a><span class="lineno"> 3487</span> values[2] = (*ptr++ & 0xf) << 10;</div>
+<div class="line"><a id="l03488" name="l03488"></a><span class="lineno"> 3488</span> values[2] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03489" name="l03489"></a><span class="lineno"> 3489</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l03490" name="l03490"></a><span class="lineno"> 3490</span> </div>
+<div class="line"><a id="l03491" name="l03491"></a><span class="lineno"> 3491</span> values[3] = (*ptr++ & 0x3f) << 8;</div>
+<div class="line"><a id="l03492" name="l03492"></a><span class="lineno"> 3492</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03493" name="l03493"></a><span class="lineno"> 3493</span> </div>
+<div class="line"><a id="l03494" name="l03494"></a><span class="lineno"> 3494</span> values[4] = *ptr++ << 6;</div>
+<div class="line"><a id="l03495" name="l03495"></a><span class="lineno"> 3495</span> values[4] |= *ptr >> 2;</div>
+<div class="line"><a id="l03496" name="l03496"></a><span class="lineno"> 3496</span> </div>
+<div class="line"><a id="l03497" name="l03497"></a><span class="lineno"> 3497</span> values[5] = (*ptr++ & 3) << 12;</div>
+<div class="line"><a id="l03498" name="l03498"></a><span class="lineno"> 3498</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03499" name="l03499"></a><span class="lineno"> 3499</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l03500" name="l03500"></a><span class="lineno"> 3500</span> </div>
+<div class="line"><a id="l03501" name="l03501"></a><span class="lineno"> 3501</span> values[6] = (*ptr++ & 0xf) << 10;</div>
+<div class="line"><a id="l03502" name="l03502"></a><span class="lineno"> 3502</span> values[6] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03503" name="l03503"></a><span class="lineno"> 3503</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l03504" name="l03504"></a><span class="lineno"> 3504</span> </div>
+<div class="line"><a id="l03505" name="l03505"></a><span class="lineno"> 3505</span> values[7] = (*ptr++ & 0x3f) << 8;</div>
+<div class="line"><a id="l03506" name="l03506"></a><span class="lineno"> 3506</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03507" name="l03507"></a><span class="lineno"> 3507</span>}</div>
+<div class="line"><a id="l03508" name="l03508"></a><span class="lineno"> 3508</span> </div>
+<div class="line"><a id="l03509" name="l03509"></a><span class="lineno"> 3509</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_15(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03510" name="l03510"></a><span class="lineno"> 3510</span> values[0] = *ptr++ << 7;</div>
+<div class="line"><a id="l03511" name="l03511"></a><span class="lineno"> 3511</span> values[0] |= *ptr >> 1;</div>
+<div class="line"><a id="l03512" name="l03512"></a><span class="lineno"> 3512</span> </div>
+<div class="line"><a id="l03513" name="l03513"></a><span class="lineno"> 3513</span> values[1] = (*ptr++ & 1) << 14;</div>
+<div class="line"><a id="l03514" name="l03514"></a><span class="lineno"> 3514</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03515" name="l03515"></a><span class="lineno"> 3515</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l03516" name="l03516"></a><span class="lineno"> 3516</span> </div>
+<div class="line"><a id="l03517" name="l03517"></a><span class="lineno"> 3517</span> values[2] = (*ptr++ & 3) << 13;</div>
+<div class="line"><a id="l03518" name="l03518"></a><span class="lineno"> 3518</span> values[2] |= *ptr++ << 5;</div>
+<div class="line"><a id="l03519" name="l03519"></a><span class="lineno"> 3519</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l03520" name="l03520"></a><span class="lineno"> 3520</span> </div>
+<div class="line"><a id="l03521" name="l03521"></a><span class="lineno"> 3521</span> values[3] = (*ptr++ & 7) << 12;</div>
+<div class="line"><a id="l03522" name="l03522"></a><span class="lineno"> 3522</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03523" name="l03523"></a><span class="lineno"> 3523</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03524" name="l03524"></a><span class="lineno"> 3524</span> </div>
+<div class="line"><a id="l03525" name="l03525"></a><span class="lineno"> 3525</span> values[4] = (*ptr++ & 0xf) << 11;</div>
+<div class="line"><a id="l03526" name="l03526"></a><span class="lineno"> 3526</span> values[4] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03527" name="l03527"></a><span class="lineno"> 3527</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l03528" name="l03528"></a><span class="lineno"> 3528</span> </div>
+<div class="line"><a id="l03529" name="l03529"></a><span class="lineno"> 3529</span> values[5] = (*ptr++ & 0x1f) << 10;</div>
+<div class="line"><a id="l03530" name="l03530"></a><span class="lineno"> 3530</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03531" name="l03531"></a><span class="lineno"> 3531</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l03532" name="l03532"></a><span class="lineno"> 3532</span> </div>
+<div class="line"><a id="l03533" name="l03533"></a><span class="lineno"> 3533</span> values[6] = (*ptr++ & 0x3f) << 9;</div>
+<div class="line"><a id="l03534" name="l03534"></a><span class="lineno"> 3534</span> values[6] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03535" name="l03535"></a><span class="lineno"> 3535</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l03536" name="l03536"></a><span class="lineno"> 3536</span> </div>
+<div class="line"><a id="l03537" name="l03537"></a><span class="lineno"> 3537</span> values[7] = (*ptr++ & 0x7f) << 8;</div>
+<div class="line"><a id="l03538" name="l03538"></a><span class="lineno"> 3538</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03539" name="l03539"></a><span class="lineno"> 3539</span>}</div>
+<div class="line"><a id="l03540" name="l03540"></a><span class="lineno"> 3540</span> </div>
+<div class="line"><a id="l03541" name="l03541"></a><span class="lineno"> 3541</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_16(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03542" name="l03542"></a><span class="lineno"> 3542</span> values[0] = *ptr++ << 8;</div>
+<div class="line"><a id="l03543" name="l03543"></a><span class="lineno"> 3543</span> values[0] |= *ptr++;</div>
+<div class="line"><a id="l03544" name="l03544"></a><span class="lineno"> 3544</span> values[1] = *ptr++ << 8;</div>
+<div class="line"><a id="l03545" name="l03545"></a><span class="lineno"> 3545</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l03546" name="l03546"></a><span class="lineno"> 3546</span> values[2] = *ptr++ << 8;</div>
+<div class="line"><a id="l03547" name="l03547"></a><span class="lineno"> 3547</span> values[2] |= *ptr++;</div>
+<div class="line"><a id="l03548" name="l03548"></a><span class="lineno"> 3548</span> values[3] = *ptr++ << 8;</div>
+<div class="line"><a id="l03549" name="l03549"></a><span class="lineno"> 3549</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03550" name="l03550"></a><span class="lineno"> 3550</span> values[4] = *ptr++ << 8;</div>
+<div class="line"><a id="l03551" name="l03551"></a><span class="lineno"> 3551</span> values[4] |= *ptr++;</div>
+<div class="line"><a id="l03552" name="l03552"></a><span class="lineno"> 3552</span> values[5] = *ptr++ << 8;</div>
+<div class="line"><a id="l03553" name="l03553"></a><span class="lineno"> 3553</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l03554" name="l03554"></a><span class="lineno"> 3554</span> values[6] = *ptr++ << 8;</div>
+<div class="line"><a id="l03555" name="l03555"></a><span class="lineno"> 3555</span> values[6] |= *ptr++;</div>
+<div class="line"><a id="l03556" name="l03556"></a><span class="lineno"> 3556</span> values[7] = *ptr++ << 8;</div>
+<div class="line"><a id="l03557" name="l03557"></a><span class="lineno"> 3557</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03558" name="l03558"></a><span class="lineno"> 3558</span>}</div>
+<div class="line"><a id="l03559" name="l03559"></a><span class="lineno"> 3559</span> </div>
+<div class="line"><a id="l03560" name="l03560"></a><span class="lineno"> 3560</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_17(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03561" name="l03561"></a><span class="lineno"> 3561</span> values[0] = *ptr++ << 9;</div>
+<div class="line"><a id="l03562" name="l03562"></a><span class="lineno"> 3562</span> values[0] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03563" name="l03563"></a><span class="lineno"> 3563</span> values[0] |= *ptr >> 7;</div>
+<div class="line"><a id="l03564" name="l03564"></a><span class="lineno"> 3564</span> </div>
+<div class="line"><a id="l03565" name="l03565"></a><span class="lineno"> 3565</span> values[1] = (*ptr++ & 0x7f) << 10;</div>
+<div class="line"><a id="l03566" name="l03566"></a><span class="lineno"> 3566</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03567" name="l03567"></a><span class="lineno"> 3567</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l03568" name="l03568"></a><span class="lineno"> 3568</span> </div>
+<div class="line"><a id="l03569" name="l03569"></a><span class="lineno"> 3569</span> values[2] = (*ptr++ & 0x3f) << 11;</div>
+<div class="line"><a id="l03570" name="l03570"></a><span class="lineno"> 3570</span> values[2] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03571" name="l03571"></a><span class="lineno"> 3571</span> values[2] |= *ptr >> 5;</div>
+<div class="line"><a id="l03572" name="l03572"></a><span class="lineno"> 3572</span> </div>
+<div class="line"><a id="l03573" name="l03573"></a><span class="lineno"> 3573</span> values[3] = (*ptr++ & 0x1f) << 12;</div>
+<div class="line"><a id="l03574" name="l03574"></a><span class="lineno"> 3574</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03575" name="l03575"></a><span class="lineno"> 3575</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03576" name="l03576"></a><span class="lineno"> 3576</span> </div>
+<div class="line"><a id="l03577" name="l03577"></a><span class="lineno"> 3577</span> values[4] = (*ptr++ & 0xf) << 13;</div>
+<div class="line"><a id="l03578" name="l03578"></a><span class="lineno"> 3578</span> values[4] |= *ptr++ << 5;</div>
+<div class="line"><a id="l03579" name="l03579"></a><span class="lineno"> 3579</span> values[4] |= *ptr >> 3;</div>
+<div class="line"><a id="l03580" name="l03580"></a><span class="lineno"> 3580</span> </div>
+<div class="line"><a id="l03581" name="l03581"></a><span class="lineno"> 3581</span> values[5] = (*ptr++ & 7) << 14;</div>
+<div class="line"><a id="l03582" name="l03582"></a><span class="lineno"> 3582</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03583" name="l03583"></a><span class="lineno"> 3583</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l03584" name="l03584"></a><span class="lineno"> 3584</span> </div>
+<div class="line"><a id="l03585" name="l03585"></a><span class="lineno"> 3585</span> values[6] = (*ptr++ & 3) << 15;</div>
+<div class="line"><a id="l03586" name="l03586"></a><span class="lineno"> 3586</span> values[6] |= *ptr++ << 7;</div>
+<div class="line"><a id="l03587" name="l03587"></a><span class="lineno"> 3587</span> values[6] |= *ptr >> 1;</div>
+<div class="line"><a id="l03588" name="l03588"></a><span class="lineno"> 3588</span> </div>
+<div class="line"><a id="l03589" name="l03589"></a><span class="lineno"> 3589</span> values[7] = (*ptr++ & 1) << 16;</div>
+<div class="line"><a id="l03590" name="l03590"></a><span class="lineno"> 3590</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03591" name="l03591"></a><span class="lineno"> 3591</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03592" name="l03592"></a><span class="lineno"> 3592</span>}</div>
+<div class="line"><a id="l03593" name="l03593"></a><span class="lineno"> 3593</span> </div>
+<div class="line"><a id="l03594" name="l03594"></a><span class="lineno"> 3594</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_18(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03595" name="l03595"></a><span class="lineno"> 3595</span> values[0] = *ptr++ << 10;</div>
+<div class="line"><a id="l03596" name="l03596"></a><span class="lineno"> 3596</span> values[0] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03597" name="l03597"></a><span class="lineno"> 3597</span> values[0] |= *ptr >> 6;</div>
+<div class="line"><a id="l03598" name="l03598"></a><span class="lineno"> 3598</span> </div>
+<div class="line"><a id="l03599" name="l03599"></a><span class="lineno"> 3599</span> values[1] = (*ptr++ & 0x3f) << 12;</div>
+<div class="line"><a id="l03600" name="l03600"></a><span class="lineno"> 3600</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03601" name="l03601"></a><span class="lineno"> 3601</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l03602" name="l03602"></a><span class="lineno"> 3602</span> </div>
+<div class="line"><a id="l03603" name="l03603"></a><span class="lineno"> 3603</span> values[2] = (*ptr++ & 0xf) << 14;</div>
+<div class="line"><a id="l03604" name="l03604"></a><span class="lineno"> 3604</span> values[2] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03605" name="l03605"></a><span class="lineno"> 3605</span> values[2] |= *ptr >> 2;</div>
+<div class="line"><a id="l03606" name="l03606"></a><span class="lineno"> 3606</span> </div>
+<div class="line"><a id="l03607" name="l03607"></a><span class="lineno"> 3607</span> values[3] = (*ptr++ & 3) << 16;</div>
+<div class="line"><a id="l03608" name="l03608"></a><span class="lineno"> 3608</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03609" name="l03609"></a><span class="lineno"> 3609</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03610" name="l03610"></a><span class="lineno"> 3610</span> </div>
+<div class="line"><a id="l03611" name="l03611"></a><span class="lineno"> 3611</span> values[4] = *ptr++ << 10;</div>
+<div class="line"><a id="l03612" name="l03612"></a><span class="lineno"> 3612</span> values[4] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03613" name="l03613"></a><span class="lineno"> 3613</span> values[4] |= *ptr >> 6;</div>
+<div class="line"><a id="l03614" name="l03614"></a><span class="lineno"> 3614</span> </div>
+<div class="line"><a id="l03615" name="l03615"></a><span class="lineno"> 3615</span> values[5] = (*ptr++ & 0x3f) << 12;</div>
+<div class="line"><a id="l03616" name="l03616"></a><span class="lineno"> 3616</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03617" name="l03617"></a><span class="lineno"> 3617</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l03618" name="l03618"></a><span class="lineno"> 3618</span> </div>
+<div class="line"><a id="l03619" name="l03619"></a><span class="lineno"> 3619</span> values[6] = (*ptr++ & 0xf) << 14;</div>
+<div class="line"><a id="l03620" name="l03620"></a><span class="lineno"> 3620</span> values[6] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03621" name="l03621"></a><span class="lineno"> 3621</span> values[6] |= *ptr >> 2;</div>
+<div class="line"><a id="l03622" name="l03622"></a><span class="lineno"> 3622</span> </div>
+<div class="line"><a id="l03623" name="l03623"></a><span class="lineno"> 3623</span> values[7] = (*ptr++ & 3) << 16;</div>
+<div class="line"><a id="l03624" name="l03624"></a><span class="lineno"> 3624</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03625" name="l03625"></a><span class="lineno"> 3625</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03626" name="l03626"></a><span class="lineno"> 3626</span>}</div>
+<div class="line"><a id="l03627" name="l03627"></a><span class="lineno"> 3627</span> </div>
+<div class="line"><a id="l03628" name="l03628"></a><span class="lineno"> 3628</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_19(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03629" name="l03629"></a><span class="lineno"> 3629</span> values[0] = *ptr++ << 11;</div>
+<div class="line"><a id="l03630" name="l03630"></a><span class="lineno"> 3630</span> values[0] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03631" name="l03631"></a><span class="lineno"> 3631</span> values[0] |= *ptr >> 5;</div>
+<div class="line"><a id="l03632" name="l03632"></a><span class="lineno"> 3632</span> </div>
+<div class="line"><a id="l03633" name="l03633"></a><span class="lineno"> 3633</span> values[1] = (*ptr++ & 0x1f) << 14;</div>
+<div class="line"><a id="l03634" name="l03634"></a><span class="lineno"> 3634</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03635" name="l03635"></a><span class="lineno"> 3635</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l03636" name="l03636"></a><span class="lineno"> 3636</span> </div>
+<div class="line"><a id="l03637" name="l03637"></a><span class="lineno"> 3637</span> values[2] = (*ptr++ & 3) << 17;</div>
+<div class="line"><a id="l03638" name="l03638"></a><span class="lineno"> 3638</span> values[2] |= *ptr++ << 9;</div>
+<div class="line"><a id="l03639" name="l03639"></a><span class="lineno"> 3639</span> values[2] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03640" name="l03640"></a><span class="lineno"> 3640</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l03641" name="l03641"></a><span class="lineno"> 3641</span> </div>
+<div class="line"><a id="l03642" name="l03642"></a><span class="lineno"> 3642</span> values[3] = (*ptr++ & 0x7f) << 12;</div>
+<div class="line"><a id="l03643" name="l03643"></a><span class="lineno"> 3643</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03644" name="l03644"></a><span class="lineno"> 3644</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03645" name="l03645"></a><span class="lineno"> 3645</span> </div>
+<div class="line"><a id="l03646" name="l03646"></a><span class="lineno"> 3646</span> values[4] = (*ptr++ & 0xf) << 15;</div>
+<div class="line"><a id="l03647" name="l03647"></a><span class="lineno"> 3647</span> values[4] |= *ptr++ << 7;</div>
+<div class="line"><a id="l03648" name="l03648"></a><span class="lineno"> 3648</span> values[4] |= *ptr >> 1;</div>
+<div class="line"><a id="l03649" name="l03649"></a><span class="lineno"> 3649</span> </div>
+<div class="line"><a id="l03650" name="l03650"></a><span class="lineno"> 3650</span> values[5] = (*ptr++ & 1) << 18;</div>
+<div class="line"><a id="l03651" name="l03651"></a><span class="lineno"> 3651</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03652" name="l03652"></a><span class="lineno"> 3652</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03653" name="l03653"></a><span class="lineno"> 3653</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l03654" name="l03654"></a><span class="lineno"> 3654</span> </div>
+<div class="line"><a id="l03655" name="l03655"></a><span class="lineno"> 3655</span> values[6] = (*ptr++ & 0x3f) << 13;</div>
+<div class="line"><a id="l03656" name="l03656"></a><span class="lineno"> 3656</span> values[6] |= *ptr++ << 5;</div>
+<div class="line"><a id="l03657" name="l03657"></a><span class="lineno"> 3657</span> values[6] |= *ptr >> 3;</div>
+<div class="line"><a id="l03658" name="l03658"></a><span class="lineno"> 3658</span> </div>
+<div class="line"><a id="l03659" name="l03659"></a><span class="lineno"> 3659</span> values[7] = (*ptr++ & 7) << 16;</div>
+<div class="line"><a id="l03660" name="l03660"></a><span class="lineno"> 3660</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03661" name="l03661"></a><span class="lineno"> 3661</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03662" name="l03662"></a><span class="lineno"> 3662</span>}</div>
+<div class="line"><a id="l03663" name="l03663"></a><span class="lineno"> 3663</span> </div>
+<div class="line"><a id="l03664" name="l03664"></a><span class="lineno"> 3664</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_20(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03665" name="l03665"></a><span class="lineno"> 3665</span> values[0] = *ptr++ << 12;</div>
+<div class="line"><a id="l03666" name="l03666"></a><span class="lineno"> 3666</span> values[0] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03667" name="l03667"></a><span class="lineno"> 3667</span> values[0] |= *ptr >> 4;</div>
+<div class="line"><a id="l03668" name="l03668"></a><span class="lineno"> 3668</span> </div>
+<div class="line"><a id="l03669" name="l03669"></a><span class="lineno"> 3669</span> values[1] = (*ptr++ & 0xf) << 16;</div>
+<div class="line"><a id="l03670" name="l03670"></a><span class="lineno"> 3670</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03671" name="l03671"></a><span class="lineno"> 3671</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l03672" name="l03672"></a><span class="lineno"> 3672</span> </div>
+<div class="line"><a id="l03673" name="l03673"></a><span class="lineno"> 3673</span> values[2] = *ptr++ << 12;</div>
+<div class="line"><a id="l03674" name="l03674"></a><span class="lineno"> 3674</span> values[2] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03675" name="l03675"></a><span class="lineno"> 3675</span> values[2] |= *ptr >> 4;</div>
+<div class="line"><a id="l03676" name="l03676"></a><span class="lineno"> 3676</span> </div>
+<div class="line"><a id="l03677" name="l03677"></a><span class="lineno"> 3677</span> values[3] = (*ptr++ & 0xf) << 16;</div>
+<div class="line"><a id="l03678" name="l03678"></a><span class="lineno"> 3678</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03679" name="l03679"></a><span class="lineno"> 3679</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03680" name="l03680"></a><span class="lineno"> 3680</span> </div>
+<div class="line"><a id="l03681" name="l03681"></a><span class="lineno"> 3681</span> values[4] = *ptr++ << 12;</div>
+<div class="line"><a id="l03682" name="l03682"></a><span class="lineno"> 3682</span> values[4] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03683" name="l03683"></a><span class="lineno"> 3683</span> values[4] |= *ptr >> 4;</div>
+<div class="line"><a id="l03684" name="l03684"></a><span class="lineno"> 3684</span> </div>
+<div class="line"><a id="l03685" name="l03685"></a><span class="lineno"> 3685</span> values[5] = (*ptr++ & 0xf) << 16;</div>
+<div class="line"><a id="l03686" name="l03686"></a><span class="lineno"> 3686</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03687" name="l03687"></a><span class="lineno"> 3687</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l03688" name="l03688"></a><span class="lineno"> 3688</span> </div>
+<div class="line"><a id="l03689" name="l03689"></a><span class="lineno"> 3689</span> values[6] = *ptr++ << 12;</div>
+<div class="line"><a id="l03690" name="l03690"></a><span class="lineno"> 3690</span> values[6] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03691" name="l03691"></a><span class="lineno"> 3691</span> values[6] |= *ptr >> 4;</div>
+<div class="line"><a id="l03692" name="l03692"></a><span class="lineno"> 3692</span> </div>
+<div class="line"><a id="l03693" name="l03693"></a><span class="lineno"> 3693</span> values[7] = (*ptr++ & 0xf) << 16;</div>
+<div class="line"><a id="l03694" name="l03694"></a><span class="lineno"> 3694</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03695" name="l03695"></a><span class="lineno"> 3695</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03696" name="l03696"></a><span class="lineno"> 3696</span>}</div>
+<div class="line"><a id="l03697" name="l03697"></a><span class="lineno"> 3697</span> </div>
+<div class="line"><a id="l03698" name="l03698"></a><span class="lineno"> 3698</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_21(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03699" name="l03699"></a><span class="lineno"> 3699</span> values[0] = *ptr++ << 13;</div>
+<div class="line"><a id="l03700" name="l03700"></a><span class="lineno"> 3700</span> values[0] |= *ptr++ << 5;</div>
+<div class="line"><a id="l03701" name="l03701"></a><span class="lineno"> 3701</span> values[0] |= *ptr >> 3;</div>
+<div class="line"><a id="l03702" name="l03702"></a><span class="lineno"> 3702</span> </div>
+<div class="line"><a id="l03703" name="l03703"></a><span class="lineno"> 3703</span> values[1] = (*ptr++ & 7) << 18;</div>
+<div class="line"><a id="l03704" name="l03704"></a><span class="lineno"> 3704</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03705" name="l03705"></a><span class="lineno"> 3705</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03706" name="l03706"></a><span class="lineno"> 3706</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l03707" name="l03707"></a><span class="lineno"> 3707</span> </div>
+<div class="line"><a id="l03708" name="l03708"></a><span class="lineno"> 3708</span> values[2] = (*ptr++ & 0x3f) << 15;</div>
+<div class="line"><a id="l03709" name="l03709"></a><span class="lineno"> 3709</span> values[2] |= *ptr++ << 7;</div>
+<div class="line"><a id="l03710" name="l03710"></a><span class="lineno"> 3710</span> values[2] |= *ptr >> 1;</div>
+<div class="line"><a id="l03711" name="l03711"></a><span class="lineno"> 3711</span> </div>
+<div class="line"><a id="l03712" name="l03712"></a><span class="lineno"> 3712</span> values[3] = (*ptr++ & 1) << 20;</div>
+<div class="line"><a id="l03713" name="l03713"></a><span class="lineno"> 3713</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03714" name="l03714"></a><span class="lineno"> 3714</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03715" name="l03715"></a><span class="lineno"> 3715</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03716" name="l03716"></a><span class="lineno"> 3716</span> </div>
+<div class="line"><a id="l03717" name="l03717"></a><span class="lineno"> 3717</span> values[4] = (*ptr++ & 0xf) << 17;</div>
+<div class="line"><a id="l03718" name="l03718"></a><span class="lineno"> 3718</span> values[4] |= *ptr++ << 9;</div>
+<div class="line"><a id="l03719" name="l03719"></a><span class="lineno"> 3719</span> values[4] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03720" name="l03720"></a><span class="lineno"> 3720</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l03721" name="l03721"></a><span class="lineno"> 3721</span> </div>
+<div class="line"><a id="l03722" name="l03722"></a><span class="lineno"> 3722</span> values[5] = (*ptr++ & 0x7f) << 14;</div>
+<div class="line"><a id="l03723" name="l03723"></a><span class="lineno"> 3723</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03724" name="l03724"></a><span class="lineno"> 3724</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l03725" name="l03725"></a><span class="lineno"> 3725</span> </div>
+<div class="line"><a id="l03726" name="l03726"></a><span class="lineno"> 3726</span> values[6] = (*ptr++ & 3) << 19;</div>
+<div class="line"><a id="l03727" name="l03727"></a><span class="lineno"> 3727</span> values[6] |= *ptr++ << 11;</div>
+<div class="line"><a id="l03728" name="l03728"></a><span class="lineno"> 3728</span> values[6] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03729" name="l03729"></a><span class="lineno"> 3729</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l03730" name="l03730"></a><span class="lineno"> 3730</span> </div>
+<div class="line"><a id="l03731" name="l03731"></a><span class="lineno"> 3731</span> values[7] = (*ptr++ & 0x1f) << 16;</div>
+<div class="line"><a id="l03732" name="l03732"></a><span class="lineno"> 3732</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03733" name="l03733"></a><span class="lineno"> 3733</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03734" name="l03734"></a><span class="lineno"> 3734</span>}</div>
+<div class="line"><a id="l03735" name="l03735"></a><span class="lineno"> 3735</span> </div>
+<div class="line"><a id="l03736" name="l03736"></a><span class="lineno"> 3736</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_22(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03737" name="l03737"></a><span class="lineno"> 3737</span> values[0] = *ptr++ << 14;</div>
+<div class="line"><a id="l03738" name="l03738"></a><span class="lineno"> 3738</span> values[0] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03739" name="l03739"></a><span class="lineno"> 3739</span> values[0] |= *ptr >> 2;</div>
+<div class="line"><a id="l03740" name="l03740"></a><span class="lineno"> 3740</span> </div>
+<div class="line"><a id="l03741" name="l03741"></a><span class="lineno"> 3741</span> values[1] = (*ptr++ & 3) << 20;</div>
+<div class="line"><a id="l03742" name="l03742"></a><span class="lineno"> 3742</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03743" name="l03743"></a><span class="lineno"> 3743</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03744" name="l03744"></a><span class="lineno"> 3744</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l03745" name="l03745"></a><span class="lineno"> 3745</span> </div>
+<div class="line"><a id="l03746" name="l03746"></a><span class="lineno"> 3746</span> values[2] = (*ptr++ & 0xf) << 18;</div>
+<div class="line"><a id="l03747" name="l03747"></a><span class="lineno"> 3747</span> values[2] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03748" name="l03748"></a><span class="lineno"> 3748</span> values[2] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03749" name="l03749"></a><span class="lineno"> 3749</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l03750" name="l03750"></a><span class="lineno"> 3750</span> </div>
+<div class="line"><a id="l03751" name="l03751"></a><span class="lineno"> 3751</span> values[3] = (*ptr++ & 0x3f) << 16;</div>
+<div class="line"><a id="l03752" name="l03752"></a><span class="lineno"> 3752</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03753" name="l03753"></a><span class="lineno"> 3753</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03754" name="l03754"></a><span class="lineno"> 3754</span> </div>
+<div class="line"><a id="l03755" name="l03755"></a><span class="lineno"> 3755</span> values[4] = *ptr++ << 14;</div>
+<div class="line"><a id="l03756" name="l03756"></a><span class="lineno"> 3756</span> values[4] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03757" name="l03757"></a><span class="lineno"> 3757</span> values[4] |= *ptr >> 2;</div>
+<div class="line"><a id="l03758" name="l03758"></a><span class="lineno"> 3758</span> </div>
+<div class="line"><a id="l03759" name="l03759"></a><span class="lineno"> 3759</span> values[5] = (*ptr++ & 3) << 20;</div>
+<div class="line"><a id="l03760" name="l03760"></a><span class="lineno"> 3760</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03761" name="l03761"></a><span class="lineno"> 3761</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03762" name="l03762"></a><span class="lineno"> 3762</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l03763" name="l03763"></a><span class="lineno"> 3763</span> </div>
+<div class="line"><a id="l03764" name="l03764"></a><span class="lineno"> 3764</span> values[6] = (*ptr++ & 0xf) << 18;</div>
+<div class="line"><a id="l03765" name="l03765"></a><span class="lineno"> 3765</span> values[6] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03766" name="l03766"></a><span class="lineno"> 3766</span> values[6] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03767" name="l03767"></a><span class="lineno"> 3767</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l03768" name="l03768"></a><span class="lineno"> 3768</span> </div>
+<div class="line"><a id="l03769" name="l03769"></a><span class="lineno"> 3769</span> values[7] = (*ptr++ & 0x3f) << 16;</div>
+<div class="line"><a id="l03770" name="l03770"></a><span class="lineno"> 3770</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03771" name="l03771"></a><span class="lineno"> 3771</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03772" name="l03772"></a><span class="lineno"> 3772</span>}</div>
+<div class="line"><a id="l03773" name="l03773"></a><span class="lineno"> 3773</span> </div>
+<div class="line"><a id="l03774" name="l03774"></a><span class="lineno"> 3774</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_23(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03775" name="l03775"></a><span class="lineno"> 3775</span> values[0] = *ptr++ << 15;</div>
+<div class="line"><a id="l03776" name="l03776"></a><span class="lineno"> 3776</span> values[0] |= *ptr++ << 7;</div>
+<div class="line"><a id="l03777" name="l03777"></a><span class="lineno"> 3777</span> values[0] |= *ptr >> 1;</div>
+<div class="line"><a id="l03778" name="l03778"></a><span class="lineno"> 3778</span> </div>
+<div class="line"><a id="l03779" name="l03779"></a><span class="lineno"> 3779</span> values[1] = (*ptr++ & 1) << 22;</div>
+<div class="line"><a id="l03780" name="l03780"></a><span class="lineno"> 3780</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l03781" name="l03781"></a><span class="lineno"> 3781</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03782" name="l03782"></a><span class="lineno"> 3782</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l03783" name="l03783"></a><span class="lineno"> 3783</span> </div>
+<div class="line"><a id="l03784" name="l03784"></a><span class="lineno"> 3784</span> values[2] = (*ptr++ & 3) << 21;</div>
+<div class="line"><a id="l03785" name="l03785"></a><span class="lineno"> 3785</span> values[2] |= *ptr++ << 13;</div>
+<div class="line"><a id="l03786" name="l03786"></a><span class="lineno"> 3786</span> values[2] |= *ptr++ << 5;</div>
+<div class="line"><a id="l03787" name="l03787"></a><span class="lineno"> 3787</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l03788" name="l03788"></a><span class="lineno"> 3788</span> </div>
+<div class="line"><a id="l03789" name="l03789"></a><span class="lineno"> 3789</span> values[3] = (*ptr++ & 7) << 20;</div>
+<div class="line"><a id="l03790" name="l03790"></a><span class="lineno"> 3790</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03791" name="l03791"></a><span class="lineno"> 3791</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03792" name="l03792"></a><span class="lineno"> 3792</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03793" name="l03793"></a><span class="lineno"> 3793</span> </div>
+<div class="line"><a id="l03794" name="l03794"></a><span class="lineno"> 3794</span> values[4] = (*ptr++ & 0xf) << 19;</div>
+<div class="line"><a id="l03795" name="l03795"></a><span class="lineno"> 3795</span> values[4] |= *ptr++ << 11;</div>
+<div class="line"><a id="l03796" name="l03796"></a><span class="lineno"> 3796</span> values[4] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03797" name="l03797"></a><span class="lineno"> 3797</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l03798" name="l03798"></a><span class="lineno"> 3798</span> </div>
+<div class="line"><a id="l03799" name="l03799"></a><span class="lineno"> 3799</span> values[5] = (*ptr++ & 0x1f) << 18;</div>
+<div class="line"><a id="l03800" name="l03800"></a><span class="lineno"> 3800</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03801" name="l03801"></a><span class="lineno"> 3801</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03802" name="l03802"></a><span class="lineno"> 3802</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l03803" name="l03803"></a><span class="lineno"> 3803</span> </div>
+<div class="line"><a id="l03804" name="l03804"></a><span class="lineno"> 3804</span> values[6] = (*ptr++ & 0x3f) << 17;</div>
+<div class="line"><a id="l03805" name="l03805"></a><span class="lineno"> 3805</span> values[6] |= *ptr++ << 9;</div>
+<div class="line"><a id="l03806" name="l03806"></a><span class="lineno"> 3806</span> values[6] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03807" name="l03807"></a><span class="lineno"> 3807</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l03808" name="l03808"></a><span class="lineno"> 3808</span> </div>
+<div class="line"><a id="l03809" name="l03809"></a><span class="lineno"> 3809</span> values[7] = (*ptr++ & 0x7f) << 16;</div>
+<div class="line"><a id="l03810" name="l03810"></a><span class="lineno"> 3810</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03811" name="l03811"></a><span class="lineno"> 3811</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03812" name="l03812"></a><span class="lineno"> 3812</span>}</div>
+<div class="line"><a id="l03813" name="l03813"></a><span class="lineno"> 3813</span> </div>
+<div class="line"><a id="l03814" name="l03814"></a><span class="lineno"> 3814</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_24(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03815" name="l03815"></a><span class="lineno"> 3815</span> values[0] = *ptr++ << 16;</div>
+<div class="line"><a id="l03816" name="l03816"></a><span class="lineno"> 3816</span> values[0] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03817" name="l03817"></a><span class="lineno"> 3817</span> values[0] |= *ptr++;</div>
+<div class="line"><a id="l03818" name="l03818"></a><span class="lineno"> 3818</span> values[1] = *ptr++ << 16;</div>
+<div class="line"><a id="l03819" name="l03819"></a><span class="lineno"> 3819</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03820" name="l03820"></a><span class="lineno"> 3820</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l03821" name="l03821"></a><span class="lineno"> 3821</span> values[2] = *ptr++ << 16;</div>
+<div class="line"><a id="l03822" name="l03822"></a><span class="lineno"> 3822</span> values[2] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03823" name="l03823"></a><span class="lineno"> 3823</span> values[2] |= *ptr++;</div>
+<div class="line"><a id="l03824" name="l03824"></a><span class="lineno"> 3824</span> values[3] = *ptr++ << 16;</div>
+<div class="line"><a id="l03825" name="l03825"></a><span class="lineno"> 3825</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03826" name="l03826"></a><span class="lineno"> 3826</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03827" name="l03827"></a><span class="lineno"> 3827</span> values[4] = *ptr++ << 16;</div>
+<div class="line"><a id="l03828" name="l03828"></a><span class="lineno"> 3828</span> values[4] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03829" name="l03829"></a><span class="lineno"> 3829</span> values[4] |= *ptr++;</div>
+<div class="line"><a id="l03830" name="l03830"></a><span class="lineno"> 3830</span> values[5] = *ptr++ << 16;</div>
+<div class="line"><a id="l03831" name="l03831"></a><span class="lineno"> 3831</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03832" name="l03832"></a><span class="lineno"> 3832</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l03833" name="l03833"></a><span class="lineno"> 3833</span> values[6] = *ptr++ << 16;</div>
+<div class="line"><a id="l03834" name="l03834"></a><span class="lineno"> 3834</span> values[6] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03835" name="l03835"></a><span class="lineno"> 3835</span> values[6] |= *ptr++;</div>
+<div class="line"><a id="l03836" name="l03836"></a><span class="lineno"> 3836</span> values[7] = *ptr++ << 16;</div>
+<div class="line"><a id="l03837" name="l03837"></a><span class="lineno"> 3837</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03838" name="l03838"></a><span class="lineno"> 3838</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03839" name="l03839"></a><span class="lineno"> 3839</span>}</div>
+<div class="line"><a id="l03840" name="l03840"></a><span class="lineno"> 3840</span> </div>
+<div class="line"><a id="l03841" name="l03841"></a><span class="lineno"> 3841</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_25(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03842" name="l03842"></a><span class="lineno"> 3842</span> values[0] = *ptr++ << 17;</div>
+<div class="line"><a id="l03843" name="l03843"></a><span class="lineno"> 3843</span> values[0] |= *ptr++ << 9;</div>
+<div class="line"><a id="l03844" name="l03844"></a><span class="lineno"> 3844</span> values[0] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03845" name="l03845"></a><span class="lineno"> 3845</span> values[0] |= *ptr >> 7;</div>
+<div class="line"><a id="l03846" name="l03846"></a><span class="lineno"> 3846</span> </div>
+<div class="line"><a id="l03847" name="l03847"></a><span class="lineno"> 3847</span> values[1] = (*ptr++ & 0x7f) << 18;</div>
+<div class="line"><a id="l03848" name="l03848"></a><span class="lineno"> 3848</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03849" name="l03849"></a><span class="lineno"> 3849</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03850" name="l03850"></a><span class="lineno"> 3850</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l03851" name="l03851"></a><span class="lineno"> 3851</span> </div>
+<div class="line"><a id="l03852" name="l03852"></a><span class="lineno"> 3852</span> values[2] = (*ptr++ & 0x3f) << 19;</div>
+<div class="line"><a id="l03853" name="l03853"></a><span class="lineno"> 3853</span> values[2] |= *ptr++ << 11;</div>
+<div class="line"><a id="l03854" name="l03854"></a><span class="lineno"> 3854</span> values[2] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03855" name="l03855"></a><span class="lineno"> 3855</span> values[2] |= *ptr >> 5;</div>
+<div class="line"><a id="l03856" name="l03856"></a><span class="lineno"> 3856</span> </div>
+<div class="line"><a id="l03857" name="l03857"></a><span class="lineno"> 3857</span> values[3] = (*ptr++ & 0x1f) << 20;</div>
+<div class="line"><a id="l03858" name="l03858"></a><span class="lineno"> 3858</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03859" name="l03859"></a><span class="lineno"> 3859</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03860" name="l03860"></a><span class="lineno"> 3860</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03861" name="l03861"></a><span class="lineno"> 3861</span> </div>
+<div class="line"><a id="l03862" name="l03862"></a><span class="lineno"> 3862</span> values[4] = (*ptr++ & 0xf) << 21;</div>
+<div class="line"><a id="l03863" name="l03863"></a><span class="lineno"> 3863</span> values[4] |= *ptr++ << 13;</div>
+<div class="line"><a id="l03864" name="l03864"></a><span class="lineno"> 3864</span> values[4] |= *ptr++ << 5;</div>
+<div class="line"><a id="l03865" name="l03865"></a><span class="lineno"> 3865</span> values[4] |= *ptr >> 3;</div>
+<div class="line"><a id="l03866" name="l03866"></a><span class="lineno"> 3866</span> </div>
+<div class="line"><a id="l03867" name="l03867"></a><span class="lineno"> 3867</span> values[5] = (*ptr++ & 7) << 22;</div>
+<div class="line"><a id="l03868" name="l03868"></a><span class="lineno"> 3868</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l03869" name="l03869"></a><span class="lineno"> 3869</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03870" name="l03870"></a><span class="lineno"> 3870</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l03871" name="l03871"></a><span class="lineno"> 3871</span> </div>
+<div class="line"><a id="l03872" name="l03872"></a><span class="lineno"> 3872</span> values[6] = (*ptr++ & 3) << 23;</div>
+<div class="line"><a id="l03873" name="l03873"></a><span class="lineno"> 3873</span> values[6] |= *ptr++ << 15;</div>
+<div class="line"><a id="l03874" name="l03874"></a><span class="lineno"> 3874</span> values[6] |= *ptr++ << 7;</div>
+<div class="line"><a id="l03875" name="l03875"></a><span class="lineno"> 3875</span> values[6] |= *ptr >> 1;</div>
+<div class="line"><a id="l03876" name="l03876"></a><span class="lineno"> 3876</span> </div>
+<div class="line"><a id="l03877" name="l03877"></a><span class="lineno"> 3877</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 24;</div>
+<div class="line"><a id="l03878" name="l03878"></a><span class="lineno"> 3878</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l03879" name="l03879"></a><span class="lineno"> 3879</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03880" name="l03880"></a><span class="lineno"> 3880</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03881" name="l03881"></a><span class="lineno"> 3881</span>}</div>
+<div class="line"><a id="l03882" name="l03882"></a><span class="lineno"> 3882</span> </div>
+<div class="line"><a id="l03883" name="l03883"></a><span class="lineno"> 3883</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_26(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03884" name="l03884"></a><span class="lineno"> 3884</span> values[0] = *ptr++ << 18;</div>
+<div class="line"><a id="l03885" name="l03885"></a><span class="lineno"> 3885</span> values[0] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03886" name="l03886"></a><span class="lineno"> 3886</span> values[0] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03887" name="l03887"></a><span class="lineno"> 3887</span> values[0] |= *ptr >> 6;</div>
+<div class="line"><a id="l03888" name="l03888"></a><span class="lineno"> 3888</span> </div>
+<div class="line"><a id="l03889" name="l03889"></a><span class="lineno"> 3889</span> values[1] = (*ptr++ & 0x3f) << 20;</div>
+<div class="line"><a id="l03890" name="l03890"></a><span class="lineno"> 3890</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03891" name="l03891"></a><span class="lineno"> 3891</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03892" name="l03892"></a><span class="lineno"> 3892</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l03893" name="l03893"></a><span class="lineno"> 3893</span> </div>
+<div class="line"><a id="l03894" name="l03894"></a><span class="lineno"> 3894</span> values[2] = (*ptr++ & 0xf) << 22;</div>
+<div class="line"><a id="l03895" name="l03895"></a><span class="lineno"> 3895</span> values[2] |= *ptr++ << 14;</div>
+<div class="line"><a id="l03896" name="l03896"></a><span class="lineno"> 3896</span> values[2] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03897" name="l03897"></a><span class="lineno"> 3897</span> values[2] |= *ptr >> 2;</div>
+<div class="line"><a id="l03898" name="l03898"></a><span class="lineno"> 3898</span> </div>
+<div class="line"><a id="l03899" name="l03899"></a><span class="lineno"> 3899</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 24;</div>
+<div class="line"><a id="l03900" name="l03900"></a><span class="lineno"> 3900</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l03901" name="l03901"></a><span class="lineno"> 3901</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03902" name="l03902"></a><span class="lineno"> 3902</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03903" name="l03903"></a><span class="lineno"> 3903</span> </div>
+<div class="line"><a id="l03904" name="l03904"></a><span class="lineno"> 3904</span> values[4] = *ptr++ << 18;</div>
+<div class="line"><a id="l03905" name="l03905"></a><span class="lineno"> 3905</span> values[4] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03906" name="l03906"></a><span class="lineno"> 3906</span> values[4] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03907" name="l03907"></a><span class="lineno"> 3907</span> values[4] |= *ptr >> 6;</div>
+<div class="line"><a id="l03908" name="l03908"></a><span class="lineno"> 3908</span> </div>
+<div class="line"><a id="l03909" name="l03909"></a><span class="lineno"> 3909</span> values[5] = (*ptr++ & 0x3f) << 20;</div>
+<div class="line"><a id="l03910" name="l03910"></a><span class="lineno"> 3910</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03911" name="l03911"></a><span class="lineno"> 3911</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03912" name="l03912"></a><span class="lineno"> 3912</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l03913" name="l03913"></a><span class="lineno"> 3913</span> </div>
+<div class="line"><a id="l03914" name="l03914"></a><span class="lineno"> 3914</span> values[6] = (*ptr++ & 0xf) << 22;</div>
+<div class="line"><a id="l03915" name="l03915"></a><span class="lineno"> 3915</span> values[6] |= *ptr++ << 14;</div>
+<div class="line"><a id="l03916" name="l03916"></a><span class="lineno"> 3916</span> values[6] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03917" name="l03917"></a><span class="lineno"> 3917</span> values[6] |= *ptr >> 2;</div>
+<div class="line"><a id="l03918" name="l03918"></a><span class="lineno"> 3918</span> </div>
+<div class="line"><a id="l03919" name="l03919"></a><span class="lineno"> 3919</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 24;</div>
+<div class="line"><a id="l03920" name="l03920"></a><span class="lineno"> 3920</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l03921" name="l03921"></a><span class="lineno"> 3921</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03922" name="l03922"></a><span class="lineno"> 3922</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03923" name="l03923"></a><span class="lineno"> 3923</span>}</div>
+<div class="line"><a id="l03924" name="l03924"></a><span class="lineno"> 3924</span> </div>
+<div class="line"><a id="l03925" name="l03925"></a><span class="lineno"> 3925</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_27(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03926" name="l03926"></a><span class="lineno"> 3926</span> values[0] = *ptr++ << 19;</div>
+<div class="line"><a id="l03927" name="l03927"></a><span class="lineno"> 3927</span> values[0] |= *ptr++ << 11;</div>
+<div class="line"><a id="l03928" name="l03928"></a><span class="lineno"> 3928</span> values[0] |= *ptr++ << 3;</div>
+<div class="line"><a id="l03929" name="l03929"></a><span class="lineno"> 3929</span> values[0] |= *ptr >> 5;</div>
+<div class="line"><a id="l03930" name="l03930"></a><span class="lineno"> 3930</span> </div>
+<div class="line"><a id="l03931" name="l03931"></a><span class="lineno"> 3931</span> values[1] = (*ptr++ & 0x1f) << 22;</div>
+<div class="line"><a id="l03932" name="l03932"></a><span class="lineno"> 3932</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l03933" name="l03933"></a><span class="lineno"> 3933</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l03934" name="l03934"></a><span class="lineno"> 3934</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l03935" name="l03935"></a><span class="lineno"> 3935</span> </div>
+<div class="line"><a id="l03936" name="l03936"></a><span class="lineno"> 3936</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 25;</div>
+<div class="line"><a id="l03937" name="l03937"></a><span class="lineno"> 3937</span> values[2] |= *ptr++ << 17;</div>
+<div class="line"><a id="l03938" name="l03938"></a><span class="lineno"> 3938</span> values[2] |= *ptr++ << 9;</div>
+<div class="line"><a id="l03939" name="l03939"></a><span class="lineno"> 3939</span> values[2] |= *ptr++ << 1;</div>
+<div class="line"><a id="l03940" name="l03940"></a><span class="lineno"> 3940</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l03941" name="l03941"></a><span class="lineno"> 3941</span> </div>
+<div class="line"><a id="l03942" name="l03942"></a><span class="lineno"> 3942</span> values[3] = (*ptr++ & 0x7f) << 20;</div>
+<div class="line"><a id="l03943" name="l03943"></a><span class="lineno"> 3943</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03944" name="l03944"></a><span class="lineno"> 3944</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03945" name="l03945"></a><span class="lineno"> 3945</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l03946" name="l03946"></a><span class="lineno"> 3946</span> </div>
+<div class="line"><a id="l03947" name="l03947"></a><span class="lineno"> 3947</span> values[4] = (*ptr++ & 0xf) << 23;</div>
+<div class="line"><a id="l03948" name="l03948"></a><span class="lineno"> 3948</span> values[4] |= *ptr++ << 15;</div>
+<div class="line"><a id="l03949" name="l03949"></a><span class="lineno"> 3949</span> values[4] |= *ptr++ << 7;</div>
+<div class="line"><a id="l03950" name="l03950"></a><span class="lineno"> 3950</span> values[4] |= *ptr >> 1;</div>
+<div class="line"><a id="l03951" name="l03951"></a><span class="lineno"> 3951</span> </div>
+<div class="line"><a id="l03952" name="l03952"></a><span class="lineno"> 3952</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 26;</div>
+<div class="line"><a id="l03953" name="l03953"></a><span class="lineno"> 3953</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l03954" name="l03954"></a><span class="lineno"> 3954</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l03955" name="l03955"></a><span class="lineno"> 3955</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l03956" name="l03956"></a><span class="lineno"> 3956</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l03957" name="l03957"></a><span class="lineno"> 3957</span> </div>
+<div class="line"><a id="l03958" name="l03958"></a><span class="lineno"> 3958</span> values[6] = (*ptr++ & 0x3f) << 21;</div>
+<div class="line"><a id="l03959" name="l03959"></a><span class="lineno"> 3959</span> values[6] |= *ptr++ << 13;</div>
+<div class="line"><a id="l03960" name="l03960"></a><span class="lineno"> 3960</span> values[6] |= *ptr++ << 5;</div>
+<div class="line"><a id="l03961" name="l03961"></a><span class="lineno"> 3961</span> values[6] |= *ptr >> 3;</div>
+<div class="line"><a id="l03962" name="l03962"></a><span class="lineno"> 3962</span> </div>
+<div class="line"><a id="l03963" name="l03963"></a><span class="lineno"> 3963</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 24;</div>
+<div class="line"><a id="l03964" name="l03964"></a><span class="lineno"> 3964</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l03965" name="l03965"></a><span class="lineno"> 3965</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03966" name="l03966"></a><span class="lineno"> 3966</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l03967" name="l03967"></a><span class="lineno"> 3967</span>}</div>
+<div class="line"><a id="l03968" name="l03968"></a><span class="lineno"> 3968</span> </div>
+<div class="line"><a id="l03969" name="l03969"></a><span class="lineno"> 3969</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_28(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l03970" name="l03970"></a><span class="lineno"> 3970</span> values[0] = *ptr++ << 20;</div>
+<div class="line"><a id="l03971" name="l03971"></a><span class="lineno"> 3971</span> values[0] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03972" name="l03972"></a><span class="lineno"> 3972</span> values[0] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03973" name="l03973"></a><span class="lineno"> 3973</span> values[0] |= *ptr >> 4;</div>
+<div class="line"><a id="l03974" name="l03974"></a><span class="lineno"> 3974</span> </div>
+<div class="line"><a id="l03975" name="l03975"></a><span class="lineno"> 3975</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 24;</div>
+<div class="line"><a id="l03976" name="l03976"></a><span class="lineno"> 3976</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l03977" name="l03977"></a><span class="lineno"> 3977</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03978" name="l03978"></a><span class="lineno"> 3978</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l03979" name="l03979"></a><span class="lineno"> 3979</span> </div>
+<div class="line"><a id="l03980" name="l03980"></a><span class="lineno"> 3980</span> values[2] = *ptr++ << 20;</div>
+<div class="line"><a id="l03981" name="l03981"></a><span class="lineno"> 3981</span> values[2] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03982" name="l03982"></a><span class="lineno"> 3982</span> values[2] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03983" name="l03983"></a><span class="lineno"> 3983</span> values[2] |= *ptr >> 4;</div>
+<div class="line"><a id="l03984" name="l03984"></a><span class="lineno"> 3984</span> </div>
+<div class="line"><a id="l03985" name="l03985"></a><span class="lineno"> 3985</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 24;</div>
+<div class="line"><a id="l03986" name="l03986"></a><span class="lineno"> 3986</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l03987" name="l03987"></a><span class="lineno"> 3987</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03988" name="l03988"></a><span class="lineno"> 3988</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l03989" name="l03989"></a><span class="lineno"> 3989</span> </div>
+<div class="line"><a id="l03990" name="l03990"></a><span class="lineno"> 3990</span> values[4] = *ptr++ << 20;</div>
+<div class="line"><a id="l03991" name="l03991"></a><span class="lineno"> 3991</span> values[4] |= *ptr++ << 12;</div>
+<div class="line"><a id="l03992" name="l03992"></a><span class="lineno"> 3992</span> values[4] |= *ptr++ << 4;</div>
+<div class="line"><a id="l03993" name="l03993"></a><span class="lineno"> 3993</span> values[4] |= *ptr >> 4;</div>
+<div class="line"><a id="l03994" name="l03994"></a><span class="lineno"> 3994</span> </div>
+<div class="line"><a id="l03995" name="l03995"></a><span class="lineno"> 3995</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 24;</div>
+<div class="line"><a id="l03996" name="l03996"></a><span class="lineno"> 3996</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l03997" name="l03997"></a><span class="lineno"> 3997</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l03998" name="l03998"></a><span class="lineno"> 3998</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l03999" name="l03999"></a><span class="lineno"> 3999</span> </div>
+<div class="line"><a id="l04000" name="l04000"></a><span class="lineno"> 4000</span> values[6] = *ptr++ << 20;</div>
+<div class="line"><a id="l04001" name="l04001"></a><span class="lineno"> 4001</span> values[6] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04002" name="l04002"></a><span class="lineno"> 4002</span> values[6] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04003" name="l04003"></a><span class="lineno"> 4003</span> values[6] |= *ptr >> 4;</div>
+<div class="line"><a id="l04004" name="l04004"></a><span class="lineno"> 4004</span> </div>
+<div class="line"><a id="l04005" name="l04005"></a><span class="lineno"> 4005</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 24;</div>
+<div class="line"><a id="l04006" name="l04006"></a><span class="lineno"> 4006</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04007" name="l04007"></a><span class="lineno"> 4007</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04008" name="l04008"></a><span class="lineno"> 4008</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04009" name="l04009"></a><span class="lineno"> 4009</span>}</div>
+<div class="line"><a id="l04010" name="l04010"></a><span class="lineno"> 4010</span> </div>
+<div class="line"><a id="l04011" name="l04011"></a><span class="lineno"> 4011</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_29(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04012" name="l04012"></a><span class="lineno"> 4012</span> values[0] = *ptr++ << 21;</div>
+<div class="line"><a id="l04013" name="l04013"></a><span class="lineno"> 4013</span> values[0] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04014" name="l04014"></a><span class="lineno"> 4014</span> values[0] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04015" name="l04015"></a><span class="lineno"> 4015</span> values[0] |= *ptr >> 3;</div>
+<div class="line"><a id="l04016" name="l04016"></a><span class="lineno"> 4016</span> </div>
+<div class="line"><a id="l04017" name="l04017"></a><span class="lineno"> 4017</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 26;</div>
+<div class="line"><a id="l04018" name="l04018"></a><span class="lineno"> 4018</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04019" name="l04019"></a><span class="lineno"> 4019</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04020" name="l04020"></a><span class="lineno"> 4020</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04021" name="l04021"></a><span class="lineno"> 4021</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l04022" name="l04022"></a><span class="lineno"> 4022</span> </div>
+<div class="line"><a id="l04023" name="l04023"></a><span class="lineno"> 4023</span> values[2] = (*ptr++ & 0x3f) << 23;</div>
+<div class="line"><a id="l04024" name="l04024"></a><span class="lineno"> 4024</span> values[2] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04025" name="l04025"></a><span class="lineno"> 4025</span> values[2] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04026" name="l04026"></a><span class="lineno"> 4026</span> values[2] |= *ptr >> 1;</div>
+<div class="line"><a id="l04027" name="l04027"></a><span class="lineno"> 4027</span> </div>
+<div class="line"><a id="l04028" name="l04028"></a><span class="lineno"> 4028</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 28;</div>
+<div class="line"><a id="l04029" name="l04029"></a><span class="lineno"> 4029</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04030" name="l04030"></a><span class="lineno"> 4030</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04031" name="l04031"></a><span class="lineno"> 4031</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04032" name="l04032"></a><span class="lineno"> 4032</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04033" name="l04033"></a><span class="lineno"> 4033</span> </div>
+<div class="line"><a id="l04034" name="l04034"></a><span class="lineno"> 4034</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 25;</div>
+<div class="line"><a id="l04035" name="l04035"></a><span class="lineno"> 4035</span> values[4] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04036" name="l04036"></a><span class="lineno"> 4036</span> values[4] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04037" name="l04037"></a><span class="lineno"> 4037</span> values[4] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04038" name="l04038"></a><span class="lineno"> 4038</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l04039" name="l04039"></a><span class="lineno"> 4039</span> </div>
+<div class="line"><a id="l04040" name="l04040"></a><span class="lineno"> 4040</span> values[5] = (*ptr++ & 0x7f) << 22;</div>
+<div class="line"><a id="l04041" name="l04041"></a><span class="lineno"> 4041</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04042" name="l04042"></a><span class="lineno"> 4042</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04043" name="l04043"></a><span class="lineno"> 4043</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l04044" name="l04044"></a><span class="lineno"> 4044</span> </div>
+<div class="line"><a id="l04045" name="l04045"></a><span class="lineno"> 4045</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 27;</div>
+<div class="line"><a id="l04046" name="l04046"></a><span class="lineno"> 4046</span> values[6] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04047" name="l04047"></a><span class="lineno"> 4047</span> values[6] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04048" name="l04048"></a><span class="lineno"> 4048</span> values[6] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04049" name="l04049"></a><span class="lineno"> 4049</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l04050" name="l04050"></a><span class="lineno"> 4050</span> </div>
+<div class="line"><a id="l04051" name="l04051"></a><span class="lineno"> 4051</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 24;</div>
+<div class="line"><a id="l04052" name="l04052"></a><span class="lineno"> 4052</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04053" name="l04053"></a><span class="lineno"> 4053</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04054" name="l04054"></a><span class="lineno"> 4054</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04055" name="l04055"></a><span class="lineno"> 4055</span>}</div>
+<div class="line"><a id="l04056" name="l04056"></a><span class="lineno"> 4056</span> </div>
+<div class="line"><a id="l04057" name="l04057"></a><span class="lineno"> 4057</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_30(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04058" name="l04058"></a><span class="lineno"> 4058</span> values[0] = *ptr++ << 22;</div>
+<div class="line"><a id="l04059" name="l04059"></a><span class="lineno"> 4059</span> values[0] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04060" name="l04060"></a><span class="lineno"> 4060</span> values[0] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04061" name="l04061"></a><span class="lineno"> 4061</span> values[0] |= *ptr >> 2;</div>
+<div class="line"><a id="l04062" name="l04062"></a><span class="lineno"> 4062</span> </div>
+<div class="line"><a id="l04063" name="l04063"></a><span class="lineno"> 4063</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 28;</div>
+<div class="line"><a id="l04064" name="l04064"></a><span class="lineno"> 4064</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04065" name="l04065"></a><span class="lineno"> 4065</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04066" name="l04066"></a><span class="lineno"> 4066</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04067" name="l04067"></a><span class="lineno"> 4067</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l04068" name="l04068"></a><span class="lineno"> 4068</span> </div>
+<div class="line"><a id="l04069" name="l04069"></a><span class="lineno"> 4069</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 26;</div>
+<div class="line"><a id="l04070" name="l04070"></a><span class="lineno"> 4070</span> values[2] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04071" name="l04071"></a><span class="lineno"> 4071</span> values[2] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04072" name="l04072"></a><span class="lineno"> 4072</span> values[2] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04073" name="l04073"></a><span class="lineno"> 4073</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l04074" name="l04074"></a><span class="lineno"> 4074</span> </div>
+<div class="line"><a id="l04075" name="l04075"></a><span class="lineno"> 4075</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 24;</div>
+<div class="line"><a id="l04076" name="l04076"></a><span class="lineno"> 4076</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04077" name="l04077"></a><span class="lineno"> 4077</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04078" name="l04078"></a><span class="lineno"> 4078</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04079" name="l04079"></a><span class="lineno"> 4079</span> </div>
+<div class="line"><a id="l04080" name="l04080"></a><span class="lineno"> 4080</span> values[4] = *ptr++ << 22;</div>
+<div class="line"><a id="l04081" name="l04081"></a><span class="lineno"> 4081</span> values[4] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04082" name="l04082"></a><span class="lineno"> 4082</span> values[4] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04083" name="l04083"></a><span class="lineno"> 4083</span> values[4] |= *ptr >> 2;</div>
+<div class="line"><a id="l04084" name="l04084"></a><span class="lineno"> 4084</span> </div>
+<div class="line"><a id="l04085" name="l04085"></a><span class="lineno"> 4085</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 28;</div>
+<div class="line"><a id="l04086" name="l04086"></a><span class="lineno"> 4086</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04087" name="l04087"></a><span class="lineno"> 4087</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04088" name="l04088"></a><span class="lineno"> 4088</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04089" name="l04089"></a><span class="lineno"> 4089</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l04090" name="l04090"></a><span class="lineno"> 4090</span> </div>
+<div class="line"><a id="l04091" name="l04091"></a><span class="lineno"> 4091</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 26;</div>
+<div class="line"><a id="l04092" name="l04092"></a><span class="lineno"> 4092</span> values[6] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04093" name="l04093"></a><span class="lineno"> 4093</span> values[6] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04094" name="l04094"></a><span class="lineno"> 4094</span> values[6] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04095" name="l04095"></a><span class="lineno"> 4095</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l04096" name="l04096"></a><span class="lineno"> 4096</span> </div>
+<div class="line"><a id="l04097" name="l04097"></a><span class="lineno"> 4097</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 24;</div>
+<div class="line"><a id="l04098" name="l04098"></a><span class="lineno"> 4098</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04099" name="l04099"></a><span class="lineno"> 4099</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04100" name="l04100"></a><span class="lineno"> 4100</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04101" name="l04101"></a><span class="lineno"> 4101</span>}</div>
+<div class="line"><a id="l04102" name="l04102"></a><span class="lineno"> 4102</span> </div>
+<div class="line"><a id="l04103" name="l04103"></a><span class="lineno"> 4103</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_31(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04104" name="l04104"></a><span class="lineno"> 4104</span> values[0] = *ptr++ << 23;</div>
+<div class="line"><a id="l04105" name="l04105"></a><span class="lineno"> 4105</span> values[0] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04106" name="l04106"></a><span class="lineno"> 4106</span> values[0] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04107" name="l04107"></a><span class="lineno"> 4107</span> values[0] |= *ptr >> 1;</div>
+<div class="line"><a id="l04108" name="l04108"></a><span class="lineno"> 4108</span> </div>
+<div class="line"><a id="l04109" name="l04109"></a><span class="lineno"> 4109</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 30;</div>
+<div class="line"><a id="l04110" name="l04110"></a><span class="lineno"> 4110</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04111" name="l04111"></a><span class="lineno"> 4111</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04112" name="l04112"></a><span class="lineno"> 4112</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04113" name="l04113"></a><span class="lineno"> 4113</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l04114" name="l04114"></a><span class="lineno"> 4114</span> </div>
+<div class="line"><a id="l04115" name="l04115"></a><span class="lineno"> 4115</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 29;</div>
+<div class="line"><a id="l04116" name="l04116"></a><span class="lineno"> 4116</span> values[2] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04117" name="l04117"></a><span class="lineno"> 4117</span> values[2] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04118" name="l04118"></a><span class="lineno"> 4118</span> values[2] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04119" name="l04119"></a><span class="lineno"> 4119</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l04120" name="l04120"></a><span class="lineno"> 4120</span> </div>
+<div class="line"><a id="l04121" name="l04121"></a><span class="lineno"> 4121</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 28;</div>
+<div class="line"><a id="l04122" name="l04122"></a><span class="lineno"> 4122</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04123" name="l04123"></a><span class="lineno"> 4123</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04124" name="l04124"></a><span class="lineno"> 4124</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04125" name="l04125"></a><span class="lineno"> 4125</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04126" name="l04126"></a><span class="lineno"> 4126</span> </div>
+<div class="line"><a id="l04127" name="l04127"></a><span class="lineno"> 4127</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 27;</div>
+<div class="line"><a id="l04128" name="l04128"></a><span class="lineno"> 4128</span> values[4] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04129" name="l04129"></a><span class="lineno"> 4129</span> values[4] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04130" name="l04130"></a><span class="lineno"> 4130</span> values[4] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04131" name="l04131"></a><span class="lineno"> 4131</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l04132" name="l04132"></a><span class="lineno"> 4132</span> </div>
+<div class="line"><a id="l04133" name="l04133"></a><span class="lineno"> 4133</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 26;</div>
+<div class="line"><a id="l04134" name="l04134"></a><span class="lineno"> 4134</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04135" name="l04135"></a><span class="lineno"> 4135</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04136" name="l04136"></a><span class="lineno"> 4136</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04137" name="l04137"></a><span class="lineno"> 4137</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l04138" name="l04138"></a><span class="lineno"> 4138</span> </div>
+<div class="line"><a id="l04139" name="l04139"></a><span class="lineno"> 4139</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 25;</div>
+<div class="line"><a id="l04140" name="l04140"></a><span class="lineno"> 4140</span> values[6] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04141" name="l04141"></a><span class="lineno"> 4141</span> values[6] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04142" name="l04142"></a><span class="lineno"> 4142</span> values[6] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04143" name="l04143"></a><span class="lineno"> 4143</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l04144" name="l04144"></a><span class="lineno"> 4144</span> </div>
+<div class="line"><a id="l04145" name="l04145"></a><span class="lineno"> 4145</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 24;</div>
+<div class="line"><a id="l04146" name="l04146"></a><span class="lineno"> 4146</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04147" name="l04147"></a><span class="lineno"> 4147</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04148" name="l04148"></a><span class="lineno"> 4148</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04149" name="l04149"></a><span class="lineno"> 4149</span>}</div>
+<div class="line"><a id="l04150" name="l04150"></a><span class="lineno"> 4150</span> </div>
+<div class="line"><a id="l04151" name="l04151"></a><span class="lineno"> 4151</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_32(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04152" name="l04152"></a><span class="lineno"> 4152</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04153" name="l04153"></a><span class="lineno"> 4153</span> values[0] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04154" name="l04154"></a><span class="lineno"> 4154</span> values[0] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04155" name="l04155"></a><span class="lineno"> 4155</span> values[0] |= *ptr++;</div>
+<div class="line"><a id="l04156" name="l04156"></a><span class="lineno"> 4156</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04157" name="l04157"></a><span class="lineno"> 4157</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04158" name="l04158"></a><span class="lineno"> 4158</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04159" name="l04159"></a><span class="lineno"> 4159</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l04160" name="l04160"></a><span class="lineno"> 4160</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04161" name="l04161"></a><span class="lineno"> 4161</span> values[2] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04162" name="l04162"></a><span class="lineno"> 4162</span> values[2] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04163" name="l04163"></a><span class="lineno"> 4163</span> values[2] |= *ptr++;</div>
+<div class="line"><a id="l04164" name="l04164"></a><span class="lineno"> 4164</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04165" name="l04165"></a><span class="lineno"> 4165</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04166" name="l04166"></a><span class="lineno"> 4166</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04167" name="l04167"></a><span class="lineno"> 4167</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04168" name="l04168"></a><span class="lineno"> 4168</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04169" name="l04169"></a><span class="lineno"> 4169</span> values[4] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04170" name="l04170"></a><span class="lineno"> 4170</span> values[4] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04171" name="l04171"></a><span class="lineno"> 4171</span> values[4] |= *ptr++;</div>
+<div class="line"><a id="l04172" name="l04172"></a><span class="lineno"> 4172</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04173" name="l04173"></a><span class="lineno"> 4173</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04174" name="l04174"></a><span class="lineno"> 4174</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04175" name="l04175"></a><span class="lineno"> 4175</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l04176" name="l04176"></a><span class="lineno"> 4176</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04177" name="l04177"></a><span class="lineno"> 4177</span> values[6] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04178" name="l04178"></a><span class="lineno"> 4178</span> values[6] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04179" name="l04179"></a><span class="lineno"> 4179</span> values[6] |= *ptr++;</div>
+<div class="line"><a id="l04180" name="l04180"></a><span class="lineno"> 4180</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04181" name="l04181"></a><span class="lineno"> 4181</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04182" name="l04182"></a><span class="lineno"> 4182</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04183" name="l04183"></a><span class="lineno"> 4183</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04184" name="l04184"></a><span class="lineno"> 4184</span>}</div>
+<div class="line"><a id="l04185" name="l04185"></a><span class="lineno"> 4185</span> </div>
+<div class="line"><a id="l04186" name="l04186"></a><span class="lineno"> 4186</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_33(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04187" name="l04187"></a><span class="lineno"> 4187</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l04188" name="l04188"></a><span class="lineno"> 4188</span> values[0] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04189" name="l04189"></a><span class="lineno"> 4189</span> values[0] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04190" name="l04190"></a><span class="lineno"> 4190</span> values[0] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04191" name="l04191"></a><span class="lineno"> 4191</span> values[0] |= *ptr >> 7;</div>
+<div class="line"><a id="l04192" name="l04192"></a><span class="lineno"> 4192</span> </div>
+<div class="line"><a id="l04193" name="l04193"></a><span class="lineno"> 4193</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 26;</div>
+<div class="line"><a id="l04194" name="l04194"></a><span class="lineno"> 4194</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04195" name="l04195"></a><span class="lineno"> 4195</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04196" name="l04196"></a><span class="lineno"> 4196</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04197" name="l04197"></a><span class="lineno"> 4197</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l04198" name="l04198"></a><span class="lineno"> 4198</span> </div>
+<div class="line"><a id="l04199" name="l04199"></a><span class="lineno"> 4199</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 27;</div>
+<div class="line"><a id="l04200" name="l04200"></a><span class="lineno"> 4200</span> values[2] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04201" name="l04201"></a><span class="lineno"> 4201</span> values[2] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04202" name="l04202"></a><span class="lineno"> 4202</span> values[2] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04203" name="l04203"></a><span class="lineno"> 4203</span> values[2] |= *ptr >> 5;</div>
+<div class="line"><a id="l04204" name="l04204"></a><span class="lineno"> 4204</span> </div>
+<div class="line"><a id="l04205" name="l04205"></a><span class="lineno"> 4205</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 28;</div>
+<div class="line"><a id="l04206" name="l04206"></a><span class="lineno"> 4206</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04207" name="l04207"></a><span class="lineno"> 4207</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04208" name="l04208"></a><span class="lineno"> 4208</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04209" name="l04209"></a><span class="lineno"> 4209</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04210" name="l04210"></a><span class="lineno"> 4210</span> </div>
+<div class="line"><a id="l04211" name="l04211"></a><span class="lineno"> 4211</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 29;</div>
+<div class="line"><a id="l04212" name="l04212"></a><span class="lineno"> 4212</span> values[4] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04213" name="l04213"></a><span class="lineno"> 4213</span> values[4] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04214" name="l04214"></a><span class="lineno"> 4214</span> values[4] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04215" name="l04215"></a><span class="lineno"> 4215</span> values[4] |= *ptr >> 3;</div>
+<div class="line"><a id="l04216" name="l04216"></a><span class="lineno"> 4216</span> </div>
+<div class="line"><a id="l04217" name="l04217"></a><span class="lineno"> 4217</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 30;</div>
+<div class="line"><a id="l04218" name="l04218"></a><span class="lineno"> 4218</span> values[5] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04219" name="l04219"></a><span class="lineno"> 4219</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04220" name="l04220"></a><span class="lineno"> 4220</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04221" name="l04221"></a><span class="lineno"> 4221</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l04222" name="l04222"></a><span class="lineno"> 4222</span> </div>
+<div class="line"><a id="l04223" name="l04223"></a><span class="lineno"> 4223</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 31;</div>
+<div class="line"><a id="l04224" name="l04224"></a><span class="lineno"> 4224</span> values[6] |= *ptr++ << 23;</div>
+<div class="line"><a id="l04225" name="l04225"></a><span class="lineno"> 4225</span> values[6] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04226" name="l04226"></a><span class="lineno"> 4226</span> values[6] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04227" name="l04227"></a><span class="lineno"> 4227</span> values[6] |= *ptr >> 1;</div>
+<div class="line"><a id="l04228" name="l04228"></a><span class="lineno"> 4228</span> </div>
+<div class="line"><a id="l04229" name="l04229"></a><span class="lineno"> 4229</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 32;</div>
+<div class="line"><a id="l04230" name="l04230"></a><span class="lineno"> 4230</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04231" name="l04231"></a><span class="lineno"> 4231</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04232" name="l04232"></a><span class="lineno"> 4232</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04233" name="l04233"></a><span class="lineno"> 4233</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04234" name="l04234"></a><span class="lineno"> 4234</span>}</div>
+<div class="line"><a id="l04235" name="l04235"></a><span class="lineno"> 4235</span> </div>
+<div class="line"><a id="l04236" name="l04236"></a><span class="lineno"> 4236</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_34(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04237" name="l04237"></a><span class="lineno"> 4237</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04238" name="l04238"></a><span class="lineno"> 4238</span> values[0] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04239" name="l04239"></a><span class="lineno"> 4239</span> values[0] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04240" name="l04240"></a><span class="lineno"> 4240</span> values[0] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04241" name="l04241"></a><span class="lineno"> 4241</span> values[0] |= *ptr >> 6;</div>
+<div class="line"><a id="l04242" name="l04242"></a><span class="lineno"> 4242</span> </div>
+<div class="line"><a id="l04243" name="l04243"></a><span class="lineno"> 4243</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 28;</div>
+<div class="line"><a id="l04244" name="l04244"></a><span class="lineno"> 4244</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04245" name="l04245"></a><span class="lineno"> 4245</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04246" name="l04246"></a><span class="lineno"> 4246</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04247" name="l04247"></a><span class="lineno"> 4247</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l04248" name="l04248"></a><span class="lineno"> 4248</span> </div>
+<div class="line"><a id="l04249" name="l04249"></a><span class="lineno"> 4249</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 30;</div>
+<div class="line"><a id="l04250" name="l04250"></a><span class="lineno"> 4250</span> values[2] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04251" name="l04251"></a><span class="lineno"> 4251</span> values[2] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04252" name="l04252"></a><span class="lineno"> 4252</span> values[2] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04253" name="l04253"></a><span class="lineno"> 4253</span> values[2] |= *ptr >> 2;</div>
+<div class="line"><a id="l04254" name="l04254"></a><span class="lineno"> 4254</span> </div>
+<div class="line"><a id="l04255" name="l04255"></a><span class="lineno"> 4255</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 32;</div>
+<div class="line"><a id="l04256" name="l04256"></a><span class="lineno"> 4256</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04257" name="l04257"></a><span class="lineno"> 4257</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04258" name="l04258"></a><span class="lineno"> 4258</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04259" name="l04259"></a><span class="lineno"> 4259</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04260" name="l04260"></a><span class="lineno"> 4260</span> </div>
+<div class="line"><a id="l04261" name="l04261"></a><span class="lineno"> 4261</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04262" name="l04262"></a><span class="lineno"> 4262</span> values[4] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04263" name="l04263"></a><span class="lineno"> 4263</span> values[4] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04264" name="l04264"></a><span class="lineno"> 4264</span> values[4] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04265" name="l04265"></a><span class="lineno"> 4265</span> values[4] |= *ptr >> 6;</div>
+<div class="line"><a id="l04266" name="l04266"></a><span class="lineno"> 4266</span> </div>
+<div class="line"><a id="l04267" name="l04267"></a><span class="lineno"> 4267</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 28;</div>
+<div class="line"><a id="l04268" name="l04268"></a><span class="lineno"> 4268</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04269" name="l04269"></a><span class="lineno"> 4269</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04270" name="l04270"></a><span class="lineno"> 4270</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04271" name="l04271"></a><span class="lineno"> 4271</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l04272" name="l04272"></a><span class="lineno"> 4272</span> </div>
+<div class="line"><a id="l04273" name="l04273"></a><span class="lineno"> 4273</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 30;</div>
+<div class="line"><a id="l04274" name="l04274"></a><span class="lineno"> 4274</span> values[6] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04275" name="l04275"></a><span class="lineno"> 4275</span> values[6] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04276" name="l04276"></a><span class="lineno"> 4276</span> values[6] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04277" name="l04277"></a><span class="lineno"> 4277</span> values[6] |= *ptr >> 2;</div>
+<div class="line"><a id="l04278" name="l04278"></a><span class="lineno"> 4278</span> </div>
+<div class="line"><a id="l04279" name="l04279"></a><span class="lineno"> 4279</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 32;</div>
+<div class="line"><a id="l04280" name="l04280"></a><span class="lineno"> 4280</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04281" name="l04281"></a><span class="lineno"> 4281</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04282" name="l04282"></a><span class="lineno"> 4282</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04283" name="l04283"></a><span class="lineno"> 4283</span> values[7] |= *ptr++;</div>
+<div class="line"><a id="l04284" name="l04284"></a><span class="lineno"> 4284</span>}</div>
+<div class="line"><a id="l04285" name="l04285"></a><span class="lineno"> 4285</span> </div>
+<div class="line"><a id="l04286" name="l04286"></a><span class="lineno"> 4286</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_35(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04287" name="l04287"></a><span class="lineno"> 4287</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l04288" name="l04288"></a><span class="lineno"> 4288</span> values[0] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04289" name="l04289"></a><span class="lineno"> 4289</span> values[0] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04290" name="l04290"></a><span class="lineno"> 4290</span> values[0] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04291" name="l04291"></a><span class="lineno"> 4291</span> values[0] |= *ptr >> 5;</div>
+<div class="line"><a id="l04292" name="l04292"></a><span class="lineno"> 4292</span> </div>
+<div class="line"><a id="l04293" name="l04293"></a><span class="lineno"> 4293</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 30;</div>
+<div class="line"><a id="l04294" name="l04294"></a><span class="lineno"> 4294</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04295" name="l04295"></a><span class="lineno"> 4295</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04296" name="l04296"></a><span class="lineno"> 4296</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04297" name="l04297"></a><span class="lineno"> 4297</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l04298" name="l04298"></a><span class="lineno"> 4298</span> </div>
+<div class="line"><a id="l04299" name="l04299"></a><span class="lineno"> 4299</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 33;</div>
+<div class="line"><a id="l04300" name="l04300"></a><span class="lineno"> 4300</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l04301" name="l04301"></a><span class="lineno"> 4301</span> values[2] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04302" name="l04302"></a><span class="lineno"> 4302</span> values[2] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04303" name="l04303"></a><span class="lineno"> 4303</span> values[2] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04304" name="l04304"></a><span class="lineno"> 4304</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l04305" name="l04305"></a><span class="lineno"> 4305</span> </div>
+<div class="line"><a id="l04306" name="l04306"></a><span class="lineno"> 4306</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 28;</div>
+<div class="line"><a id="l04307" name="l04307"></a><span class="lineno"> 4307</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04308" name="l04308"></a><span class="lineno"> 4308</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04309" name="l04309"></a><span class="lineno"> 4309</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04310" name="l04310"></a><span class="lineno"> 4310</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04311" name="l04311"></a><span class="lineno"> 4311</span> </div>
+<div class="line"><a id="l04312" name="l04312"></a><span class="lineno"> 4312</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 31;</div>
+<div class="line"><a id="l04313" name="l04313"></a><span class="lineno"> 4313</span> values[4] |= *ptr++ << 23;</div>
+<div class="line"><a id="l04314" name="l04314"></a><span class="lineno"> 4314</span> values[4] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04315" name="l04315"></a><span class="lineno"> 4315</span> values[4] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04316" name="l04316"></a><span class="lineno"> 4316</span> values[4] |= *ptr >> 1;</div>
+<div class="line"><a id="l04317" name="l04317"></a><span class="lineno"> 4317</span> </div>
+<div class="line"><a id="l04318" name="l04318"></a><span class="lineno"> 4318</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 34;</div>
+<div class="line"><a id="l04319" name="l04319"></a><span class="lineno"> 4319</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04320" name="l04320"></a><span class="lineno"> 4320</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04321" name="l04321"></a><span class="lineno"> 4321</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04322" name="l04322"></a><span class="lineno"> 4322</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04323" name="l04323"></a><span class="lineno"> 4323</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l04324" name="l04324"></a><span class="lineno"> 4324</span> </div>
+<div class="line"><a id="l04325" name="l04325"></a><span class="lineno"> 4325</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 29;</div>
+<div class="line"><a id="l04326" name="l04326"></a><span class="lineno"> 4326</span> values[6] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04327" name="l04327"></a><span class="lineno"> 4327</span> values[6] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04328" name="l04328"></a><span class="lineno"> 4328</span> values[6] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04329" name="l04329"></a><span class="lineno"> 4329</span> values[6] |= *ptr >> 3;</div>
+<div class="line"><a id="l04330" name="l04330"></a><span class="lineno"> 4330</span> </div>
+<div class="line"><a id="l04331" name="l04331"></a><span class="lineno"> 4331</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 32;</div>
+<div class="line"><a id="l04332" name="l04332"></a><span class="lineno"> 4332</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04333" name="l04333"></a><span class="lineno"> 4333</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04334" name="l04334"></a><span class="lineno"> 4334</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04335" name="l04335"></a><span class="lineno"> 4335</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04336" name="l04336"></a><span class="lineno"> 4336</span>}</div>
+<div class="line"><a id="l04337" name="l04337"></a><span class="lineno"> 4337</span> </div>
+<div class="line"><a id="l04338" name="l04338"></a><span class="lineno"> 4338</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_36(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04339" name="l04339"></a><span class="lineno"> 4339</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04340" name="l04340"></a><span class="lineno"> 4340</span> values[0] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04341" name="l04341"></a><span class="lineno"> 4341</span> values[0] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04342" name="l04342"></a><span class="lineno"> 4342</span> values[0] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04343" name="l04343"></a><span class="lineno"> 4343</span> values[0] |= *ptr >> 4;</div>
+<div class="line"><a id="l04344" name="l04344"></a><span class="lineno"> 4344</span> </div>
+<div class="line"><a id="l04345" name="l04345"></a><span class="lineno"> 4345</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 32;</div>
+<div class="line"><a id="l04346" name="l04346"></a><span class="lineno"> 4346</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04347" name="l04347"></a><span class="lineno"> 4347</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04348" name="l04348"></a><span class="lineno"> 4348</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04349" name="l04349"></a><span class="lineno"> 4349</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l04350" name="l04350"></a><span class="lineno"> 4350</span> </div>
+<div class="line"><a id="l04351" name="l04351"></a><span class="lineno"> 4351</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04352" name="l04352"></a><span class="lineno"> 4352</span> values[2] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04353" name="l04353"></a><span class="lineno"> 4353</span> values[2] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04354" name="l04354"></a><span class="lineno"> 4354</span> values[2] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04355" name="l04355"></a><span class="lineno"> 4355</span> values[2] |= *ptr >> 4;</div>
+<div class="line"><a id="l04356" name="l04356"></a><span class="lineno"> 4356</span> </div>
+<div class="line"><a id="l04357" name="l04357"></a><span class="lineno"> 4357</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 32;</div>
+<div class="line"><a id="l04358" name="l04358"></a><span class="lineno"> 4358</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04359" name="l04359"></a><span class="lineno"> 4359</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04360" name="l04360"></a><span class="lineno"> 4360</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04361" name="l04361"></a><span class="lineno"> 4361</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04362" name="l04362"></a><span class="lineno"> 4362</span> </div>
+<div class="line"><a id="l04363" name="l04363"></a><span class="lineno"> 4363</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04364" name="l04364"></a><span class="lineno"> 4364</span> values[4] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04365" name="l04365"></a><span class="lineno"> 4365</span> values[4] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04366" name="l04366"></a><span class="lineno"> 4366</span> values[4] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04367" name="l04367"></a><span class="lineno"> 4367</span> values[4] |= *ptr >> 4;</div>
+<div class="line"><a id="l04368" name="l04368"></a><span class="lineno"> 4368</span> </div>
+<div class="line"><a id="l04369" name="l04369"></a><span class="lineno"> 4369</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 32;</div>
+<div class="line"><a id="l04370" name="l04370"></a><span class="lineno"> 4370</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04371" name="l04371"></a><span class="lineno"> 4371</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04372" name="l04372"></a><span class="lineno"> 4372</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04373" name="l04373"></a><span class="lineno"> 4373</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l04374" name="l04374"></a><span class="lineno"> 4374</span> </div>
+<div class="line"><a id="l04375" name="l04375"></a><span class="lineno"> 4375</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04376" name="l04376"></a><span class="lineno"> 4376</span> values[6] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04377" name="l04377"></a><span class="lineno"> 4377</span> values[6] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04378" name="l04378"></a><span class="lineno"> 4378</span> values[6] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04379" name="l04379"></a><span class="lineno"> 4379</span> values[6] |= *ptr >> 4;</div>
+<div class="line"><a id="l04380" name="l04380"></a><span class="lineno"> 4380</span> </div>
+<div class="line"><a id="l04381" name="l04381"></a><span class="lineno"> 4381</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 32;</div>
+<div class="line"><a id="l04382" name="l04382"></a><span class="lineno"> 4382</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04383" name="l04383"></a><span class="lineno"> 4383</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04384" name="l04384"></a><span class="lineno"> 4384</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04385" name="l04385"></a><span class="lineno"> 4385</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04386" name="l04386"></a><span class="lineno"> 4386</span>}</div>
+<div class="line"><a id="l04387" name="l04387"></a><span class="lineno"> 4387</span> </div>
+<div class="line"><a id="l04388" name="l04388"></a><span class="lineno"> 4388</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_37(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04389" name="l04389"></a><span class="lineno"> 4389</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l04390" name="l04390"></a><span class="lineno"> 4390</span> values[0] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04391" name="l04391"></a><span class="lineno"> 4391</span> values[0] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04392" name="l04392"></a><span class="lineno"> 4392</span> values[0] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04393" name="l04393"></a><span class="lineno"> 4393</span> values[0] |= *ptr >> 3;</div>
+<div class="line"><a id="l04394" name="l04394"></a><span class="lineno"> 4394</span> </div>
+<div class="line"><a id="l04395" name="l04395"></a><span class="lineno"> 4395</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 34;</div>
+<div class="line"><a id="l04396" name="l04396"></a><span class="lineno"> 4396</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04397" name="l04397"></a><span class="lineno"> 4397</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04398" name="l04398"></a><span class="lineno"> 4398</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04399" name="l04399"></a><span class="lineno"> 4399</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04400" name="l04400"></a><span class="lineno"> 4400</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l04401" name="l04401"></a><span class="lineno"> 4401</span> </div>
+<div class="line"><a id="l04402" name="l04402"></a><span class="lineno"> 4402</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 31;</div>
+<div class="line"><a id="l04403" name="l04403"></a><span class="lineno"> 4403</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 23;</div>
+<div class="line"><a id="l04404" name="l04404"></a><span class="lineno"> 4404</span> values[2] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04405" name="l04405"></a><span class="lineno"> 4405</span> values[2] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04406" name="l04406"></a><span class="lineno"> 4406</span> values[2] |= *ptr >> 1;</div>
+<div class="line"><a id="l04407" name="l04407"></a><span class="lineno"> 4407</span> </div>
+<div class="line"><a id="l04408" name="l04408"></a><span class="lineno"> 4408</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 36;</div>
+<div class="line"><a id="l04409" name="l04409"></a><span class="lineno"> 4409</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04410" name="l04410"></a><span class="lineno"> 4410</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04411" name="l04411"></a><span class="lineno"> 4411</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04412" name="l04412"></a><span class="lineno"> 4412</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04413" name="l04413"></a><span class="lineno"> 4413</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04414" name="l04414"></a><span class="lineno"> 4414</span> </div>
+<div class="line"><a id="l04415" name="l04415"></a><span class="lineno"> 4415</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 33;</div>
+<div class="line"><a id="l04416" name="l04416"></a><span class="lineno"> 4416</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l04417" name="l04417"></a><span class="lineno"> 4417</span> values[4] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04418" name="l04418"></a><span class="lineno"> 4418</span> values[4] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04419" name="l04419"></a><span class="lineno"> 4419</span> values[4] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04420" name="l04420"></a><span class="lineno"> 4420</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l04421" name="l04421"></a><span class="lineno"> 4421</span> </div>
+<div class="line"><a id="l04422" name="l04422"></a><span class="lineno"> 4422</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 30;</div>
+<div class="line"><a id="l04423" name="l04423"></a><span class="lineno"> 4423</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 22;</div>
+<div class="line"><a id="l04424" name="l04424"></a><span class="lineno"> 4424</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04425" name="l04425"></a><span class="lineno"> 4425</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04426" name="l04426"></a><span class="lineno"> 4426</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l04427" name="l04427"></a><span class="lineno"> 4427</span> </div>
+<div class="line"><a id="l04428" name="l04428"></a><span class="lineno"> 4428</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 35;</div>
+<div class="line"><a id="l04429" name="l04429"></a><span class="lineno"> 4429</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l04430" name="l04430"></a><span class="lineno"> 4430</span> values[6] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04431" name="l04431"></a><span class="lineno"> 4431</span> values[6] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04432" name="l04432"></a><span class="lineno"> 4432</span> values[6] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04433" name="l04433"></a><span class="lineno"> 4433</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l04434" name="l04434"></a><span class="lineno"> 4434</span> </div>
+<div class="line"><a id="l04435" name="l04435"></a><span class="lineno"> 4435</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 32;</div>
+<div class="line"><a id="l04436" name="l04436"></a><span class="lineno"> 4436</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04437" name="l04437"></a><span class="lineno"> 4437</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04438" name="l04438"></a><span class="lineno"> 4438</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04439" name="l04439"></a><span class="lineno"> 4439</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04440" name="l04440"></a><span class="lineno"> 4440</span>}</div>
+<div class="line"><a id="l04441" name="l04441"></a><span class="lineno"> 4441</span> </div>
+<div class="line"><a id="l04442" name="l04442"></a><span class="lineno"> 4442</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_38(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04443" name="l04443"></a><span class="lineno"> 4443</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04444" name="l04444"></a><span class="lineno"> 4444</span> values[0] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04445" name="l04445"></a><span class="lineno"> 4445</span> values[0] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04446" name="l04446"></a><span class="lineno"> 4446</span> values[0] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04447" name="l04447"></a><span class="lineno"> 4447</span> values[0] |= *ptr >> 2;</div>
+<div class="line"><a id="l04448" name="l04448"></a><span class="lineno"> 4448</span> </div>
+<div class="line"><a id="l04449" name="l04449"></a><span class="lineno"> 4449</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 36;</div>
+<div class="line"><a id="l04450" name="l04450"></a><span class="lineno"> 4450</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04451" name="l04451"></a><span class="lineno"> 4451</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04452" name="l04452"></a><span class="lineno"> 4452</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04453" name="l04453"></a><span class="lineno"> 4453</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04454" name="l04454"></a><span class="lineno"> 4454</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l04455" name="l04455"></a><span class="lineno"> 4455</span> </div>
+<div class="line"><a id="l04456" name="l04456"></a><span class="lineno"> 4456</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 34;</div>
+<div class="line"><a id="l04457" name="l04457"></a><span class="lineno"> 4457</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04458" name="l04458"></a><span class="lineno"> 4458</span> values[2] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04459" name="l04459"></a><span class="lineno"> 4459</span> values[2] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04460" name="l04460"></a><span class="lineno"> 4460</span> values[2] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04461" name="l04461"></a><span class="lineno"> 4461</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l04462" name="l04462"></a><span class="lineno"> 4462</span> </div>
+<div class="line"><a id="l04463" name="l04463"></a><span class="lineno"> 4463</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 32;</div>
+<div class="line"><a id="l04464" name="l04464"></a><span class="lineno"> 4464</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04465" name="l04465"></a><span class="lineno"> 4465</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04466" name="l04466"></a><span class="lineno"> 4466</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04467" name="l04467"></a><span class="lineno"> 4467</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04468" name="l04468"></a><span class="lineno"> 4468</span> </div>
+<div class="line"><a id="l04469" name="l04469"></a><span class="lineno"> 4469</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04470" name="l04470"></a><span class="lineno"> 4470</span> values[4] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04471" name="l04471"></a><span class="lineno"> 4471</span> values[4] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04472" name="l04472"></a><span class="lineno"> 4472</span> values[4] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04473" name="l04473"></a><span class="lineno"> 4473</span> values[4] |= *ptr >> 2;</div>
+<div class="line"><a id="l04474" name="l04474"></a><span class="lineno"> 4474</span> </div>
+<div class="line"><a id="l04475" name="l04475"></a><span class="lineno"> 4475</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 36;</div>
+<div class="line"><a id="l04476" name="l04476"></a><span class="lineno"> 4476</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04477" name="l04477"></a><span class="lineno"> 4477</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04478" name="l04478"></a><span class="lineno"> 4478</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04479" name="l04479"></a><span class="lineno"> 4479</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04480" name="l04480"></a><span class="lineno"> 4480</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l04481" name="l04481"></a><span class="lineno"> 4481</span> </div>
+<div class="line"><a id="l04482" name="l04482"></a><span class="lineno"> 4482</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 34;</div>
+<div class="line"><a id="l04483" name="l04483"></a><span class="lineno"> 4483</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04484" name="l04484"></a><span class="lineno"> 4484</span> values[6] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04485" name="l04485"></a><span class="lineno"> 4485</span> values[6] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04486" name="l04486"></a><span class="lineno"> 4486</span> values[6] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04487" name="l04487"></a><span class="lineno"> 4487</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l04488" name="l04488"></a><span class="lineno"> 4488</span> </div>
+<div class="line"><a id="l04489" name="l04489"></a><span class="lineno"> 4489</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 32;</div>
+<div class="line"><a id="l04490" name="l04490"></a><span class="lineno"> 4490</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04491" name="l04491"></a><span class="lineno"> 4491</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04492" name="l04492"></a><span class="lineno"> 4492</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04493" name="l04493"></a><span class="lineno"> 4493</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04494" name="l04494"></a><span class="lineno"> 4494</span>}</div>
+<div class="line"><a id="l04495" name="l04495"></a><span class="lineno"> 4495</span> </div>
+<div class="line"><a id="l04496" name="l04496"></a><span class="lineno"> 4496</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_39(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04497" name="l04497"></a><span class="lineno"> 4497</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l04498" name="l04498"></a><span class="lineno"> 4498</span> values[0] |= *ptr++ << 23;</div>
+<div class="line"><a id="l04499" name="l04499"></a><span class="lineno"> 4499</span> values[0] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04500" name="l04500"></a><span class="lineno"> 4500</span> values[0] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04501" name="l04501"></a><span class="lineno"> 4501</span> values[0] |= *ptr >> 1;</div>
+<div class="line"><a id="l04502" name="l04502"></a><span class="lineno"> 4502</span> </div>
+<div class="line"><a id="l04503" name="l04503"></a><span class="lineno"> 4503</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 38;</div>
+<div class="line"><a id="l04504" name="l04504"></a><span class="lineno"> 4504</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04505" name="l04505"></a><span class="lineno"> 4505</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04506" name="l04506"></a><span class="lineno"> 4506</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04507" name="l04507"></a><span class="lineno"> 4507</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04508" name="l04508"></a><span class="lineno"> 4508</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l04509" name="l04509"></a><span class="lineno"> 4509</span> </div>
+<div class="line"><a id="l04510" name="l04510"></a><span class="lineno"> 4510</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 37;</div>
+<div class="line"><a id="l04511" name="l04511"></a><span class="lineno"> 4511</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l04512" name="l04512"></a><span class="lineno"> 4512</span> values[2] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04513" name="l04513"></a><span class="lineno"> 4513</span> values[2] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04514" name="l04514"></a><span class="lineno"> 4514</span> values[2] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04515" name="l04515"></a><span class="lineno"> 4515</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l04516" name="l04516"></a><span class="lineno"> 4516</span> </div>
+<div class="line"><a id="l04517" name="l04517"></a><span class="lineno"> 4517</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 36;</div>
+<div class="line"><a id="l04518" name="l04518"></a><span class="lineno"> 4518</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04519" name="l04519"></a><span class="lineno"> 4519</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04520" name="l04520"></a><span class="lineno"> 4520</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04521" name="l04521"></a><span class="lineno"> 4521</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04522" name="l04522"></a><span class="lineno"> 4522</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04523" name="l04523"></a><span class="lineno"> 4523</span> </div>
+<div class="line"><a id="l04524" name="l04524"></a><span class="lineno"> 4524</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 35;</div>
+<div class="line"><a id="l04525" name="l04525"></a><span class="lineno"> 4525</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l04526" name="l04526"></a><span class="lineno"> 4526</span> values[4] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04527" name="l04527"></a><span class="lineno"> 4527</span> values[4] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04528" name="l04528"></a><span class="lineno"> 4528</span> values[4] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04529" name="l04529"></a><span class="lineno"> 4529</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l04530" name="l04530"></a><span class="lineno"> 4530</span> </div>
+<div class="line"><a id="l04531" name="l04531"></a><span class="lineno"> 4531</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 34;</div>
+<div class="line"><a id="l04532" name="l04532"></a><span class="lineno"> 4532</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04533" name="l04533"></a><span class="lineno"> 4533</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04534" name="l04534"></a><span class="lineno"> 4534</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04535" name="l04535"></a><span class="lineno"> 4535</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04536" name="l04536"></a><span class="lineno"> 4536</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l04537" name="l04537"></a><span class="lineno"> 4537</span> </div>
+<div class="line"><a id="l04538" name="l04538"></a><span class="lineno"> 4538</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 33;</div>
+<div class="line"><a id="l04539" name="l04539"></a><span class="lineno"> 4539</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l04540" name="l04540"></a><span class="lineno"> 4540</span> values[6] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04541" name="l04541"></a><span class="lineno"> 4541</span> values[6] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04542" name="l04542"></a><span class="lineno"> 4542</span> values[6] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04543" name="l04543"></a><span class="lineno"> 4543</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l04544" name="l04544"></a><span class="lineno"> 4544</span> </div>
+<div class="line"><a id="l04545" name="l04545"></a><span class="lineno"> 4545</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 32;</div>
+<div class="line"><a id="l04546" name="l04546"></a><span class="lineno"> 4546</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04547" name="l04547"></a><span class="lineno"> 4547</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04548" name="l04548"></a><span class="lineno"> 4548</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04549" name="l04549"></a><span class="lineno"> 4549</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04550" name="l04550"></a><span class="lineno"> 4550</span>}</div>
+<div class="line"><a id="l04551" name="l04551"></a><span class="lineno"> 4551</span> </div>
+<div class="line"><a id="l04552" name="l04552"></a><span class="lineno"> 4552</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_40(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04553" name="l04553"></a><span class="lineno"> 4553</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04554" name="l04554"></a><span class="lineno"> 4554</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04555" name="l04555"></a><span class="lineno"> 4555</span> values[0] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04556" name="l04556"></a><span class="lineno"> 4556</span> values[0] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04557" name="l04557"></a><span class="lineno"> 4557</span> values[0] |= *ptr++;</div>
+<div class="line"><a id="l04558" name="l04558"></a><span class="lineno"> 4558</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04559" name="l04559"></a><span class="lineno"> 4559</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04560" name="l04560"></a><span class="lineno"> 4560</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04561" name="l04561"></a><span class="lineno"> 4561</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04562" name="l04562"></a><span class="lineno"> 4562</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l04563" name="l04563"></a><span class="lineno"> 4563</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04564" name="l04564"></a><span class="lineno"> 4564</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04565" name="l04565"></a><span class="lineno"> 4565</span> values[2] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04566" name="l04566"></a><span class="lineno"> 4566</span> values[2] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04567" name="l04567"></a><span class="lineno"> 4567</span> values[2] |= *ptr++;</div>
+<div class="line"><a id="l04568" name="l04568"></a><span class="lineno"> 4568</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04569" name="l04569"></a><span class="lineno"> 4569</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04570" name="l04570"></a><span class="lineno"> 4570</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04571" name="l04571"></a><span class="lineno"> 4571</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04572" name="l04572"></a><span class="lineno"> 4572</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04573" name="l04573"></a><span class="lineno"> 4573</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04574" name="l04574"></a><span class="lineno"> 4574</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04575" name="l04575"></a><span class="lineno"> 4575</span> values[4] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04576" name="l04576"></a><span class="lineno"> 4576</span> values[4] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04577" name="l04577"></a><span class="lineno"> 4577</span> values[4] |= *ptr++;</div>
+<div class="line"><a id="l04578" name="l04578"></a><span class="lineno"> 4578</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04579" name="l04579"></a><span class="lineno"> 4579</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04580" name="l04580"></a><span class="lineno"> 4580</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04581" name="l04581"></a><span class="lineno"> 4581</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04582" name="l04582"></a><span class="lineno"> 4582</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l04583" name="l04583"></a><span class="lineno"> 4583</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04584" name="l04584"></a><span class="lineno"> 4584</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04585" name="l04585"></a><span class="lineno"> 4585</span> values[6] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04586" name="l04586"></a><span class="lineno"> 4586</span> values[6] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04587" name="l04587"></a><span class="lineno"> 4587</span> values[6] |= *ptr++;</div>
+<div class="line"><a id="l04588" name="l04588"></a><span class="lineno"> 4588</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04589" name="l04589"></a><span class="lineno"> 4589</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04590" name="l04590"></a><span class="lineno"> 4590</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04591" name="l04591"></a><span class="lineno"> 4591</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04592" name="l04592"></a><span class="lineno"> 4592</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04593" name="l04593"></a><span class="lineno"> 4593</span>}</div>
+<div class="line"><a id="l04594" name="l04594"></a><span class="lineno"> 4594</span> </div>
+<div class="line"><a id="l04595" name="l04595"></a><span class="lineno"> 4595</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_41(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04596" name="l04596"></a><span class="lineno"> 4596</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l04597" name="l04597"></a><span class="lineno"> 4597</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l04598" name="l04598"></a><span class="lineno"> 4598</span> values[0] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04599" name="l04599"></a><span class="lineno"> 4599</span> values[0] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04600" name="l04600"></a><span class="lineno"> 4600</span> values[0] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04601" name="l04601"></a><span class="lineno"> 4601</span> values[0] |= *ptr >> 7;</div>
+<div class="line"><a id="l04602" name="l04602"></a><span class="lineno"> 4602</span> </div>
+<div class="line"><a id="l04603" name="l04603"></a><span class="lineno"> 4603</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 34;</div>
+<div class="line"><a id="l04604" name="l04604"></a><span class="lineno"> 4604</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04605" name="l04605"></a><span class="lineno"> 4605</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04606" name="l04606"></a><span class="lineno"> 4606</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04607" name="l04607"></a><span class="lineno"> 4607</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04608" name="l04608"></a><span class="lineno"> 4608</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l04609" name="l04609"></a><span class="lineno"> 4609</span> </div>
+<div class="line"><a id="l04610" name="l04610"></a><span class="lineno"> 4610</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 35;</div>
+<div class="line"><a id="l04611" name="l04611"></a><span class="lineno"> 4611</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l04612" name="l04612"></a><span class="lineno"> 4612</span> values[2] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04613" name="l04613"></a><span class="lineno"> 4613</span> values[2] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04614" name="l04614"></a><span class="lineno"> 4614</span> values[2] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04615" name="l04615"></a><span class="lineno"> 4615</span> values[2] |= *ptr >> 5;</div>
+<div class="line"><a id="l04616" name="l04616"></a><span class="lineno"> 4616</span> </div>
+<div class="line"><a id="l04617" name="l04617"></a><span class="lineno"> 4617</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 36;</div>
+<div class="line"><a id="l04618" name="l04618"></a><span class="lineno"> 4618</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04619" name="l04619"></a><span class="lineno"> 4619</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04620" name="l04620"></a><span class="lineno"> 4620</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04621" name="l04621"></a><span class="lineno"> 4621</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04622" name="l04622"></a><span class="lineno"> 4622</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04623" name="l04623"></a><span class="lineno"> 4623</span> </div>
+<div class="line"><a id="l04624" name="l04624"></a><span class="lineno"> 4624</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 37;</div>
+<div class="line"><a id="l04625" name="l04625"></a><span class="lineno"> 4625</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l04626" name="l04626"></a><span class="lineno"> 4626</span> values[4] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04627" name="l04627"></a><span class="lineno"> 4627</span> values[4] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04628" name="l04628"></a><span class="lineno"> 4628</span> values[4] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04629" name="l04629"></a><span class="lineno"> 4629</span> values[4] |= *ptr >> 3;</div>
+<div class="line"><a id="l04630" name="l04630"></a><span class="lineno"> 4630</span> </div>
+<div class="line"><a id="l04631" name="l04631"></a><span class="lineno"> 4631</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 38;</div>
+<div class="line"><a id="l04632" name="l04632"></a><span class="lineno"> 4632</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04633" name="l04633"></a><span class="lineno"> 4633</span> values[5] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04634" name="l04634"></a><span class="lineno"> 4634</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04635" name="l04635"></a><span class="lineno"> 4635</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04636" name="l04636"></a><span class="lineno"> 4636</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l04637" name="l04637"></a><span class="lineno"> 4637</span> </div>
+<div class="line"><a id="l04638" name="l04638"></a><span class="lineno"> 4638</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 39;</div>
+<div class="line"><a id="l04639" name="l04639"></a><span class="lineno"> 4639</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l04640" name="l04640"></a><span class="lineno"> 4640</span> values[6] |= *ptr++ << 23;</div>
+<div class="line"><a id="l04641" name="l04641"></a><span class="lineno"> 4641</span> values[6] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04642" name="l04642"></a><span class="lineno"> 4642</span> values[6] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04643" name="l04643"></a><span class="lineno"> 4643</span> values[6] |= *ptr >> 1;</div>
+<div class="line"><a id="l04644" name="l04644"></a><span class="lineno"> 4644</span> </div>
+<div class="line"><a id="l04645" name="l04645"></a><span class="lineno"> 4645</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 40;</div>
+<div class="line"><a id="l04646" name="l04646"></a><span class="lineno"> 4646</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04647" name="l04647"></a><span class="lineno"> 4647</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04648" name="l04648"></a><span class="lineno"> 4648</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04649" name="l04649"></a><span class="lineno"> 4649</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04650" name="l04650"></a><span class="lineno"> 4650</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04651" name="l04651"></a><span class="lineno"> 4651</span>}</div>
+<div class="line"><a id="l04652" name="l04652"></a><span class="lineno"> 4652</span> </div>
+<div class="line"><a id="l04653" name="l04653"></a><span class="lineno"> 4653</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_42(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04654" name="l04654"></a><span class="lineno"> 4654</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l04655" name="l04655"></a><span class="lineno"> 4655</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04656" name="l04656"></a><span class="lineno"> 4656</span> values[0] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04657" name="l04657"></a><span class="lineno"> 4657</span> values[0] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04658" name="l04658"></a><span class="lineno"> 4658</span> values[0] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04659" name="l04659"></a><span class="lineno"> 4659</span> values[0] |= *ptr >> 6;</div>
+<div class="line"><a id="l04660" name="l04660"></a><span class="lineno"> 4660</span> </div>
+<div class="line"><a id="l04661" name="l04661"></a><span class="lineno"> 4661</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 36;</div>
+<div class="line"><a id="l04662" name="l04662"></a><span class="lineno"> 4662</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04663" name="l04663"></a><span class="lineno"> 4663</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04664" name="l04664"></a><span class="lineno"> 4664</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04665" name="l04665"></a><span class="lineno"> 4665</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04666" name="l04666"></a><span class="lineno"> 4666</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l04667" name="l04667"></a><span class="lineno"> 4667</span> </div>
+<div class="line"><a id="l04668" name="l04668"></a><span class="lineno"> 4668</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 38;</div>
+<div class="line"><a id="l04669" name="l04669"></a><span class="lineno"> 4669</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04670" name="l04670"></a><span class="lineno"> 4670</span> values[2] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04671" name="l04671"></a><span class="lineno"> 4671</span> values[2] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04672" name="l04672"></a><span class="lineno"> 4672</span> values[2] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04673" name="l04673"></a><span class="lineno"> 4673</span> values[2] |= *ptr >> 2;</div>
+<div class="line"><a id="l04674" name="l04674"></a><span class="lineno"> 4674</span> </div>
+<div class="line"><a id="l04675" name="l04675"></a><span class="lineno"> 4675</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 40;</div>
+<div class="line"><a id="l04676" name="l04676"></a><span class="lineno"> 4676</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04677" name="l04677"></a><span class="lineno"> 4677</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04678" name="l04678"></a><span class="lineno"> 4678</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04679" name="l04679"></a><span class="lineno"> 4679</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04680" name="l04680"></a><span class="lineno"> 4680</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04681" name="l04681"></a><span class="lineno"> 4681</span> </div>
+<div class="line"><a id="l04682" name="l04682"></a><span class="lineno"> 4682</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l04683" name="l04683"></a><span class="lineno"> 4683</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04684" name="l04684"></a><span class="lineno"> 4684</span> values[4] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04685" name="l04685"></a><span class="lineno"> 4685</span> values[4] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04686" name="l04686"></a><span class="lineno"> 4686</span> values[4] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04687" name="l04687"></a><span class="lineno"> 4687</span> values[4] |= *ptr >> 6;</div>
+<div class="line"><a id="l04688" name="l04688"></a><span class="lineno"> 4688</span> </div>
+<div class="line"><a id="l04689" name="l04689"></a><span class="lineno"> 4689</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 36;</div>
+<div class="line"><a id="l04690" name="l04690"></a><span class="lineno"> 4690</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04691" name="l04691"></a><span class="lineno"> 4691</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04692" name="l04692"></a><span class="lineno"> 4692</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04693" name="l04693"></a><span class="lineno"> 4693</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04694" name="l04694"></a><span class="lineno"> 4694</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l04695" name="l04695"></a><span class="lineno"> 4695</span> </div>
+<div class="line"><a id="l04696" name="l04696"></a><span class="lineno"> 4696</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 38;</div>
+<div class="line"><a id="l04697" name="l04697"></a><span class="lineno"> 4697</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04698" name="l04698"></a><span class="lineno"> 4698</span> values[6] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04699" name="l04699"></a><span class="lineno"> 4699</span> values[6] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04700" name="l04700"></a><span class="lineno"> 4700</span> values[6] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04701" name="l04701"></a><span class="lineno"> 4701</span> values[6] |= *ptr >> 2;</div>
+<div class="line"><a id="l04702" name="l04702"></a><span class="lineno"> 4702</span> </div>
+<div class="line"><a id="l04703" name="l04703"></a><span class="lineno"> 4703</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 40;</div>
+<div class="line"><a id="l04704" name="l04704"></a><span class="lineno"> 4704</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04705" name="l04705"></a><span class="lineno"> 4705</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04706" name="l04706"></a><span class="lineno"> 4706</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04707" name="l04707"></a><span class="lineno"> 4707</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04708" name="l04708"></a><span class="lineno"> 4708</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04709" name="l04709"></a><span class="lineno"> 4709</span>}</div>
+<div class="line"><a id="l04710" name="l04710"></a><span class="lineno"> 4710</span> </div>
+<div class="line"><a id="l04711" name="l04711"></a><span class="lineno"> 4711</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_43(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04712" name="l04712"></a><span class="lineno"> 4712</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l04713" name="l04713"></a><span class="lineno"> 4713</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l04714" name="l04714"></a><span class="lineno"> 4714</span> values[0] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04715" name="l04715"></a><span class="lineno"> 4715</span> values[0] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04716" name="l04716"></a><span class="lineno"> 4716</span> values[0] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04717" name="l04717"></a><span class="lineno"> 4717</span> values[0] |= *ptr >> 5;</div>
+<div class="line"><a id="l04718" name="l04718"></a><span class="lineno"> 4718</span> </div>
+<div class="line"><a id="l04719" name="l04719"></a><span class="lineno"> 4719</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 38;</div>
+<div class="line"><a id="l04720" name="l04720"></a><span class="lineno"> 4720</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04721" name="l04721"></a><span class="lineno"> 4721</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04722" name="l04722"></a><span class="lineno"> 4722</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04723" name="l04723"></a><span class="lineno"> 4723</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04724" name="l04724"></a><span class="lineno"> 4724</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l04725" name="l04725"></a><span class="lineno"> 4725</span> </div>
+<div class="line"><a id="l04726" name="l04726"></a><span class="lineno"> 4726</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 41;</div>
+<div class="line"><a id="l04727" name="l04727"></a><span class="lineno"> 4727</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l04728" name="l04728"></a><span class="lineno"> 4728</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l04729" name="l04729"></a><span class="lineno"> 4729</span> values[2] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04730" name="l04730"></a><span class="lineno"> 4730</span> values[2] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04731" name="l04731"></a><span class="lineno"> 4731</span> values[2] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04732" name="l04732"></a><span class="lineno"> 4732</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l04733" name="l04733"></a><span class="lineno"> 4733</span> </div>
+<div class="line"><a id="l04734" name="l04734"></a><span class="lineno"> 4734</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 36;</div>
+<div class="line"><a id="l04735" name="l04735"></a><span class="lineno"> 4735</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04736" name="l04736"></a><span class="lineno"> 4736</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04737" name="l04737"></a><span class="lineno"> 4737</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04738" name="l04738"></a><span class="lineno"> 4738</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04739" name="l04739"></a><span class="lineno"> 4739</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04740" name="l04740"></a><span class="lineno"> 4740</span> </div>
+<div class="line"><a id="l04741" name="l04741"></a><span class="lineno"> 4741</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 39;</div>
+<div class="line"><a id="l04742" name="l04742"></a><span class="lineno"> 4742</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l04743" name="l04743"></a><span class="lineno"> 4743</span> values[4] |= *ptr++ << 23;</div>
+<div class="line"><a id="l04744" name="l04744"></a><span class="lineno"> 4744</span> values[4] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04745" name="l04745"></a><span class="lineno"> 4745</span> values[4] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04746" name="l04746"></a><span class="lineno"> 4746</span> values[4] |= *ptr >> 1;</div>
+<div class="line"><a id="l04747" name="l04747"></a><span class="lineno"> 4747</span> </div>
+<div class="line"><a id="l04748" name="l04748"></a><span class="lineno"> 4748</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 42;</div>
+<div class="line"><a id="l04749" name="l04749"></a><span class="lineno"> 4749</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l04750" name="l04750"></a><span class="lineno"> 4750</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04751" name="l04751"></a><span class="lineno"> 4751</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04752" name="l04752"></a><span class="lineno"> 4752</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04753" name="l04753"></a><span class="lineno"> 4753</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04754" name="l04754"></a><span class="lineno"> 4754</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l04755" name="l04755"></a><span class="lineno"> 4755</span> </div>
+<div class="line"><a id="l04756" name="l04756"></a><span class="lineno"> 4756</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 37;</div>
+<div class="line"><a id="l04757" name="l04757"></a><span class="lineno"> 4757</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l04758" name="l04758"></a><span class="lineno"> 4758</span> values[6] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04759" name="l04759"></a><span class="lineno"> 4759</span> values[6] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04760" name="l04760"></a><span class="lineno"> 4760</span> values[6] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04761" name="l04761"></a><span class="lineno"> 4761</span> values[6] |= *ptr >> 3;</div>
+<div class="line"><a id="l04762" name="l04762"></a><span class="lineno"> 4762</span> </div>
+<div class="line"><a id="l04763" name="l04763"></a><span class="lineno"> 4763</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 40;</div>
+<div class="line"><a id="l04764" name="l04764"></a><span class="lineno"> 4764</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04765" name="l04765"></a><span class="lineno"> 4765</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04766" name="l04766"></a><span class="lineno"> 4766</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04767" name="l04767"></a><span class="lineno"> 4767</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04768" name="l04768"></a><span class="lineno"> 4768</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04769" name="l04769"></a><span class="lineno"> 4769</span>}</div>
+<div class="line"><a id="l04770" name="l04770"></a><span class="lineno"> 4770</span> </div>
+<div class="line"><a id="l04771" name="l04771"></a><span class="lineno"> 4771</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_44(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04772" name="l04772"></a><span class="lineno"> 4772</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04773" name="l04773"></a><span class="lineno"> 4773</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04774" name="l04774"></a><span class="lineno"> 4774</span> values[0] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04775" name="l04775"></a><span class="lineno"> 4775</span> values[0] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04776" name="l04776"></a><span class="lineno"> 4776</span> values[0] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04777" name="l04777"></a><span class="lineno"> 4777</span> values[0] |= *ptr >> 4;</div>
+<div class="line"><a id="l04778" name="l04778"></a><span class="lineno"> 4778</span> </div>
+<div class="line"><a id="l04779" name="l04779"></a><span class="lineno"> 4779</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 40;</div>
+<div class="line"><a id="l04780" name="l04780"></a><span class="lineno"> 4780</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04781" name="l04781"></a><span class="lineno"> 4781</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04782" name="l04782"></a><span class="lineno"> 4782</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04783" name="l04783"></a><span class="lineno"> 4783</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04784" name="l04784"></a><span class="lineno"> 4784</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l04785" name="l04785"></a><span class="lineno"> 4785</span> </div>
+<div class="line"><a id="l04786" name="l04786"></a><span class="lineno"> 4786</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04787" name="l04787"></a><span class="lineno"> 4787</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04788" name="l04788"></a><span class="lineno"> 4788</span> values[2] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04789" name="l04789"></a><span class="lineno"> 4789</span> values[2] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04790" name="l04790"></a><span class="lineno"> 4790</span> values[2] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04791" name="l04791"></a><span class="lineno"> 4791</span> values[2] |= *ptr >> 4;</div>
+<div class="line"><a id="l04792" name="l04792"></a><span class="lineno"> 4792</span> </div>
+<div class="line"><a id="l04793" name="l04793"></a><span class="lineno"> 4793</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 40;</div>
+<div class="line"><a id="l04794" name="l04794"></a><span class="lineno"> 4794</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04795" name="l04795"></a><span class="lineno"> 4795</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04796" name="l04796"></a><span class="lineno"> 4796</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04797" name="l04797"></a><span class="lineno"> 4797</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04798" name="l04798"></a><span class="lineno"> 4798</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04799" name="l04799"></a><span class="lineno"> 4799</span> </div>
+<div class="line"><a id="l04800" name="l04800"></a><span class="lineno"> 4800</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04801" name="l04801"></a><span class="lineno"> 4801</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04802" name="l04802"></a><span class="lineno"> 4802</span> values[4] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04803" name="l04803"></a><span class="lineno"> 4803</span> values[4] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04804" name="l04804"></a><span class="lineno"> 4804</span> values[4] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04805" name="l04805"></a><span class="lineno"> 4805</span> values[4] |= *ptr >> 4;</div>
+<div class="line"><a id="l04806" name="l04806"></a><span class="lineno"> 4806</span> </div>
+<div class="line"><a id="l04807" name="l04807"></a><span class="lineno"> 4807</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 40;</div>
+<div class="line"><a id="l04808" name="l04808"></a><span class="lineno"> 4808</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04809" name="l04809"></a><span class="lineno"> 4809</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04810" name="l04810"></a><span class="lineno"> 4810</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04811" name="l04811"></a><span class="lineno"> 4811</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04812" name="l04812"></a><span class="lineno"> 4812</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l04813" name="l04813"></a><span class="lineno"> 4813</span> </div>
+<div class="line"><a id="l04814" name="l04814"></a><span class="lineno"> 4814</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04815" name="l04815"></a><span class="lineno"> 4815</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04816" name="l04816"></a><span class="lineno"> 4816</span> values[6] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04817" name="l04817"></a><span class="lineno"> 4817</span> values[6] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04818" name="l04818"></a><span class="lineno"> 4818</span> values[6] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04819" name="l04819"></a><span class="lineno"> 4819</span> values[6] |= *ptr >> 4;</div>
+<div class="line"><a id="l04820" name="l04820"></a><span class="lineno"> 4820</span> </div>
+<div class="line"><a id="l04821" name="l04821"></a><span class="lineno"> 4821</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 40;</div>
+<div class="line"><a id="l04822" name="l04822"></a><span class="lineno"> 4822</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04823" name="l04823"></a><span class="lineno"> 4823</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04824" name="l04824"></a><span class="lineno"> 4824</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04825" name="l04825"></a><span class="lineno"> 4825</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04826" name="l04826"></a><span class="lineno"> 4826</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04827" name="l04827"></a><span class="lineno"> 4827</span>}</div>
+<div class="line"><a id="l04828" name="l04828"></a><span class="lineno"> 4828</span> </div>
+<div class="line"><a id="l04829" name="l04829"></a><span class="lineno"> 4829</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_45(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04830" name="l04830"></a><span class="lineno"> 4830</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l04831" name="l04831"></a><span class="lineno"> 4831</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l04832" name="l04832"></a><span class="lineno"> 4832</span> values[0] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04833" name="l04833"></a><span class="lineno"> 4833</span> values[0] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04834" name="l04834"></a><span class="lineno"> 4834</span> values[0] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04835" name="l04835"></a><span class="lineno"> 4835</span> values[0] |= *ptr >> 3;</div>
+<div class="line"><a id="l04836" name="l04836"></a><span class="lineno"> 4836</span> </div>
+<div class="line"><a id="l04837" name="l04837"></a><span class="lineno"> 4837</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 42;</div>
+<div class="line"><a id="l04838" name="l04838"></a><span class="lineno"> 4838</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l04839" name="l04839"></a><span class="lineno"> 4839</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04840" name="l04840"></a><span class="lineno"> 4840</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04841" name="l04841"></a><span class="lineno"> 4841</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04842" name="l04842"></a><span class="lineno"> 4842</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04843" name="l04843"></a><span class="lineno"> 4843</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l04844" name="l04844"></a><span class="lineno"> 4844</span> </div>
+<div class="line"><a id="l04845" name="l04845"></a><span class="lineno"> 4845</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 39;</div>
+<div class="line"><a id="l04846" name="l04846"></a><span class="lineno"> 4846</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l04847" name="l04847"></a><span class="lineno"> 4847</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 23;</div>
+<div class="line"><a id="l04848" name="l04848"></a><span class="lineno"> 4848</span> values[2] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04849" name="l04849"></a><span class="lineno"> 4849</span> values[2] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04850" name="l04850"></a><span class="lineno"> 4850</span> values[2] |= *ptr >> 1;</div>
+<div class="line"><a id="l04851" name="l04851"></a><span class="lineno"> 4851</span> </div>
+<div class="line"><a id="l04852" name="l04852"></a><span class="lineno"> 4852</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 44;</div>
+<div class="line"><a id="l04853" name="l04853"></a><span class="lineno"> 4853</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04854" name="l04854"></a><span class="lineno"> 4854</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04855" name="l04855"></a><span class="lineno"> 4855</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04856" name="l04856"></a><span class="lineno"> 4856</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04857" name="l04857"></a><span class="lineno"> 4857</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04858" name="l04858"></a><span class="lineno"> 4858</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04859" name="l04859"></a><span class="lineno"> 4859</span> </div>
+<div class="line"><a id="l04860" name="l04860"></a><span class="lineno"> 4860</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 41;</div>
+<div class="line"><a id="l04861" name="l04861"></a><span class="lineno"> 4861</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l04862" name="l04862"></a><span class="lineno"> 4862</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l04863" name="l04863"></a><span class="lineno"> 4863</span> values[4] |= *ptr++ << 17;</div>
+<div class="line"><a id="l04864" name="l04864"></a><span class="lineno"> 4864</span> values[4] |= *ptr++ << 9;</div>
+<div class="line"><a id="l04865" name="l04865"></a><span class="lineno"> 4865</span> values[4] |= *ptr++ << 1;</div>
+<div class="line"><a id="l04866" name="l04866"></a><span class="lineno"> 4866</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l04867" name="l04867"></a><span class="lineno"> 4867</span> </div>
+<div class="line"><a id="l04868" name="l04868"></a><span class="lineno"> 4868</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 38;</div>
+<div class="line"><a id="l04869" name="l04869"></a><span class="lineno"> 4869</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04870" name="l04870"></a><span class="lineno"> 4870</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 22;</div>
+<div class="line"><a id="l04871" name="l04871"></a><span class="lineno"> 4871</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04872" name="l04872"></a><span class="lineno"> 4872</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04873" name="l04873"></a><span class="lineno"> 4873</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l04874" name="l04874"></a><span class="lineno"> 4874</span> </div>
+<div class="line"><a id="l04875" name="l04875"></a><span class="lineno"> 4875</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 43;</div>
+<div class="line"><a id="l04876" name="l04876"></a><span class="lineno"> 4876</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l04877" name="l04877"></a><span class="lineno"> 4877</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l04878" name="l04878"></a><span class="lineno"> 4878</span> values[6] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04879" name="l04879"></a><span class="lineno"> 4879</span> values[6] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04880" name="l04880"></a><span class="lineno"> 4880</span> values[6] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04881" name="l04881"></a><span class="lineno"> 4881</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l04882" name="l04882"></a><span class="lineno"> 4882</span> </div>
+<div class="line"><a id="l04883" name="l04883"></a><span class="lineno"> 4883</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 40;</div>
+<div class="line"><a id="l04884" name="l04884"></a><span class="lineno"> 4884</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04885" name="l04885"></a><span class="lineno"> 4885</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04886" name="l04886"></a><span class="lineno"> 4886</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04887" name="l04887"></a><span class="lineno"> 4887</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04888" name="l04888"></a><span class="lineno"> 4888</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04889" name="l04889"></a><span class="lineno"> 4889</span>}</div>
+<div class="line"><a id="l04890" name="l04890"></a><span class="lineno"> 4890</span> </div>
+<div class="line"><a id="l04891" name="l04891"></a><span class="lineno"> 4891</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_46(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04892" name="l04892"></a><span class="lineno"> 4892</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l04893" name="l04893"></a><span class="lineno"> 4893</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04894" name="l04894"></a><span class="lineno"> 4894</span> values[0] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04895" name="l04895"></a><span class="lineno"> 4895</span> values[0] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04896" name="l04896"></a><span class="lineno"> 4896</span> values[0] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04897" name="l04897"></a><span class="lineno"> 4897</span> values[0] |= *ptr >> 2;</div>
+<div class="line"><a id="l04898" name="l04898"></a><span class="lineno"> 4898</span> </div>
+<div class="line"><a id="l04899" name="l04899"></a><span class="lineno"> 4899</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 44;</div>
+<div class="line"><a id="l04900" name="l04900"></a><span class="lineno"> 4900</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04901" name="l04901"></a><span class="lineno"> 4901</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04902" name="l04902"></a><span class="lineno"> 4902</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04903" name="l04903"></a><span class="lineno"> 4903</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04904" name="l04904"></a><span class="lineno"> 4904</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04905" name="l04905"></a><span class="lineno"> 4905</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l04906" name="l04906"></a><span class="lineno"> 4906</span> </div>
+<div class="line"><a id="l04907" name="l04907"></a><span class="lineno"> 4907</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 42;</div>
+<div class="line"><a id="l04908" name="l04908"></a><span class="lineno"> 4908</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l04909" name="l04909"></a><span class="lineno"> 4909</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04910" name="l04910"></a><span class="lineno"> 4910</span> values[2] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04911" name="l04911"></a><span class="lineno"> 4911</span> values[2] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04912" name="l04912"></a><span class="lineno"> 4912</span> values[2] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04913" name="l04913"></a><span class="lineno"> 4913</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l04914" name="l04914"></a><span class="lineno"> 4914</span> </div>
+<div class="line"><a id="l04915" name="l04915"></a><span class="lineno"> 4915</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 40;</div>
+<div class="line"><a id="l04916" name="l04916"></a><span class="lineno"> 4916</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04917" name="l04917"></a><span class="lineno"> 4917</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04918" name="l04918"></a><span class="lineno"> 4918</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04919" name="l04919"></a><span class="lineno"> 4919</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04920" name="l04920"></a><span class="lineno"> 4920</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l04921" name="l04921"></a><span class="lineno"> 4921</span> </div>
+<div class="line"><a id="l04922" name="l04922"></a><span class="lineno"> 4922</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l04923" name="l04923"></a><span class="lineno"> 4923</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04924" name="l04924"></a><span class="lineno"> 4924</span> values[4] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04925" name="l04925"></a><span class="lineno"> 4925</span> values[4] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04926" name="l04926"></a><span class="lineno"> 4926</span> values[4] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04927" name="l04927"></a><span class="lineno"> 4927</span> values[4] |= *ptr >> 2;</div>
+<div class="line"><a id="l04928" name="l04928"></a><span class="lineno"> 4928</span> </div>
+<div class="line"><a id="l04929" name="l04929"></a><span class="lineno"> 4929</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 44;</div>
+<div class="line"><a id="l04930" name="l04930"></a><span class="lineno"> 4930</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04931" name="l04931"></a><span class="lineno"> 4931</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04932" name="l04932"></a><span class="lineno"> 4932</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04933" name="l04933"></a><span class="lineno"> 4933</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04934" name="l04934"></a><span class="lineno"> 4934</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04935" name="l04935"></a><span class="lineno"> 4935</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l04936" name="l04936"></a><span class="lineno"> 4936</span> </div>
+<div class="line"><a id="l04937" name="l04937"></a><span class="lineno"> 4937</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 42;</div>
+<div class="line"><a id="l04938" name="l04938"></a><span class="lineno"> 4938</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l04939" name="l04939"></a><span class="lineno"> 4939</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04940" name="l04940"></a><span class="lineno"> 4940</span> values[6] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04941" name="l04941"></a><span class="lineno"> 4941</span> values[6] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04942" name="l04942"></a><span class="lineno"> 4942</span> values[6] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04943" name="l04943"></a><span class="lineno"> 4943</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l04944" name="l04944"></a><span class="lineno"> 4944</span> </div>
+<div class="line"><a id="l04945" name="l04945"></a><span class="lineno"> 4945</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 40;</div>
+<div class="line"><a id="l04946" name="l04946"></a><span class="lineno"> 4946</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l04947" name="l04947"></a><span class="lineno"> 4947</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l04948" name="l04948"></a><span class="lineno"> 4948</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l04949" name="l04949"></a><span class="lineno"> 4949</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l04950" name="l04950"></a><span class="lineno"> 4950</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l04951" name="l04951"></a><span class="lineno"> 4951</span>}</div>
+<div class="line"><a id="l04952" name="l04952"></a><span class="lineno"> 4952</span> </div>
+<div class="line"><a id="l04953" name="l04953"></a><span class="lineno"> 4953</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_47(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l04954" name="l04954"></a><span class="lineno"> 4954</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l04955" name="l04955"></a><span class="lineno"> 4955</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l04956" name="l04956"></a><span class="lineno"> 4956</span> values[0] |= *ptr++ << 23;</div>
+<div class="line"><a id="l04957" name="l04957"></a><span class="lineno"> 4957</span> values[0] |= *ptr++ << 15;</div>
+<div class="line"><a id="l04958" name="l04958"></a><span class="lineno"> 4958</span> values[0] |= *ptr++ << 7;</div>
+<div class="line"><a id="l04959" name="l04959"></a><span class="lineno"> 4959</span> values[0] |= *ptr >> 1;</div>
+<div class="line"><a id="l04960" name="l04960"></a><span class="lineno"> 4960</span> </div>
+<div class="line"><a id="l04961" name="l04961"></a><span class="lineno"> 4961</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 46;</div>
+<div class="line"><a id="l04962" name="l04962"></a><span class="lineno"> 4962</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l04963" name="l04963"></a><span class="lineno"> 4963</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l04964" name="l04964"></a><span class="lineno"> 4964</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l04965" name="l04965"></a><span class="lineno"> 4965</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l04966" name="l04966"></a><span class="lineno"> 4966</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l04967" name="l04967"></a><span class="lineno"> 4967</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l04968" name="l04968"></a><span class="lineno"> 4968</span> </div>
+<div class="line"><a id="l04969" name="l04969"></a><span class="lineno"> 4969</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 45;</div>
+<div class="line"><a id="l04970" name="l04970"></a><span class="lineno"> 4970</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l04971" name="l04971"></a><span class="lineno"> 4971</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l04972" name="l04972"></a><span class="lineno"> 4972</span> values[2] |= *ptr++ << 21;</div>
+<div class="line"><a id="l04973" name="l04973"></a><span class="lineno"> 4973</span> values[2] |= *ptr++ << 13;</div>
+<div class="line"><a id="l04974" name="l04974"></a><span class="lineno"> 4974</span> values[2] |= *ptr++ << 5;</div>
+<div class="line"><a id="l04975" name="l04975"></a><span class="lineno"> 4975</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l04976" name="l04976"></a><span class="lineno"> 4976</span> </div>
+<div class="line"><a id="l04977" name="l04977"></a><span class="lineno"> 4977</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 44;</div>
+<div class="line"><a id="l04978" name="l04978"></a><span class="lineno"> 4978</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l04979" name="l04979"></a><span class="lineno"> 4979</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l04980" name="l04980"></a><span class="lineno"> 4980</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l04981" name="l04981"></a><span class="lineno"> 4981</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l04982" name="l04982"></a><span class="lineno"> 4982</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l04983" name="l04983"></a><span class="lineno"> 4983</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l04984" name="l04984"></a><span class="lineno"> 4984</span> </div>
+<div class="line"><a id="l04985" name="l04985"></a><span class="lineno"> 4985</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 43;</div>
+<div class="line"><a id="l04986" name="l04986"></a><span class="lineno"> 4986</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l04987" name="l04987"></a><span class="lineno"> 4987</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l04988" name="l04988"></a><span class="lineno"> 4988</span> values[4] |= *ptr++ << 19;</div>
+<div class="line"><a id="l04989" name="l04989"></a><span class="lineno"> 4989</span> values[4] |= *ptr++ << 11;</div>
+<div class="line"><a id="l04990" name="l04990"></a><span class="lineno"> 4990</span> values[4] |= *ptr++ << 3;</div>
+<div class="line"><a id="l04991" name="l04991"></a><span class="lineno"> 4991</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l04992" name="l04992"></a><span class="lineno"> 4992</span> </div>
+<div class="line"><a id="l04993" name="l04993"></a><span class="lineno"> 4993</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 42;</div>
+<div class="line"><a id="l04994" name="l04994"></a><span class="lineno"> 4994</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l04995" name="l04995"></a><span class="lineno"> 4995</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l04996" name="l04996"></a><span class="lineno"> 4996</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l04997" name="l04997"></a><span class="lineno"> 4997</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l04998" name="l04998"></a><span class="lineno"> 4998</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l04999" name="l04999"></a><span class="lineno"> 4999</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l05000" name="l05000"></a><span class="lineno"> 5000</span> </div>
+<div class="line"><a id="l05001" name="l05001"></a><span class="lineno"> 5001</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 41;</div>
+<div class="line"><a id="l05002" name="l05002"></a><span class="lineno"> 5002</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05003" name="l05003"></a><span class="lineno"> 5003</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05004" name="l05004"></a><span class="lineno"> 5004</span> values[6] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05005" name="l05005"></a><span class="lineno"> 5005</span> values[6] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05006" name="l05006"></a><span class="lineno"> 5006</span> values[6] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05007" name="l05007"></a><span class="lineno"> 5007</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l05008" name="l05008"></a><span class="lineno"> 5008</span> </div>
+<div class="line"><a id="l05009" name="l05009"></a><span class="lineno"> 5009</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 40;</div>
+<div class="line"><a id="l05010" name="l05010"></a><span class="lineno"> 5010</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05011" name="l05011"></a><span class="lineno"> 5011</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05012" name="l05012"></a><span class="lineno"> 5012</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05013" name="l05013"></a><span class="lineno"> 5013</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05014" name="l05014"></a><span class="lineno"> 5014</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05015" name="l05015"></a><span class="lineno"> 5015</span>}</div>
+<div class="line"><a id="l05016" name="l05016"></a><span class="lineno"> 5016</span> </div>
+<div class="line"><a id="l05017" name="l05017"></a><span class="lineno"> 5017</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_48(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05018" name="l05018"></a><span class="lineno"> 5018</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05019" name="l05019"></a><span class="lineno"> 5019</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05020" name="l05020"></a><span class="lineno"> 5020</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05021" name="l05021"></a><span class="lineno"> 5021</span> values[0] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05022" name="l05022"></a><span class="lineno"> 5022</span> values[0] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05023" name="l05023"></a><span class="lineno"> 5023</span> values[0] |= *ptr++;</div>
+<div class="line"><a id="l05024" name="l05024"></a><span class="lineno"> 5024</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05025" name="l05025"></a><span class="lineno"> 5025</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05026" name="l05026"></a><span class="lineno"> 5026</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05027" name="l05027"></a><span class="lineno"> 5027</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05028" name="l05028"></a><span class="lineno"> 5028</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05029" name="l05029"></a><span class="lineno"> 5029</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l05030" name="l05030"></a><span class="lineno"> 5030</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05031" name="l05031"></a><span class="lineno"> 5031</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05032" name="l05032"></a><span class="lineno"> 5032</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05033" name="l05033"></a><span class="lineno"> 5033</span> values[2] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05034" name="l05034"></a><span class="lineno"> 5034</span> values[2] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05035" name="l05035"></a><span class="lineno"> 5035</span> values[2] |= *ptr++;</div>
+<div class="line"><a id="l05036" name="l05036"></a><span class="lineno"> 5036</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05037" name="l05037"></a><span class="lineno"> 5037</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05038" name="l05038"></a><span class="lineno"> 5038</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05039" name="l05039"></a><span class="lineno"> 5039</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05040" name="l05040"></a><span class="lineno"> 5040</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05041" name="l05041"></a><span class="lineno"> 5041</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l05042" name="l05042"></a><span class="lineno"> 5042</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05043" name="l05043"></a><span class="lineno"> 5043</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05044" name="l05044"></a><span class="lineno"> 5044</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05045" name="l05045"></a><span class="lineno"> 5045</span> values[4] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05046" name="l05046"></a><span class="lineno"> 5046</span> values[4] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05047" name="l05047"></a><span class="lineno"> 5047</span> values[4] |= *ptr++;</div>
+<div class="line"><a id="l05048" name="l05048"></a><span class="lineno"> 5048</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05049" name="l05049"></a><span class="lineno"> 5049</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05050" name="l05050"></a><span class="lineno"> 5050</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05051" name="l05051"></a><span class="lineno"> 5051</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05052" name="l05052"></a><span class="lineno"> 5052</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05053" name="l05053"></a><span class="lineno"> 5053</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l05054" name="l05054"></a><span class="lineno"> 5054</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05055" name="l05055"></a><span class="lineno"> 5055</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05056" name="l05056"></a><span class="lineno"> 5056</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05057" name="l05057"></a><span class="lineno"> 5057</span> values[6] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05058" name="l05058"></a><span class="lineno"> 5058</span> values[6] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05059" name="l05059"></a><span class="lineno"> 5059</span> values[6] |= *ptr++;</div>
+<div class="line"><a id="l05060" name="l05060"></a><span class="lineno"> 5060</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05061" name="l05061"></a><span class="lineno"> 5061</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05062" name="l05062"></a><span class="lineno"> 5062</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05063" name="l05063"></a><span class="lineno"> 5063</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05064" name="l05064"></a><span class="lineno"> 5064</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05065" name="l05065"></a><span class="lineno"> 5065</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05066" name="l05066"></a><span class="lineno"> 5066</span>}</div>
+<div class="line"><a id="l05067" name="l05067"></a><span class="lineno"> 5067</span> </div>
+<div class="line"><a id="l05068" name="l05068"></a><span class="lineno"> 5068</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_49(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05069" name="l05069"></a><span class="lineno"> 5069</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l05070" name="l05070"></a><span class="lineno"> 5070</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05071" name="l05071"></a><span class="lineno"> 5071</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05072" name="l05072"></a><span class="lineno"> 5072</span> values[0] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05073" name="l05073"></a><span class="lineno"> 5073</span> values[0] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05074" name="l05074"></a><span class="lineno"> 5074</span> values[0] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05075" name="l05075"></a><span class="lineno"> 5075</span> values[0] |= *ptr >> 7;</div>
+<div class="line"><a id="l05076" name="l05076"></a><span class="lineno"> 5076</span> </div>
+<div class="line"><a id="l05077" name="l05077"></a><span class="lineno"> 5077</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 42;</div>
+<div class="line"><a id="l05078" name="l05078"></a><span class="lineno"> 5078</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05079" name="l05079"></a><span class="lineno"> 5079</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05080" name="l05080"></a><span class="lineno"> 5080</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05081" name="l05081"></a><span class="lineno"> 5081</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05082" name="l05082"></a><span class="lineno"> 5082</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05083" name="l05083"></a><span class="lineno"> 5083</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l05084" name="l05084"></a><span class="lineno"> 5084</span> </div>
+<div class="line"><a id="l05085" name="l05085"></a><span class="lineno"> 5085</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 43;</div>
+<div class="line"><a id="l05086" name="l05086"></a><span class="lineno"> 5086</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l05087" name="l05087"></a><span class="lineno"> 5087</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l05088" name="l05088"></a><span class="lineno"> 5088</span> values[2] |= *ptr++ << 19;</div>
+<div class="line"><a id="l05089" name="l05089"></a><span class="lineno"> 5089</span> values[2] |= *ptr++ << 11;</div>
+<div class="line"><a id="l05090" name="l05090"></a><span class="lineno"> 5090</span> values[2] |= *ptr++ << 3;</div>
+<div class="line"><a id="l05091" name="l05091"></a><span class="lineno"> 5091</span> values[2] |= *ptr >> 5;</div>
+<div class="line"><a id="l05092" name="l05092"></a><span class="lineno"> 5092</span> </div>
+<div class="line"><a id="l05093" name="l05093"></a><span class="lineno"> 5093</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 44;</div>
+<div class="line"><a id="l05094" name="l05094"></a><span class="lineno"> 5094</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05095" name="l05095"></a><span class="lineno"> 5095</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05096" name="l05096"></a><span class="lineno"> 5096</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05097" name="l05097"></a><span class="lineno"> 5097</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05098" name="l05098"></a><span class="lineno"> 5098</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05099" name="l05099"></a><span class="lineno"> 5099</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l05100" name="l05100"></a><span class="lineno"> 5100</span> </div>
+<div class="line"><a id="l05101" name="l05101"></a><span class="lineno"> 5101</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 45;</div>
+<div class="line"><a id="l05102" name="l05102"></a><span class="lineno"> 5102</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l05103" name="l05103"></a><span class="lineno"> 5103</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l05104" name="l05104"></a><span class="lineno"> 5104</span> values[4] |= *ptr++ << 21;</div>
+<div class="line"><a id="l05105" name="l05105"></a><span class="lineno"> 5105</span> values[4] |= *ptr++ << 13;</div>
+<div class="line"><a id="l05106" name="l05106"></a><span class="lineno"> 5106</span> values[4] |= *ptr++ << 5;</div>
+<div class="line"><a id="l05107" name="l05107"></a><span class="lineno"> 5107</span> values[4] |= *ptr >> 3;</div>
+<div class="line"><a id="l05108" name="l05108"></a><span class="lineno"> 5108</span> </div>
+<div class="line"><a id="l05109" name="l05109"></a><span class="lineno"> 5109</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 46;</div>
+<div class="line"><a id="l05110" name="l05110"></a><span class="lineno"> 5110</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05111" name="l05111"></a><span class="lineno"> 5111</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05112" name="l05112"></a><span class="lineno"> 5112</span> values[5] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05113" name="l05113"></a><span class="lineno"> 5113</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05114" name="l05114"></a><span class="lineno"> 5114</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05115" name="l05115"></a><span class="lineno"> 5115</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l05116" name="l05116"></a><span class="lineno"> 5116</span> </div>
+<div class="line"><a id="l05117" name="l05117"></a><span class="lineno"> 5117</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 47;</div>
+<div class="line"><a id="l05118" name="l05118"></a><span class="lineno"> 5118</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l05119" name="l05119"></a><span class="lineno"> 5119</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l05120" name="l05120"></a><span class="lineno"> 5120</span> values[6] |= *ptr++ << 23;</div>
+<div class="line"><a id="l05121" name="l05121"></a><span class="lineno"> 5121</span> values[6] |= *ptr++ << 15;</div>
+<div class="line"><a id="l05122" name="l05122"></a><span class="lineno"> 5122</span> values[6] |= *ptr++ << 7;</div>
+<div class="line"><a id="l05123" name="l05123"></a><span class="lineno"> 5123</span> values[6] |= *ptr >> 1;</div>
+<div class="line"><a id="l05124" name="l05124"></a><span class="lineno"> 5124</span> </div>
+<div class="line"><a id="l05125" name="l05125"></a><span class="lineno"> 5125</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 48;</div>
+<div class="line"><a id="l05126" name="l05126"></a><span class="lineno"> 5126</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05127" name="l05127"></a><span class="lineno"> 5127</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05128" name="l05128"></a><span class="lineno"> 5128</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05129" name="l05129"></a><span class="lineno"> 5129</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05130" name="l05130"></a><span class="lineno"> 5130</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05131" name="l05131"></a><span class="lineno"> 5131</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05132" name="l05132"></a><span class="lineno"> 5132</span>}</div>
+<div class="line"><a id="l05133" name="l05133"></a><span class="lineno"> 5133</span> </div>
+<div class="line"><a id="l05134" name="l05134"></a><span class="lineno"> 5134</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_50(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05135" name="l05135"></a><span class="lineno"> 5135</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05136" name="l05136"></a><span class="lineno"> 5136</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05137" name="l05137"></a><span class="lineno"> 5137</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05138" name="l05138"></a><span class="lineno"> 5138</span> values[0] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05139" name="l05139"></a><span class="lineno"> 5139</span> values[0] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05140" name="l05140"></a><span class="lineno"> 5140</span> values[0] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05141" name="l05141"></a><span class="lineno"> 5141</span> values[0] |= *ptr >> 6;</div>
+<div class="line"><a id="l05142" name="l05142"></a><span class="lineno"> 5142</span> </div>
+<div class="line"><a id="l05143" name="l05143"></a><span class="lineno"> 5143</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 44;</div>
+<div class="line"><a id="l05144" name="l05144"></a><span class="lineno"> 5144</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05145" name="l05145"></a><span class="lineno"> 5145</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05146" name="l05146"></a><span class="lineno"> 5146</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05147" name="l05147"></a><span class="lineno"> 5147</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05148" name="l05148"></a><span class="lineno"> 5148</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05149" name="l05149"></a><span class="lineno"> 5149</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l05150" name="l05150"></a><span class="lineno"> 5150</span> </div>
+<div class="line"><a id="l05151" name="l05151"></a><span class="lineno"> 5151</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 46;</div>
+<div class="line"><a id="l05152" name="l05152"></a><span class="lineno"> 5152</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05153" name="l05153"></a><span class="lineno"> 5153</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05154" name="l05154"></a><span class="lineno"> 5154</span> values[2] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05155" name="l05155"></a><span class="lineno"> 5155</span> values[2] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05156" name="l05156"></a><span class="lineno"> 5156</span> values[2] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05157" name="l05157"></a><span class="lineno"> 5157</span> values[2] |= *ptr >> 2;</div>
+<div class="line"><a id="l05158" name="l05158"></a><span class="lineno"> 5158</span> </div>
+<div class="line"><a id="l05159" name="l05159"></a><span class="lineno"> 5159</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 48;</div>
+<div class="line"><a id="l05160" name="l05160"></a><span class="lineno"> 5160</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05161" name="l05161"></a><span class="lineno"> 5161</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05162" name="l05162"></a><span class="lineno"> 5162</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05163" name="l05163"></a><span class="lineno"> 5163</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05164" name="l05164"></a><span class="lineno"> 5164</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05165" name="l05165"></a><span class="lineno"> 5165</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l05166" name="l05166"></a><span class="lineno"> 5166</span> </div>
+<div class="line"><a id="l05167" name="l05167"></a><span class="lineno"> 5167</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05168" name="l05168"></a><span class="lineno"> 5168</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05169" name="l05169"></a><span class="lineno"> 5169</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05170" name="l05170"></a><span class="lineno"> 5170</span> values[4] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05171" name="l05171"></a><span class="lineno"> 5171</span> values[4] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05172" name="l05172"></a><span class="lineno"> 5172</span> values[4] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05173" name="l05173"></a><span class="lineno"> 5173</span> values[4] |= *ptr >> 6;</div>
+<div class="line"><a id="l05174" name="l05174"></a><span class="lineno"> 5174</span> </div>
+<div class="line"><a id="l05175" name="l05175"></a><span class="lineno"> 5175</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 44;</div>
+<div class="line"><a id="l05176" name="l05176"></a><span class="lineno"> 5176</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05177" name="l05177"></a><span class="lineno"> 5177</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05178" name="l05178"></a><span class="lineno"> 5178</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05179" name="l05179"></a><span class="lineno"> 5179</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05180" name="l05180"></a><span class="lineno"> 5180</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05181" name="l05181"></a><span class="lineno"> 5181</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l05182" name="l05182"></a><span class="lineno"> 5182</span> </div>
+<div class="line"><a id="l05183" name="l05183"></a><span class="lineno"> 5183</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 46;</div>
+<div class="line"><a id="l05184" name="l05184"></a><span class="lineno"> 5184</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05185" name="l05185"></a><span class="lineno"> 5185</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05186" name="l05186"></a><span class="lineno"> 5186</span> values[6] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05187" name="l05187"></a><span class="lineno"> 5187</span> values[6] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05188" name="l05188"></a><span class="lineno"> 5188</span> values[6] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05189" name="l05189"></a><span class="lineno"> 5189</span> values[6] |= *ptr >> 2;</div>
+<div class="line"><a id="l05190" name="l05190"></a><span class="lineno"> 5190</span> </div>
+<div class="line"><a id="l05191" name="l05191"></a><span class="lineno"> 5191</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 48;</div>
+<div class="line"><a id="l05192" name="l05192"></a><span class="lineno"> 5192</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05193" name="l05193"></a><span class="lineno"> 5193</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05194" name="l05194"></a><span class="lineno"> 5194</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05195" name="l05195"></a><span class="lineno"> 5195</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05196" name="l05196"></a><span class="lineno"> 5196</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05197" name="l05197"></a><span class="lineno"> 5197</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05198" name="l05198"></a><span class="lineno"> 5198</span>}</div>
+<div class="line"><a id="l05199" name="l05199"></a><span class="lineno"> 5199</span> </div>
+<div class="line"><a id="l05200" name="l05200"></a><span class="lineno"> 5200</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_51(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05201" name="l05201"></a><span class="lineno"> 5201</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 43;</div>
+<div class="line"><a id="l05202" name="l05202"></a><span class="lineno"> 5202</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l05203" name="l05203"></a><span class="lineno"> 5203</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l05204" name="l05204"></a><span class="lineno"> 5204</span> values[0] |= *ptr++ << 19;</div>
+<div class="line"><a id="l05205" name="l05205"></a><span class="lineno"> 5205</span> values[0] |= *ptr++ << 11;</div>
+<div class="line"><a id="l05206" name="l05206"></a><span class="lineno"> 5206</span> values[0] |= *ptr++ << 3;</div>
+<div class="line"><a id="l05207" name="l05207"></a><span class="lineno"> 5207</span> values[0] |= *ptr >> 5;</div>
+<div class="line"><a id="l05208" name="l05208"></a><span class="lineno"> 5208</span> </div>
+<div class="line"><a id="l05209" name="l05209"></a><span class="lineno"> 5209</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 46;</div>
+<div class="line"><a id="l05210" name="l05210"></a><span class="lineno"> 5210</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05211" name="l05211"></a><span class="lineno"> 5211</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05212" name="l05212"></a><span class="lineno"> 5212</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05213" name="l05213"></a><span class="lineno"> 5213</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05214" name="l05214"></a><span class="lineno"> 5214</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05215" name="l05215"></a><span class="lineno"> 5215</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l05216" name="l05216"></a><span class="lineno"> 5216</span> </div>
+<div class="line"><a id="l05217" name="l05217"></a><span class="lineno"> 5217</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 49;</div>
+<div class="line"><a id="l05218" name="l05218"></a><span class="lineno"> 5218</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l05219" name="l05219"></a><span class="lineno"> 5219</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05220" name="l05220"></a><span class="lineno"> 5220</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05221" name="l05221"></a><span class="lineno"> 5221</span> values[2] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05222" name="l05222"></a><span class="lineno"> 5222</span> values[2] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05223" name="l05223"></a><span class="lineno"> 5223</span> values[2] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05224" name="l05224"></a><span class="lineno"> 5224</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l05225" name="l05225"></a><span class="lineno"> 5225</span> </div>
+<div class="line"><a id="l05226" name="l05226"></a><span class="lineno"> 5226</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 44;</div>
+<div class="line"><a id="l05227" name="l05227"></a><span class="lineno"> 5227</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05228" name="l05228"></a><span class="lineno"> 5228</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05229" name="l05229"></a><span class="lineno"> 5229</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05230" name="l05230"></a><span class="lineno"> 5230</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05231" name="l05231"></a><span class="lineno"> 5231</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05232" name="l05232"></a><span class="lineno"> 5232</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l05233" name="l05233"></a><span class="lineno"> 5233</span> </div>
+<div class="line"><a id="l05234" name="l05234"></a><span class="lineno"> 5234</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 47;</div>
+<div class="line"><a id="l05235" name="l05235"></a><span class="lineno"> 5235</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l05236" name="l05236"></a><span class="lineno"> 5236</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l05237" name="l05237"></a><span class="lineno"> 5237</span> values[4] |= *ptr++ << 23;</div>
+<div class="line"><a id="l05238" name="l05238"></a><span class="lineno"> 5238</span> values[4] |= *ptr++ << 15;</div>
+<div class="line"><a id="l05239" name="l05239"></a><span class="lineno"> 5239</span> values[4] |= *ptr++ << 7;</div>
+<div class="line"><a id="l05240" name="l05240"></a><span class="lineno"> 5240</span> values[4] |= *ptr >> 1;</div>
+<div class="line"><a id="l05241" name="l05241"></a><span class="lineno"> 5241</span> </div>
+<div class="line"><a id="l05242" name="l05242"></a><span class="lineno"> 5242</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 50;</div>
+<div class="line"><a id="l05243" name="l05243"></a><span class="lineno"> 5243</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05244" name="l05244"></a><span class="lineno"> 5244</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05245" name="l05245"></a><span class="lineno"> 5245</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05246" name="l05246"></a><span class="lineno"> 5246</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05247" name="l05247"></a><span class="lineno"> 5247</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05248" name="l05248"></a><span class="lineno"> 5248</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05249" name="l05249"></a><span class="lineno"> 5249</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l05250" name="l05250"></a><span class="lineno"> 5250</span> </div>
+<div class="line"><a id="l05251" name="l05251"></a><span class="lineno"> 5251</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 45;</div>
+<div class="line"><a id="l05252" name="l05252"></a><span class="lineno"> 5252</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l05253" name="l05253"></a><span class="lineno"> 5253</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l05254" name="l05254"></a><span class="lineno"> 5254</span> values[6] |= *ptr++ << 21;</div>
+<div class="line"><a id="l05255" name="l05255"></a><span class="lineno"> 5255</span> values[6] |= *ptr++ << 13;</div>
+<div class="line"><a id="l05256" name="l05256"></a><span class="lineno"> 5256</span> values[6] |= *ptr++ << 5;</div>
+<div class="line"><a id="l05257" name="l05257"></a><span class="lineno"> 5257</span> values[6] |= *ptr >> 3;</div>
+<div class="line"><a id="l05258" name="l05258"></a><span class="lineno"> 5258</span> </div>
+<div class="line"><a id="l05259" name="l05259"></a><span class="lineno"> 5259</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 48;</div>
+<div class="line"><a id="l05260" name="l05260"></a><span class="lineno"> 5260</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05261" name="l05261"></a><span class="lineno"> 5261</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05262" name="l05262"></a><span class="lineno"> 5262</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05263" name="l05263"></a><span class="lineno"> 5263</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05264" name="l05264"></a><span class="lineno"> 5264</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05265" name="l05265"></a><span class="lineno"> 5265</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05266" name="l05266"></a><span class="lineno"> 5266</span>}</div>
+<div class="line"><a id="l05267" name="l05267"></a><span class="lineno"> 5267</span> </div>
+<div class="line"><a id="l05268" name="l05268"></a><span class="lineno"> 5268</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_52(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05269" name="l05269"></a><span class="lineno"> 5269</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05270" name="l05270"></a><span class="lineno"> 5270</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05271" name="l05271"></a><span class="lineno"> 5271</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05272" name="l05272"></a><span class="lineno"> 5272</span> values[0] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05273" name="l05273"></a><span class="lineno"> 5273</span> values[0] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05274" name="l05274"></a><span class="lineno"> 5274</span> values[0] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05275" name="l05275"></a><span class="lineno"> 5275</span> values[0] |= *ptr >> 4;</div>
+<div class="line"><a id="l05276" name="l05276"></a><span class="lineno"> 5276</span> </div>
+<div class="line"><a id="l05277" name="l05277"></a><span class="lineno"> 5277</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 48;</div>
+<div class="line"><a id="l05278" name="l05278"></a><span class="lineno"> 5278</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05279" name="l05279"></a><span class="lineno"> 5279</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05280" name="l05280"></a><span class="lineno"> 5280</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05281" name="l05281"></a><span class="lineno"> 5281</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05282" name="l05282"></a><span class="lineno"> 5282</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05283" name="l05283"></a><span class="lineno"> 5283</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l05284" name="l05284"></a><span class="lineno"> 5284</span> </div>
+<div class="line"><a id="l05285" name="l05285"></a><span class="lineno"> 5285</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05286" name="l05286"></a><span class="lineno"> 5286</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05287" name="l05287"></a><span class="lineno"> 5287</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05288" name="l05288"></a><span class="lineno"> 5288</span> values[2] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05289" name="l05289"></a><span class="lineno"> 5289</span> values[2] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05290" name="l05290"></a><span class="lineno"> 5290</span> values[2] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05291" name="l05291"></a><span class="lineno"> 5291</span> values[2] |= *ptr >> 4;</div>
+<div class="line"><a id="l05292" name="l05292"></a><span class="lineno"> 5292</span> </div>
+<div class="line"><a id="l05293" name="l05293"></a><span class="lineno"> 5293</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 48;</div>
+<div class="line"><a id="l05294" name="l05294"></a><span class="lineno"> 5294</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05295" name="l05295"></a><span class="lineno"> 5295</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05296" name="l05296"></a><span class="lineno"> 5296</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05297" name="l05297"></a><span class="lineno"> 5297</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05298" name="l05298"></a><span class="lineno"> 5298</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05299" name="l05299"></a><span class="lineno"> 5299</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l05300" name="l05300"></a><span class="lineno"> 5300</span> </div>
+<div class="line"><a id="l05301" name="l05301"></a><span class="lineno"> 5301</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05302" name="l05302"></a><span class="lineno"> 5302</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05303" name="l05303"></a><span class="lineno"> 5303</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05304" name="l05304"></a><span class="lineno"> 5304</span> values[4] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05305" name="l05305"></a><span class="lineno"> 5305</span> values[4] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05306" name="l05306"></a><span class="lineno"> 5306</span> values[4] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05307" name="l05307"></a><span class="lineno"> 5307</span> values[4] |= *ptr >> 4;</div>
+<div class="line"><a id="l05308" name="l05308"></a><span class="lineno"> 5308</span> </div>
+<div class="line"><a id="l05309" name="l05309"></a><span class="lineno"> 5309</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 48;</div>
+<div class="line"><a id="l05310" name="l05310"></a><span class="lineno"> 5310</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05311" name="l05311"></a><span class="lineno"> 5311</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05312" name="l05312"></a><span class="lineno"> 5312</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05313" name="l05313"></a><span class="lineno"> 5313</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05314" name="l05314"></a><span class="lineno"> 5314</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05315" name="l05315"></a><span class="lineno"> 5315</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l05316" name="l05316"></a><span class="lineno"> 5316</span> </div>
+<div class="line"><a id="l05317" name="l05317"></a><span class="lineno"> 5317</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05318" name="l05318"></a><span class="lineno"> 5318</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05319" name="l05319"></a><span class="lineno"> 5319</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05320" name="l05320"></a><span class="lineno"> 5320</span> values[6] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05321" name="l05321"></a><span class="lineno"> 5321</span> values[6] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05322" name="l05322"></a><span class="lineno"> 5322</span> values[6] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05323" name="l05323"></a><span class="lineno"> 5323</span> values[6] |= *ptr >> 4;</div>
+<div class="line"><a id="l05324" name="l05324"></a><span class="lineno"> 5324</span> </div>
+<div class="line"><a id="l05325" name="l05325"></a><span class="lineno"> 5325</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 48;</div>
+<div class="line"><a id="l05326" name="l05326"></a><span class="lineno"> 5326</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05327" name="l05327"></a><span class="lineno"> 5327</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05328" name="l05328"></a><span class="lineno"> 5328</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05329" name="l05329"></a><span class="lineno"> 5329</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05330" name="l05330"></a><span class="lineno"> 5330</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05331" name="l05331"></a><span class="lineno"> 5331</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05332" name="l05332"></a><span class="lineno"> 5332</span>}</div>
+<div class="line"><a id="l05333" name="l05333"></a><span class="lineno"> 5333</span> </div>
+<div class="line"><a id="l05334" name="l05334"></a><span class="lineno"> 5334</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_53(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05335" name="l05335"></a><span class="lineno"> 5335</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 45;</div>
+<div class="line"><a id="l05336" name="l05336"></a><span class="lineno"> 5336</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l05337" name="l05337"></a><span class="lineno"> 5337</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l05338" name="l05338"></a><span class="lineno"> 5338</span> values[0] |= *ptr++ << 21;</div>
+<div class="line"><a id="l05339" name="l05339"></a><span class="lineno"> 5339</span> values[0] |= *ptr++ << 13;</div>
+<div class="line"><a id="l05340" name="l05340"></a><span class="lineno"> 5340</span> values[0] |= *ptr++ << 5;</div>
+<div class="line"><a id="l05341" name="l05341"></a><span class="lineno"> 5341</span> values[0] |= *ptr >> 3;</div>
+<div class="line"><a id="l05342" name="l05342"></a><span class="lineno"> 5342</span> </div>
+<div class="line"><a id="l05343" name="l05343"></a><span class="lineno"> 5343</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 50;</div>
+<div class="line"><a id="l05344" name="l05344"></a><span class="lineno"> 5344</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05345" name="l05345"></a><span class="lineno"> 5345</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05346" name="l05346"></a><span class="lineno"> 5346</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05347" name="l05347"></a><span class="lineno"> 5347</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05348" name="l05348"></a><span class="lineno"> 5348</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05349" name="l05349"></a><span class="lineno"> 5349</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05350" name="l05350"></a><span class="lineno"> 5350</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l05351" name="l05351"></a><span class="lineno"> 5351</span> </div>
+<div class="line"><a id="l05352" name="l05352"></a><span class="lineno"> 5352</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 47;</div>
+<div class="line"><a id="l05353" name="l05353"></a><span class="lineno"> 5353</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l05354" name="l05354"></a><span class="lineno"> 5354</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l05355" name="l05355"></a><span class="lineno"> 5355</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 23;</div>
+<div class="line"><a id="l05356" name="l05356"></a><span class="lineno"> 5356</span> values[2] |= *ptr++ << 15;</div>
+<div class="line"><a id="l05357" name="l05357"></a><span class="lineno"> 5357</span> values[2] |= *ptr++ << 7;</div>
+<div class="line"><a id="l05358" name="l05358"></a><span class="lineno"> 5358</span> values[2] |= *ptr >> 1;</div>
+<div class="line"><a id="l05359" name="l05359"></a><span class="lineno"> 5359</span> </div>
+<div class="line"><a id="l05360" name="l05360"></a><span class="lineno"> 5360</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 52;</div>
+<div class="line"><a id="l05361" name="l05361"></a><span class="lineno"> 5361</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05362" name="l05362"></a><span class="lineno"> 5362</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05363" name="l05363"></a><span class="lineno"> 5363</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05364" name="l05364"></a><span class="lineno"> 5364</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05365" name="l05365"></a><span class="lineno"> 5365</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05366" name="l05366"></a><span class="lineno"> 5366</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05367" name="l05367"></a><span class="lineno"> 5367</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l05368" name="l05368"></a><span class="lineno"> 5368</span> </div>
+<div class="line"><a id="l05369" name="l05369"></a><span class="lineno"> 5369</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 49;</div>
+<div class="line"><a id="l05370" name="l05370"></a><span class="lineno"> 5370</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l05371" name="l05371"></a><span class="lineno"> 5371</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05372" name="l05372"></a><span class="lineno"> 5372</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05373" name="l05373"></a><span class="lineno"> 5373</span> values[4] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05374" name="l05374"></a><span class="lineno"> 5374</span> values[4] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05375" name="l05375"></a><span class="lineno"> 5375</span> values[4] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05376" name="l05376"></a><span class="lineno"> 5376</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l05377" name="l05377"></a><span class="lineno"> 5377</span> </div>
+<div class="line"><a id="l05378" name="l05378"></a><span class="lineno"> 5378</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 46;</div>
+<div class="line"><a id="l05379" name="l05379"></a><span class="lineno"> 5379</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05380" name="l05380"></a><span class="lineno"> 5380</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05381" name="l05381"></a><span class="lineno"> 5381</span> values[5] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05382" name="l05382"></a><span class="lineno"> 5382</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05383" name="l05383"></a><span class="lineno"> 5383</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05384" name="l05384"></a><span class="lineno"> 5384</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l05385" name="l05385"></a><span class="lineno"> 5385</span> </div>
+<div class="line"><a id="l05386" name="l05386"></a><span class="lineno"> 5386</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 51;</div>
+<div class="line"><a id="l05387" name="l05387"></a><span class="lineno"> 5387</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 43;</div>
+<div class="line"><a id="l05388" name="l05388"></a><span class="lineno"> 5388</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l05389" name="l05389"></a><span class="lineno"> 5389</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l05390" name="l05390"></a><span class="lineno"> 5390</span> values[6] |= *ptr++ << 19;</div>
+<div class="line"><a id="l05391" name="l05391"></a><span class="lineno"> 5391</span> values[6] |= *ptr++ << 11;</div>
+<div class="line"><a id="l05392" name="l05392"></a><span class="lineno"> 5392</span> values[6] |= *ptr++ << 3;</div>
+<div class="line"><a id="l05393" name="l05393"></a><span class="lineno"> 5393</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l05394" name="l05394"></a><span class="lineno"> 5394</span> </div>
+<div class="line"><a id="l05395" name="l05395"></a><span class="lineno"> 5395</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 48;</div>
+<div class="line"><a id="l05396" name="l05396"></a><span class="lineno"> 5396</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05397" name="l05397"></a><span class="lineno"> 5397</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05398" name="l05398"></a><span class="lineno"> 5398</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05399" name="l05399"></a><span class="lineno"> 5399</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05400" name="l05400"></a><span class="lineno"> 5400</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05401" name="l05401"></a><span class="lineno"> 5401</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05402" name="l05402"></a><span class="lineno"> 5402</span>}</div>
+<div class="line"><a id="l05403" name="l05403"></a><span class="lineno"> 5403</span> </div>
+<div class="line"><a id="l05404" name="l05404"></a><span class="lineno"> 5404</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_54(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05405" name="l05405"></a><span class="lineno"> 5405</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05406" name="l05406"></a><span class="lineno"> 5406</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05407" name="l05407"></a><span class="lineno"> 5407</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05408" name="l05408"></a><span class="lineno"> 5408</span> values[0] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05409" name="l05409"></a><span class="lineno"> 5409</span> values[0] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05410" name="l05410"></a><span class="lineno"> 5410</span> values[0] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05411" name="l05411"></a><span class="lineno"> 5411</span> values[0] |= *ptr >> 2;</div>
+<div class="line"><a id="l05412" name="l05412"></a><span class="lineno"> 5412</span> </div>
+<div class="line"><a id="l05413" name="l05413"></a><span class="lineno"> 5413</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 52;</div>
+<div class="line"><a id="l05414" name="l05414"></a><span class="lineno"> 5414</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05415" name="l05415"></a><span class="lineno"> 5415</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05416" name="l05416"></a><span class="lineno"> 5416</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05417" name="l05417"></a><span class="lineno"> 5417</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05418" name="l05418"></a><span class="lineno"> 5418</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05419" name="l05419"></a><span class="lineno"> 5419</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05420" name="l05420"></a><span class="lineno"> 5420</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l05421" name="l05421"></a><span class="lineno"> 5421</span> </div>
+<div class="line"><a id="l05422" name="l05422"></a><span class="lineno"> 5422</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 50;</div>
+<div class="line"><a id="l05423" name="l05423"></a><span class="lineno"> 5423</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05424" name="l05424"></a><span class="lineno"> 5424</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05425" name="l05425"></a><span class="lineno"> 5425</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05426" name="l05426"></a><span class="lineno"> 5426</span> values[2] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05427" name="l05427"></a><span class="lineno"> 5427</span> values[2] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05428" name="l05428"></a><span class="lineno"> 5428</span> values[2] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05429" name="l05429"></a><span class="lineno"> 5429</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l05430" name="l05430"></a><span class="lineno"> 5430</span> </div>
+<div class="line"><a id="l05431" name="l05431"></a><span class="lineno"> 5431</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 48;</div>
+<div class="line"><a id="l05432" name="l05432"></a><span class="lineno"> 5432</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05433" name="l05433"></a><span class="lineno"> 5433</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05434" name="l05434"></a><span class="lineno"> 5434</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05435" name="l05435"></a><span class="lineno"> 5435</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05436" name="l05436"></a><span class="lineno"> 5436</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05437" name="l05437"></a><span class="lineno"> 5437</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l05438" name="l05438"></a><span class="lineno"> 5438</span> </div>
+<div class="line"><a id="l05439" name="l05439"></a><span class="lineno"> 5439</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05440" name="l05440"></a><span class="lineno"> 5440</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05441" name="l05441"></a><span class="lineno"> 5441</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05442" name="l05442"></a><span class="lineno"> 5442</span> values[4] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05443" name="l05443"></a><span class="lineno"> 5443</span> values[4] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05444" name="l05444"></a><span class="lineno"> 5444</span> values[4] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05445" name="l05445"></a><span class="lineno"> 5445</span> values[4] |= *ptr >> 2;</div>
+<div class="line"><a id="l05446" name="l05446"></a><span class="lineno"> 5446</span> </div>
+<div class="line"><a id="l05447" name="l05447"></a><span class="lineno"> 5447</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 52;</div>
+<div class="line"><a id="l05448" name="l05448"></a><span class="lineno"> 5448</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05449" name="l05449"></a><span class="lineno"> 5449</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05450" name="l05450"></a><span class="lineno"> 5450</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05451" name="l05451"></a><span class="lineno"> 5451</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05452" name="l05452"></a><span class="lineno"> 5452</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05453" name="l05453"></a><span class="lineno"> 5453</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05454" name="l05454"></a><span class="lineno"> 5454</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l05455" name="l05455"></a><span class="lineno"> 5455</span> </div>
+<div class="line"><a id="l05456" name="l05456"></a><span class="lineno"> 5456</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 50;</div>
+<div class="line"><a id="l05457" name="l05457"></a><span class="lineno"> 5457</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05458" name="l05458"></a><span class="lineno"> 5458</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05459" name="l05459"></a><span class="lineno"> 5459</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05460" name="l05460"></a><span class="lineno"> 5460</span> values[6] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05461" name="l05461"></a><span class="lineno"> 5461</span> values[6] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05462" name="l05462"></a><span class="lineno"> 5462</span> values[6] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05463" name="l05463"></a><span class="lineno"> 5463</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l05464" name="l05464"></a><span class="lineno"> 5464</span> </div>
+<div class="line"><a id="l05465" name="l05465"></a><span class="lineno"> 5465</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 48;</div>
+<div class="line"><a id="l05466" name="l05466"></a><span class="lineno"> 5466</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05467" name="l05467"></a><span class="lineno"> 5467</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05468" name="l05468"></a><span class="lineno"> 5468</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05469" name="l05469"></a><span class="lineno"> 5469</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05470" name="l05470"></a><span class="lineno"> 5470</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05471" name="l05471"></a><span class="lineno"> 5471</span> values[7] |= *ptr++;</div>
+<div class="line"><a id="l05472" name="l05472"></a><span class="lineno"> 5472</span>}</div>
+<div class="line"><a id="l05473" name="l05473"></a><span class="lineno"> 5473</span> </div>
+<div class="line"><a id="l05474" name="l05474"></a><span class="lineno"> 5474</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_55(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05475" name="l05475"></a><span class="lineno"> 5475</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 47;</div>
+<div class="line"><a id="l05476" name="l05476"></a><span class="lineno"> 5476</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l05477" name="l05477"></a><span class="lineno"> 5477</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l05478" name="l05478"></a><span class="lineno"> 5478</span> values[0] |= *ptr++ << 23;</div>
+<div class="line"><a id="l05479" name="l05479"></a><span class="lineno"> 5479</span> values[0] |= *ptr++ << 15;</div>
+<div class="line"><a id="l05480" name="l05480"></a><span class="lineno"> 5480</span> values[0] |= *ptr++ << 7;</div>
+<div class="line"><a id="l05481" name="l05481"></a><span class="lineno"> 5481</span> values[0] |= *ptr >> 1;</div>
+<div class="line"><a id="l05482" name="l05482"></a><span class="lineno"> 5482</span> </div>
+<div class="line"><a id="l05483" name="l05483"></a><span class="lineno"> 5483</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 54;</div>
+<div class="line"><a id="l05484" name="l05484"></a><span class="lineno"> 5484</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05485" name="l05485"></a><span class="lineno"> 5485</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05486" name="l05486"></a><span class="lineno"> 5486</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05487" name="l05487"></a><span class="lineno"> 5487</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05488" name="l05488"></a><span class="lineno"> 5488</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05489" name="l05489"></a><span class="lineno"> 5489</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05490" name="l05490"></a><span class="lineno"> 5490</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l05491" name="l05491"></a><span class="lineno"> 5491</span> </div>
+<div class="line"><a id="l05492" name="l05492"></a><span class="lineno"> 5492</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 53;</div>
+<div class="line"><a id="l05493" name="l05493"></a><span class="lineno"> 5493</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 45;</div>
+<div class="line"><a id="l05494" name="l05494"></a><span class="lineno"> 5494</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l05495" name="l05495"></a><span class="lineno"> 5495</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l05496" name="l05496"></a><span class="lineno"> 5496</span> values[2] |= *ptr++ << 21;</div>
+<div class="line"><a id="l05497" name="l05497"></a><span class="lineno"> 5497</span> values[2] |= *ptr++ << 13;</div>
+<div class="line"><a id="l05498" name="l05498"></a><span class="lineno"> 5498</span> values[2] |= *ptr++ << 5;</div>
+<div class="line"><a id="l05499" name="l05499"></a><span class="lineno"> 5499</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l05500" name="l05500"></a><span class="lineno"> 5500</span> </div>
+<div class="line"><a id="l05501" name="l05501"></a><span class="lineno"> 5501</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 52;</div>
+<div class="line"><a id="l05502" name="l05502"></a><span class="lineno"> 5502</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05503" name="l05503"></a><span class="lineno"> 5503</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05504" name="l05504"></a><span class="lineno"> 5504</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05505" name="l05505"></a><span class="lineno"> 5505</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05506" name="l05506"></a><span class="lineno"> 5506</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05507" name="l05507"></a><span class="lineno"> 5507</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05508" name="l05508"></a><span class="lineno"> 5508</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l05509" name="l05509"></a><span class="lineno"> 5509</span> </div>
+<div class="line"><a id="l05510" name="l05510"></a><span class="lineno"> 5510</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 51;</div>
+<div class="line"><a id="l05511" name="l05511"></a><span class="lineno"> 5511</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 43;</div>
+<div class="line"><a id="l05512" name="l05512"></a><span class="lineno"> 5512</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l05513" name="l05513"></a><span class="lineno"> 5513</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l05514" name="l05514"></a><span class="lineno"> 5514</span> values[4] |= *ptr++ << 19;</div>
+<div class="line"><a id="l05515" name="l05515"></a><span class="lineno"> 5515</span> values[4] |= *ptr++ << 11;</div>
+<div class="line"><a id="l05516" name="l05516"></a><span class="lineno"> 5516</span> values[4] |= *ptr++ << 3;</div>
+<div class="line"><a id="l05517" name="l05517"></a><span class="lineno"> 5517</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l05518" name="l05518"></a><span class="lineno"> 5518</span> </div>
+<div class="line"><a id="l05519" name="l05519"></a><span class="lineno"> 5519</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 50;</div>
+<div class="line"><a id="l05520" name="l05520"></a><span class="lineno"> 5520</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05521" name="l05521"></a><span class="lineno"> 5521</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05522" name="l05522"></a><span class="lineno"> 5522</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05523" name="l05523"></a><span class="lineno"> 5523</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05524" name="l05524"></a><span class="lineno"> 5524</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05525" name="l05525"></a><span class="lineno"> 5525</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05526" name="l05526"></a><span class="lineno"> 5526</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l05527" name="l05527"></a><span class="lineno"> 5527</span> </div>
+<div class="line"><a id="l05528" name="l05528"></a><span class="lineno"> 5528</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 49;</div>
+<div class="line"><a id="l05529" name="l05529"></a><span class="lineno"> 5529</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l05530" name="l05530"></a><span class="lineno"> 5530</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05531" name="l05531"></a><span class="lineno"> 5531</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05532" name="l05532"></a><span class="lineno"> 5532</span> values[6] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05533" name="l05533"></a><span class="lineno"> 5533</span> values[6] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05534" name="l05534"></a><span class="lineno"> 5534</span> values[6] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05535" name="l05535"></a><span class="lineno"> 5535</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l05536" name="l05536"></a><span class="lineno"> 5536</span> </div>
+<div class="line"><a id="l05537" name="l05537"></a><span class="lineno"> 5537</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 48;</div>
+<div class="line"><a id="l05538" name="l05538"></a><span class="lineno"> 5538</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05539" name="l05539"></a><span class="lineno"> 5539</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05540" name="l05540"></a><span class="lineno"> 5540</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05541" name="l05541"></a><span class="lineno"> 5541</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05542" name="l05542"></a><span class="lineno"> 5542</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05543" name="l05543"></a><span class="lineno"> 5543</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05544" name="l05544"></a><span class="lineno"> 5544</span>}</div>
+<div class="line"><a id="l05545" name="l05545"></a><span class="lineno"> 5545</span> </div>
+<div class="line"><a id="l05546" name="l05546"></a><span class="lineno"> 5546</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_56(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05547" name="l05547"></a><span class="lineno"> 5547</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05548" name="l05548"></a><span class="lineno"> 5548</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05549" name="l05549"></a><span class="lineno"> 5549</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05550" name="l05550"></a><span class="lineno"> 5550</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05551" name="l05551"></a><span class="lineno"> 5551</span> values[0] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05552" name="l05552"></a><span class="lineno"> 5552</span> values[0] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05553" name="l05553"></a><span class="lineno"> 5553</span> values[0] |= *ptr++;</div>
+<div class="line"><a id="l05554" name="l05554"></a><span class="lineno"> 5554</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05555" name="l05555"></a><span class="lineno"> 5555</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05556" name="l05556"></a><span class="lineno"> 5556</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05557" name="l05557"></a><span class="lineno"> 5557</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05558" name="l05558"></a><span class="lineno"> 5558</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05559" name="l05559"></a><span class="lineno"> 5559</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05560" name="l05560"></a><span class="lineno"> 5560</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l05561" name="l05561"></a><span class="lineno"> 5561</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05562" name="l05562"></a><span class="lineno"> 5562</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05563" name="l05563"></a><span class="lineno"> 5563</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05564" name="l05564"></a><span class="lineno"> 5564</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05565" name="l05565"></a><span class="lineno"> 5565</span> values[2] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05566" name="l05566"></a><span class="lineno"> 5566</span> values[2] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05567" name="l05567"></a><span class="lineno"> 5567</span> values[2] |= *ptr++;</div>
+<div class="line"><a id="l05568" name="l05568"></a><span class="lineno"> 5568</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05569" name="l05569"></a><span class="lineno"> 5569</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05570" name="l05570"></a><span class="lineno"> 5570</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05571" name="l05571"></a><span class="lineno"> 5571</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05572" name="l05572"></a><span class="lineno"> 5572</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05573" name="l05573"></a><span class="lineno"> 5573</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05574" name="l05574"></a><span class="lineno"> 5574</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l05575" name="l05575"></a><span class="lineno"> 5575</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05576" name="l05576"></a><span class="lineno"> 5576</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05577" name="l05577"></a><span class="lineno"> 5577</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05578" name="l05578"></a><span class="lineno"> 5578</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05579" name="l05579"></a><span class="lineno"> 5579</span> values[4] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05580" name="l05580"></a><span class="lineno"> 5580</span> values[4] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05581" name="l05581"></a><span class="lineno"> 5581</span> values[4] |= *ptr++;</div>
+<div class="line"><a id="l05582" name="l05582"></a><span class="lineno"> 5582</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05583" name="l05583"></a><span class="lineno"> 5583</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05584" name="l05584"></a><span class="lineno"> 5584</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05585" name="l05585"></a><span class="lineno"> 5585</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05586" name="l05586"></a><span class="lineno"> 5586</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05587" name="l05587"></a><span class="lineno"> 5587</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05588" name="l05588"></a><span class="lineno"> 5588</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l05589" name="l05589"></a><span class="lineno"> 5589</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05590" name="l05590"></a><span class="lineno"> 5590</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05591" name="l05591"></a><span class="lineno"> 5591</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05592" name="l05592"></a><span class="lineno"> 5592</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05593" name="l05593"></a><span class="lineno"> 5593</span> values[6] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05594" name="l05594"></a><span class="lineno"> 5594</span> values[6] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05595" name="l05595"></a><span class="lineno"> 5595</span> values[6] |= *ptr++;</div>
+<div class="line"><a id="l05596" name="l05596"></a><span class="lineno"> 5596</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05597" name="l05597"></a><span class="lineno"> 5597</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05598" name="l05598"></a><span class="lineno"> 5598</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05599" name="l05599"></a><span class="lineno"> 5599</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05600" name="l05600"></a><span class="lineno"> 5600</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05601" name="l05601"></a><span class="lineno"> 5601</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05602" name="l05602"></a><span class="lineno"> 5602</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05603" name="l05603"></a><span class="lineno"> 5603</span>}</div>
+<div class="line"><a id="l05604" name="l05604"></a><span class="lineno"> 5604</span> </div>
+<div class="line"><a id="l05605" name="l05605"></a><span class="lineno"> 5605</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_57(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05606" name="l05606"></a><span class="lineno"> 5606</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 49;</div>
+<div class="line"><a id="l05607" name="l05607"></a><span class="lineno"> 5607</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l05608" name="l05608"></a><span class="lineno"> 5608</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05609" name="l05609"></a><span class="lineno"> 5609</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05610" name="l05610"></a><span class="lineno"> 5610</span> values[0] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05611" name="l05611"></a><span class="lineno"> 5611</span> values[0] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05612" name="l05612"></a><span class="lineno"> 5612</span> values[0] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05613" name="l05613"></a><span class="lineno"> 5613</span> values[0] |= *ptr >> 7;</div>
+<div class="line"><a id="l05614" name="l05614"></a><span class="lineno"> 5614</span> </div>
+<div class="line"><a id="l05615" name="l05615"></a><span class="lineno"> 5615</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 50;</div>
+<div class="line"><a id="l05616" name="l05616"></a><span class="lineno"> 5616</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05617" name="l05617"></a><span class="lineno"> 5617</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05618" name="l05618"></a><span class="lineno"> 5618</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05619" name="l05619"></a><span class="lineno"> 5619</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05620" name="l05620"></a><span class="lineno"> 5620</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05621" name="l05621"></a><span class="lineno"> 5621</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05622" name="l05622"></a><span class="lineno"> 5622</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l05623" name="l05623"></a><span class="lineno"> 5623</span> </div>
+<div class="line"><a id="l05624" name="l05624"></a><span class="lineno"> 5624</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 51;</div>
+<div class="line"><a id="l05625" name="l05625"></a><span class="lineno"> 5625</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 43;</div>
+<div class="line"><a id="l05626" name="l05626"></a><span class="lineno"> 5626</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l05627" name="l05627"></a><span class="lineno"> 5627</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l05628" name="l05628"></a><span class="lineno"> 5628</span> values[2] |= *ptr++ << 19;</div>
+<div class="line"><a id="l05629" name="l05629"></a><span class="lineno"> 5629</span> values[2] |= *ptr++ << 11;</div>
+<div class="line"><a id="l05630" name="l05630"></a><span class="lineno"> 5630</span> values[2] |= *ptr++ << 3;</div>
+<div class="line"><a id="l05631" name="l05631"></a><span class="lineno"> 5631</span> values[2] |= *ptr >> 5;</div>
+<div class="line"><a id="l05632" name="l05632"></a><span class="lineno"> 5632</span> </div>
+<div class="line"><a id="l05633" name="l05633"></a><span class="lineno"> 5633</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 52;</div>
+<div class="line"><a id="l05634" name="l05634"></a><span class="lineno"> 5634</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05635" name="l05635"></a><span class="lineno"> 5635</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05636" name="l05636"></a><span class="lineno"> 5636</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05637" name="l05637"></a><span class="lineno"> 5637</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05638" name="l05638"></a><span class="lineno"> 5638</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05639" name="l05639"></a><span class="lineno"> 5639</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05640" name="l05640"></a><span class="lineno"> 5640</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l05641" name="l05641"></a><span class="lineno"> 5641</span> </div>
+<div class="line"><a id="l05642" name="l05642"></a><span class="lineno"> 5642</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 53;</div>
+<div class="line"><a id="l05643" name="l05643"></a><span class="lineno"> 5643</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 45;</div>
+<div class="line"><a id="l05644" name="l05644"></a><span class="lineno"> 5644</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l05645" name="l05645"></a><span class="lineno"> 5645</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l05646" name="l05646"></a><span class="lineno"> 5646</span> values[4] |= *ptr++ << 21;</div>
+<div class="line"><a id="l05647" name="l05647"></a><span class="lineno"> 5647</span> values[4] |= *ptr++ << 13;</div>
+<div class="line"><a id="l05648" name="l05648"></a><span class="lineno"> 5648</span> values[4] |= *ptr++ << 5;</div>
+<div class="line"><a id="l05649" name="l05649"></a><span class="lineno"> 5649</span> values[4] |= *ptr >> 3;</div>
+<div class="line"><a id="l05650" name="l05650"></a><span class="lineno"> 5650</span> </div>
+<div class="line"><a id="l05651" name="l05651"></a><span class="lineno"> 5651</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 54;</div>
+<div class="line"><a id="l05652" name="l05652"></a><span class="lineno"> 5652</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05653" name="l05653"></a><span class="lineno"> 5653</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05654" name="l05654"></a><span class="lineno"> 5654</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05655" name="l05655"></a><span class="lineno"> 5655</span> values[5] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05656" name="l05656"></a><span class="lineno"> 5656</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05657" name="l05657"></a><span class="lineno"> 5657</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05658" name="l05658"></a><span class="lineno"> 5658</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l05659" name="l05659"></a><span class="lineno"> 5659</span> </div>
+<div class="line"><a id="l05660" name="l05660"></a><span class="lineno"> 5660</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 55;</div>
+<div class="line"><a id="l05661" name="l05661"></a><span class="lineno"> 5661</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 47;</div>
+<div class="line"><a id="l05662" name="l05662"></a><span class="lineno"> 5662</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l05663" name="l05663"></a><span class="lineno"> 5663</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l05664" name="l05664"></a><span class="lineno"> 5664</span> values[6] |= *ptr++ << 23;</div>
+<div class="line"><a id="l05665" name="l05665"></a><span class="lineno"> 5665</span> values[6] |= *ptr++ << 15;</div>
+<div class="line"><a id="l05666" name="l05666"></a><span class="lineno"> 5666</span> values[6] |= *ptr++ << 7;</div>
+<div class="line"><a id="l05667" name="l05667"></a><span class="lineno"> 5667</span> values[6] |= *ptr >> 1;</div>
+<div class="line"><a id="l05668" name="l05668"></a><span class="lineno"> 5668</span> </div>
+<div class="line"><a id="l05669" name="l05669"></a><span class="lineno"> 5669</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 56;</div>
+<div class="line"><a id="l05670" name="l05670"></a><span class="lineno"> 5670</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05671" name="l05671"></a><span class="lineno"> 5671</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05672" name="l05672"></a><span class="lineno"> 5672</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05673" name="l05673"></a><span class="lineno"> 5673</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05674" name="l05674"></a><span class="lineno"> 5674</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05675" name="l05675"></a><span class="lineno"> 5675</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05676" name="l05676"></a><span class="lineno"> 5676</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05677" name="l05677"></a><span class="lineno"> 5677</span>}</div>
+<div class="line"><a id="l05678" name="l05678"></a><span class="lineno"> 5678</span> </div>
+<div class="line"><a id="l05679" name="l05679"></a><span class="lineno"> 5679</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_58(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05680" name="l05680"></a><span class="lineno"> 5680</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 50;</div>
+<div class="line"><a id="l05681" name="l05681"></a><span class="lineno"> 5681</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05682" name="l05682"></a><span class="lineno"> 5682</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05683" name="l05683"></a><span class="lineno"> 5683</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05684" name="l05684"></a><span class="lineno"> 5684</span> values[0] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05685" name="l05685"></a><span class="lineno"> 5685</span> values[0] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05686" name="l05686"></a><span class="lineno"> 5686</span> values[0] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05687" name="l05687"></a><span class="lineno"> 5687</span> values[0] |= *ptr >> 6;</div>
+<div class="line"><a id="l05688" name="l05688"></a><span class="lineno"> 5688</span> </div>
+<div class="line"><a id="l05689" name="l05689"></a><span class="lineno"> 5689</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 52;</div>
+<div class="line"><a id="l05690" name="l05690"></a><span class="lineno"> 5690</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05691" name="l05691"></a><span class="lineno"> 5691</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05692" name="l05692"></a><span class="lineno"> 5692</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05693" name="l05693"></a><span class="lineno"> 5693</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05694" name="l05694"></a><span class="lineno"> 5694</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05695" name="l05695"></a><span class="lineno"> 5695</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05696" name="l05696"></a><span class="lineno"> 5696</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l05697" name="l05697"></a><span class="lineno"> 5697</span> </div>
+<div class="line"><a id="l05698" name="l05698"></a><span class="lineno"> 5698</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 54;</div>
+<div class="line"><a id="l05699" name="l05699"></a><span class="lineno"> 5699</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05700" name="l05700"></a><span class="lineno"> 5700</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05701" name="l05701"></a><span class="lineno"> 5701</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05702" name="l05702"></a><span class="lineno"> 5702</span> values[2] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05703" name="l05703"></a><span class="lineno"> 5703</span> values[2] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05704" name="l05704"></a><span class="lineno"> 5704</span> values[2] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05705" name="l05705"></a><span class="lineno"> 5705</span> values[2] |= *ptr >> 2;</div>
+<div class="line"><a id="l05706" name="l05706"></a><span class="lineno"> 5706</span> </div>
+<div class="line"><a id="l05707" name="l05707"></a><span class="lineno"> 5707</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 56;</div>
+<div class="line"><a id="l05708" name="l05708"></a><span class="lineno"> 5708</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05709" name="l05709"></a><span class="lineno"> 5709</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05710" name="l05710"></a><span class="lineno"> 5710</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05711" name="l05711"></a><span class="lineno"> 5711</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05712" name="l05712"></a><span class="lineno"> 5712</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05713" name="l05713"></a><span class="lineno"> 5713</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05714" name="l05714"></a><span class="lineno"> 5714</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l05715" name="l05715"></a><span class="lineno"> 5715</span> </div>
+<div class="line"><a id="l05716" name="l05716"></a><span class="lineno"> 5716</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 50;</div>
+<div class="line"><a id="l05717" name="l05717"></a><span class="lineno"> 5717</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05718" name="l05718"></a><span class="lineno"> 5718</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05719" name="l05719"></a><span class="lineno"> 5719</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05720" name="l05720"></a><span class="lineno"> 5720</span> values[4] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05721" name="l05721"></a><span class="lineno"> 5721</span> values[4] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05722" name="l05722"></a><span class="lineno"> 5722</span> values[4] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05723" name="l05723"></a><span class="lineno"> 5723</span> values[4] |= *ptr >> 6;</div>
+<div class="line"><a id="l05724" name="l05724"></a><span class="lineno"> 5724</span> </div>
+<div class="line"><a id="l05725" name="l05725"></a><span class="lineno"> 5725</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 52;</div>
+<div class="line"><a id="l05726" name="l05726"></a><span class="lineno"> 5726</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05727" name="l05727"></a><span class="lineno"> 5727</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05728" name="l05728"></a><span class="lineno"> 5728</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05729" name="l05729"></a><span class="lineno"> 5729</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05730" name="l05730"></a><span class="lineno"> 5730</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05731" name="l05731"></a><span class="lineno"> 5731</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05732" name="l05732"></a><span class="lineno"> 5732</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l05733" name="l05733"></a><span class="lineno"> 5733</span> </div>
+<div class="line"><a id="l05734" name="l05734"></a><span class="lineno"> 5734</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 54;</div>
+<div class="line"><a id="l05735" name="l05735"></a><span class="lineno"> 5735</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05736" name="l05736"></a><span class="lineno"> 5736</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05737" name="l05737"></a><span class="lineno"> 5737</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05738" name="l05738"></a><span class="lineno"> 5738</span> values[6] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05739" name="l05739"></a><span class="lineno"> 5739</span> values[6] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05740" name="l05740"></a><span class="lineno"> 5740</span> values[6] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05741" name="l05741"></a><span class="lineno"> 5741</span> values[6] |= *ptr >> 2;</div>
+<div class="line"><a id="l05742" name="l05742"></a><span class="lineno"> 5742</span> </div>
+<div class="line"><a id="l05743" name="l05743"></a><span class="lineno"> 5743</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 56;</div>
+<div class="line"><a id="l05744" name="l05744"></a><span class="lineno"> 5744</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05745" name="l05745"></a><span class="lineno"> 5745</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05746" name="l05746"></a><span class="lineno"> 5746</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05747" name="l05747"></a><span class="lineno"> 5747</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05748" name="l05748"></a><span class="lineno"> 5748</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05749" name="l05749"></a><span class="lineno"> 5749</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05750" name="l05750"></a><span class="lineno"> 5750</span> values[7] |= *ptr++;</div>
+<div class="line"><a id="l05751" name="l05751"></a><span class="lineno"> 5751</span>}</div>
+<div class="line"><a id="l05752" name="l05752"></a><span class="lineno"> 5752</span> </div>
+<div class="line"><a id="l05753" name="l05753"></a><span class="lineno"> 5753</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_59(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05754" name="l05754"></a><span class="lineno"> 5754</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 51;</div>
+<div class="line"><a id="l05755" name="l05755"></a><span class="lineno"> 5755</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 43;</div>
+<div class="line"><a id="l05756" name="l05756"></a><span class="lineno"> 5756</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l05757" name="l05757"></a><span class="lineno"> 5757</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l05758" name="l05758"></a><span class="lineno"> 5758</span> values[0] |= *ptr++ << 19;</div>
+<div class="line"><a id="l05759" name="l05759"></a><span class="lineno"> 5759</span> values[0] |= *ptr++ << 11;</div>
+<div class="line"><a id="l05760" name="l05760"></a><span class="lineno"> 5760</span> values[0] |= *ptr++ << 3;</div>
+<div class="line"><a id="l05761" name="l05761"></a><span class="lineno"> 5761</span> values[0] |= *ptr >> 5;</div>
+<div class="line"><a id="l05762" name="l05762"></a><span class="lineno"> 5762</span> </div>
+<div class="line"><a id="l05763" name="l05763"></a><span class="lineno"> 5763</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 54;</div>
+<div class="line"><a id="l05764" name="l05764"></a><span class="lineno"> 5764</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05765" name="l05765"></a><span class="lineno"> 5765</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05766" name="l05766"></a><span class="lineno"> 5766</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05767" name="l05767"></a><span class="lineno"> 5767</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05768" name="l05768"></a><span class="lineno"> 5768</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05769" name="l05769"></a><span class="lineno"> 5769</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05770" name="l05770"></a><span class="lineno"> 5770</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l05771" name="l05771"></a><span class="lineno"> 5771</span> </div>
+<div class="line"><a id="l05772" name="l05772"></a><span class="lineno"> 5772</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 57;</div>
+<div class="line"><a id="l05773" name="l05773"></a><span class="lineno"> 5773</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 49;</div>
+<div class="line"><a id="l05774" name="l05774"></a><span class="lineno"> 5774</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l05775" name="l05775"></a><span class="lineno"> 5775</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05776" name="l05776"></a><span class="lineno"> 5776</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05777" name="l05777"></a><span class="lineno"> 5777</span> values[2] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05778" name="l05778"></a><span class="lineno"> 5778</span> values[2] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05779" name="l05779"></a><span class="lineno"> 5779</span> values[2] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05780" name="l05780"></a><span class="lineno"> 5780</span> values[2] |= *ptr >> 7;</div>
+<div class="line"><a id="l05781" name="l05781"></a><span class="lineno"> 5781</span> </div>
+<div class="line"><a id="l05782" name="l05782"></a><span class="lineno"> 5782</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 52;</div>
+<div class="line"><a id="l05783" name="l05783"></a><span class="lineno"> 5783</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05784" name="l05784"></a><span class="lineno"> 5784</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05785" name="l05785"></a><span class="lineno"> 5785</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05786" name="l05786"></a><span class="lineno"> 5786</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05787" name="l05787"></a><span class="lineno"> 5787</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05788" name="l05788"></a><span class="lineno"> 5788</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05789" name="l05789"></a><span class="lineno"> 5789</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l05790" name="l05790"></a><span class="lineno"> 5790</span> </div>
+<div class="line"><a id="l05791" name="l05791"></a><span class="lineno"> 5791</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 55;</div>
+<div class="line"><a id="l05792" name="l05792"></a><span class="lineno"> 5792</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 47;</div>
+<div class="line"><a id="l05793" name="l05793"></a><span class="lineno"> 5793</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l05794" name="l05794"></a><span class="lineno"> 5794</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l05795" name="l05795"></a><span class="lineno"> 5795</span> values[4] |= *ptr++ << 23;</div>
+<div class="line"><a id="l05796" name="l05796"></a><span class="lineno"> 5796</span> values[4] |= *ptr++ << 15;</div>
+<div class="line"><a id="l05797" name="l05797"></a><span class="lineno"> 5797</span> values[4] |= *ptr++ << 7;</div>
+<div class="line"><a id="l05798" name="l05798"></a><span class="lineno"> 5798</span> values[4] |= *ptr >> 1;</div>
+<div class="line"><a id="l05799" name="l05799"></a><span class="lineno"> 5799</span> </div>
+<div class="line"><a id="l05800" name="l05800"></a><span class="lineno"> 5800</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 58;</div>
+<div class="line"><a id="l05801" name="l05801"></a><span class="lineno"> 5801</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 50;</div>
+<div class="line"><a id="l05802" name="l05802"></a><span class="lineno"> 5802</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05803" name="l05803"></a><span class="lineno"> 5803</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05804" name="l05804"></a><span class="lineno"> 5804</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05805" name="l05805"></a><span class="lineno"> 5805</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05806" name="l05806"></a><span class="lineno"> 5806</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05807" name="l05807"></a><span class="lineno"> 5807</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05808" name="l05808"></a><span class="lineno"> 5808</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l05809" name="l05809"></a><span class="lineno"> 5809</span> </div>
+<div class="line"><a id="l05810" name="l05810"></a><span class="lineno"> 5810</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 53;</div>
+<div class="line"><a id="l05811" name="l05811"></a><span class="lineno"> 5811</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 45;</div>
+<div class="line"><a id="l05812" name="l05812"></a><span class="lineno"> 5812</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l05813" name="l05813"></a><span class="lineno"> 5813</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l05814" name="l05814"></a><span class="lineno"> 5814</span> values[6] |= *ptr++ << 21;</div>
+<div class="line"><a id="l05815" name="l05815"></a><span class="lineno"> 5815</span> values[6] |= *ptr++ << 13;</div>
+<div class="line"><a id="l05816" name="l05816"></a><span class="lineno"> 5816</span> values[6] |= *ptr++ << 5;</div>
+<div class="line"><a id="l05817" name="l05817"></a><span class="lineno"> 5817</span> values[6] |= *ptr >> 3;</div>
+<div class="line"><a id="l05818" name="l05818"></a><span class="lineno"> 5818</span> </div>
+<div class="line"><a id="l05819" name="l05819"></a><span class="lineno"> 5819</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 56;</div>
+<div class="line"><a id="l05820" name="l05820"></a><span class="lineno"> 5820</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05821" name="l05821"></a><span class="lineno"> 5821</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05822" name="l05822"></a><span class="lineno"> 5822</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05823" name="l05823"></a><span class="lineno"> 5823</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05824" name="l05824"></a><span class="lineno"> 5824</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05825" name="l05825"></a><span class="lineno"> 5825</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05826" name="l05826"></a><span class="lineno"> 5826</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05827" name="l05827"></a><span class="lineno"> 5827</span>}</div>
+<div class="line"><a id="l05828" name="l05828"></a><span class="lineno"> 5828</span> </div>
+<div class="line"><a id="l05829" name="l05829"></a><span class="lineno"> 5829</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_60(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05830" name="l05830"></a><span class="lineno"> 5830</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l05831" name="l05831"></a><span class="lineno"> 5831</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05832" name="l05832"></a><span class="lineno"> 5832</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05833" name="l05833"></a><span class="lineno"> 5833</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05834" name="l05834"></a><span class="lineno"> 5834</span> values[0] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05835" name="l05835"></a><span class="lineno"> 5835</span> values[0] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05836" name="l05836"></a><span class="lineno"> 5836</span> values[0] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05837" name="l05837"></a><span class="lineno"> 5837</span> values[0] |= *ptr >> 4;</div>
+<div class="line"><a id="l05838" name="l05838"></a><span class="lineno"> 5838</span> </div>
+<div class="line"><a id="l05839" name="l05839"></a><span class="lineno"> 5839</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 56;</div>
+<div class="line"><a id="l05840" name="l05840"></a><span class="lineno"> 5840</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05841" name="l05841"></a><span class="lineno"> 5841</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05842" name="l05842"></a><span class="lineno"> 5842</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05843" name="l05843"></a><span class="lineno"> 5843</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05844" name="l05844"></a><span class="lineno"> 5844</span> values[1] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05845" name="l05845"></a><span class="lineno"> 5845</span> values[1] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05846" name="l05846"></a><span class="lineno"> 5846</span> values[1] |= *ptr++;</div>
+<div class="line"><a id="l05847" name="l05847"></a><span class="lineno"> 5847</span> </div>
+<div class="line"><a id="l05848" name="l05848"></a><span class="lineno"> 5848</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l05849" name="l05849"></a><span class="lineno"> 5849</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05850" name="l05850"></a><span class="lineno"> 5850</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05851" name="l05851"></a><span class="lineno"> 5851</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05852" name="l05852"></a><span class="lineno"> 5852</span> values[2] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05853" name="l05853"></a><span class="lineno"> 5853</span> values[2] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05854" name="l05854"></a><span class="lineno"> 5854</span> values[2] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05855" name="l05855"></a><span class="lineno"> 5855</span> values[2] |= *ptr >> 4;</div>
+<div class="line"><a id="l05856" name="l05856"></a><span class="lineno"> 5856</span> </div>
+<div class="line"><a id="l05857" name="l05857"></a><span class="lineno"> 5857</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 56;</div>
+<div class="line"><a id="l05858" name="l05858"></a><span class="lineno"> 5858</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05859" name="l05859"></a><span class="lineno"> 5859</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05860" name="l05860"></a><span class="lineno"> 5860</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05861" name="l05861"></a><span class="lineno"> 5861</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05862" name="l05862"></a><span class="lineno"> 5862</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05863" name="l05863"></a><span class="lineno"> 5863</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05864" name="l05864"></a><span class="lineno"> 5864</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l05865" name="l05865"></a><span class="lineno"> 5865</span> </div>
+<div class="line"><a id="l05866" name="l05866"></a><span class="lineno"> 5866</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l05867" name="l05867"></a><span class="lineno"> 5867</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05868" name="l05868"></a><span class="lineno"> 5868</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05869" name="l05869"></a><span class="lineno"> 5869</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05870" name="l05870"></a><span class="lineno"> 5870</span> values[4] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05871" name="l05871"></a><span class="lineno"> 5871</span> values[4] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05872" name="l05872"></a><span class="lineno"> 5872</span> values[4] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05873" name="l05873"></a><span class="lineno"> 5873</span> values[4] |= *ptr >> 4;</div>
+<div class="line"><a id="l05874" name="l05874"></a><span class="lineno"> 5874</span> </div>
+<div class="line"><a id="l05875" name="l05875"></a><span class="lineno"> 5875</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 56;</div>
+<div class="line"><a id="l05876" name="l05876"></a><span class="lineno"> 5876</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05877" name="l05877"></a><span class="lineno"> 5877</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05878" name="l05878"></a><span class="lineno"> 5878</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05879" name="l05879"></a><span class="lineno"> 5879</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05880" name="l05880"></a><span class="lineno"> 5880</span> values[5] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05881" name="l05881"></a><span class="lineno"> 5881</span> values[5] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05882" name="l05882"></a><span class="lineno"> 5882</span> values[5] |= *ptr++;</div>
+<div class="line"><a id="l05883" name="l05883"></a><span class="lineno"> 5883</span> </div>
+<div class="line"><a id="l05884" name="l05884"></a><span class="lineno"> 5884</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l05885" name="l05885"></a><span class="lineno"> 5885</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05886" name="l05886"></a><span class="lineno"> 5886</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05887" name="l05887"></a><span class="lineno"> 5887</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05888" name="l05888"></a><span class="lineno"> 5888</span> values[6] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05889" name="l05889"></a><span class="lineno"> 5889</span> values[6] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05890" name="l05890"></a><span class="lineno"> 5890</span> values[6] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05891" name="l05891"></a><span class="lineno"> 5891</span> values[6] |= *ptr >> 4;</div>
+<div class="line"><a id="l05892" name="l05892"></a><span class="lineno"> 5892</span> </div>
+<div class="line"><a id="l05893" name="l05893"></a><span class="lineno"> 5893</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 56;</div>
+<div class="line"><a id="l05894" name="l05894"></a><span class="lineno"> 5894</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05895" name="l05895"></a><span class="lineno"> 5895</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05896" name="l05896"></a><span class="lineno"> 5896</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05897" name="l05897"></a><span class="lineno"> 5897</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05898" name="l05898"></a><span class="lineno"> 5898</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05899" name="l05899"></a><span class="lineno"> 5899</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05900" name="l05900"></a><span class="lineno"> 5900</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05901" name="l05901"></a><span class="lineno"> 5901</span>}</div>
+<div class="line"><a id="l05902" name="l05902"></a><span class="lineno"> 5902</span> </div>
+<div class="line"><a id="l05903" name="l05903"></a><span class="lineno"> 5903</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_61(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05904" name="l05904"></a><span class="lineno"> 5904</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 53;</div>
+<div class="line"><a id="l05905" name="l05905"></a><span class="lineno"> 5905</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 45;</div>
+<div class="line"><a id="l05906" name="l05906"></a><span class="lineno"> 5906</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l05907" name="l05907"></a><span class="lineno"> 5907</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l05908" name="l05908"></a><span class="lineno"> 5908</span> values[0] |= *ptr++ << 21;</div>
+<div class="line"><a id="l05909" name="l05909"></a><span class="lineno"> 5909</span> values[0] |= *ptr++ << 13;</div>
+<div class="line"><a id="l05910" name="l05910"></a><span class="lineno"> 5910</span> values[0] |= *ptr++ << 5;</div>
+<div class="line"><a id="l05911" name="l05911"></a><span class="lineno"> 5911</span> values[0] |= *ptr >> 3;</div>
+<div class="line"><a id="l05912" name="l05912"></a><span class="lineno"> 5912</span> </div>
+<div class="line"><a id="l05913" name="l05913"></a><span class="lineno"> 5913</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 58;</div>
+<div class="line"><a id="l05914" name="l05914"></a><span class="lineno"> 5914</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 50;</div>
+<div class="line"><a id="l05915" name="l05915"></a><span class="lineno"> 5915</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l05916" name="l05916"></a><span class="lineno"> 5916</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l05917" name="l05917"></a><span class="lineno"> 5917</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l05918" name="l05918"></a><span class="lineno"> 5918</span> values[1] |= *ptr++ << 18;</div>
+<div class="line"><a id="l05919" name="l05919"></a><span class="lineno"> 5919</span> values[1] |= *ptr++ << 10;</div>
+<div class="line"><a id="l05920" name="l05920"></a><span class="lineno"> 5920</span> values[1] |= *ptr++ << 2;</div>
+<div class="line"><a id="l05921" name="l05921"></a><span class="lineno"> 5921</span> values[1] |= *ptr >> 6;</div>
+<div class="line"><a id="l05922" name="l05922"></a><span class="lineno"> 5922</span> </div>
+<div class="line"><a id="l05923" name="l05923"></a><span class="lineno"> 5923</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 55;</div>
+<div class="line"><a id="l05924" name="l05924"></a><span class="lineno"> 5924</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 47;</div>
+<div class="line"><a id="l05925" name="l05925"></a><span class="lineno"> 5925</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l05926" name="l05926"></a><span class="lineno"> 5926</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l05927" name="l05927"></a><span class="lineno"> 5927</span> values[2] |= *ptr++ << 23;</div>
+<div class="line"><a id="l05928" name="l05928"></a><span class="lineno"> 5928</span> values[2] |= *ptr++ << 15;</div>
+<div class="line"><a id="l05929" name="l05929"></a><span class="lineno"> 5929</span> values[2] |= *ptr++ << 7;</div>
+<div class="line"><a id="l05930" name="l05930"></a><span class="lineno"> 5930</span> values[2] |= *ptr >> 1;</div>
+<div class="line"><a id="l05931" name="l05931"></a><span class="lineno"> 5931</span> </div>
+<div class="line"><a id="l05932" name="l05932"></a><span class="lineno"> 5932</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 60;</div>
+<div class="line"><a id="l05933" name="l05933"></a><span class="lineno"> 5933</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l05934" name="l05934"></a><span class="lineno"> 5934</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05935" name="l05935"></a><span class="lineno"> 5935</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05936" name="l05936"></a><span class="lineno"> 5936</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05937" name="l05937"></a><span class="lineno"> 5937</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05938" name="l05938"></a><span class="lineno"> 5938</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05939" name="l05939"></a><span class="lineno"> 5939</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05940" name="l05940"></a><span class="lineno"> 5940</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l05941" name="l05941"></a><span class="lineno"> 5941</span> </div>
+<div class="line"><a id="l05942" name="l05942"></a><span class="lineno"> 5942</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 57;</div>
+<div class="line"><a id="l05943" name="l05943"></a><span class="lineno"> 5943</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 49;</div>
+<div class="line"><a id="l05944" name="l05944"></a><span class="lineno"> 5944</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l05945" name="l05945"></a><span class="lineno"> 5945</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l05946" name="l05946"></a><span class="lineno"> 5946</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l05947" name="l05947"></a><span class="lineno"> 5947</span> values[4] |= *ptr++ << 17;</div>
+<div class="line"><a id="l05948" name="l05948"></a><span class="lineno"> 5948</span> values[4] |= *ptr++ << 9;</div>
+<div class="line"><a id="l05949" name="l05949"></a><span class="lineno"> 5949</span> values[4] |= *ptr++ << 1;</div>
+<div class="line"><a id="l05950" name="l05950"></a><span class="lineno"> 5950</span> values[4] |= *ptr >> 7;</div>
+<div class="line"><a id="l05951" name="l05951"></a><span class="lineno"> 5951</span> </div>
+<div class="line"><a id="l05952" name="l05952"></a><span class="lineno"> 5952</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 54;</div>
+<div class="line"><a id="l05953" name="l05953"></a><span class="lineno"> 5953</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05954" name="l05954"></a><span class="lineno"> 5954</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05955" name="l05955"></a><span class="lineno"> 5955</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05956" name="l05956"></a><span class="lineno"> 5956</span> values[5] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05957" name="l05957"></a><span class="lineno"> 5957</span> values[5] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05958" name="l05958"></a><span class="lineno"> 5958</span> values[5] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05959" name="l05959"></a><span class="lineno"> 5959</span> values[5] |= *ptr >> 2;</div>
+<div class="line"><a id="l05960" name="l05960"></a><span class="lineno"> 5960</span> </div>
+<div class="line"><a id="l05961" name="l05961"></a><span class="lineno"> 5961</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 59;</div>
+<div class="line"><a id="l05962" name="l05962"></a><span class="lineno"> 5962</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 51;</div>
+<div class="line"><a id="l05963" name="l05963"></a><span class="lineno"> 5963</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 43;</div>
+<div class="line"><a id="l05964" name="l05964"></a><span class="lineno"> 5964</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l05965" name="l05965"></a><span class="lineno"> 5965</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l05966" name="l05966"></a><span class="lineno"> 5966</span> values[6] |= *ptr++ << 19;</div>
+<div class="line"><a id="l05967" name="l05967"></a><span class="lineno"> 5967</span> values[6] |= *ptr++ << 11;</div>
+<div class="line"><a id="l05968" name="l05968"></a><span class="lineno"> 5968</span> values[6] |= *ptr++ << 3;</div>
+<div class="line"><a id="l05969" name="l05969"></a><span class="lineno"> 5969</span> values[6] |= *ptr >> 5;</div>
+<div class="line"><a id="l05970" name="l05970"></a><span class="lineno"> 5970</span> </div>
+<div class="line"><a id="l05971" name="l05971"></a><span class="lineno"> 5971</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 56;</div>
+<div class="line"><a id="l05972" name="l05972"></a><span class="lineno"> 5972</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l05973" name="l05973"></a><span class="lineno"> 5973</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l05974" name="l05974"></a><span class="lineno"> 5974</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l05975" name="l05975"></a><span class="lineno"> 5975</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l05976" name="l05976"></a><span class="lineno"> 5976</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l05977" name="l05977"></a><span class="lineno"> 5977</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l05978" name="l05978"></a><span class="lineno"> 5978</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l05979" name="l05979"></a><span class="lineno"> 5979</span>}</div>
+<div class="line"><a id="l05980" name="l05980"></a><span class="lineno"> 5980</span> </div>
+<div class="line"><a id="l05981" name="l05981"></a><span class="lineno"> 5981</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_62(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l05982" name="l05982"></a><span class="lineno"> 5982</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 54;</div>
+<div class="line"><a id="l05983" name="l05983"></a><span class="lineno"> 5983</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l05984" name="l05984"></a><span class="lineno"> 5984</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l05985" name="l05985"></a><span class="lineno"> 5985</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l05986" name="l05986"></a><span class="lineno"> 5986</span> values[0] |= *ptr++ << 22;</div>
+<div class="line"><a id="l05987" name="l05987"></a><span class="lineno"> 5987</span> values[0] |= *ptr++ << 14;</div>
+<div class="line"><a id="l05988" name="l05988"></a><span class="lineno"> 5988</span> values[0] |= *ptr++ << 6;</div>
+<div class="line"><a id="l05989" name="l05989"></a><span class="lineno"> 5989</span> values[0] |= *ptr >> 2;</div>
+<div class="line"><a id="l05990" name="l05990"></a><span class="lineno"> 5990</span> </div>
+<div class="line"><a id="l05991" name="l05991"></a><span class="lineno"> 5991</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 60;</div>
+<div class="line"><a id="l05992" name="l05992"></a><span class="lineno"> 5992</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l05993" name="l05993"></a><span class="lineno"> 5993</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l05994" name="l05994"></a><span class="lineno"> 5994</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l05995" name="l05995"></a><span class="lineno"> 5995</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l05996" name="l05996"></a><span class="lineno"> 5996</span> values[1] |= *ptr++ << 20;</div>
+<div class="line"><a id="l05997" name="l05997"></a><span class="lineno"> 5997</span> values[1] |= *ptr++ << 12;</div>
+<div class="line"><a id="l05998" name="l05998"></a><span class="lineno"> 5998</span> values[1] |= *ptr++ << 4;</div>
+<div class="line"><a id="l05999" name="l05999"></a><span class="lineno"> 5999</span> values[1] |= *ptr >> 4;</div>
+<div class="line"><a id="l06000" name="l06000"></a><span class="lineno"> 6000</span> </div>
+<div class="line"><a id="l06001" name="l06001"></a><span class="lineno"> 6001</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 58;</div>
+<div class="line"><a id="l06002" name="l06002"></a><span class="lineno"> 6002</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 50;</div>
+<div class="line"><a id="l06003" name="l06003"></a><span class="lineno"> 6003</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l06004" name="l06004"></a><span class="lineno"> 6004</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l06005" name="l06005"></a><span class="lineno"> 6005</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l06006" name="l06006"></a><span class="lineno"> 6006</span> values[2] |= *ptr++ << 18;</div>
+<div class="line"><a id="l06007" name="l06007"></a><span class="lineno"> 6007</span> values[2] |= *ptr++ << 10;</div>
+<div class="line"><a id="l06008" name="l06008"></a><span class="lineno"> 6008</span> values[2] |= *ptr++ << 2;</div>
+<div class="line"><a id="l06009" name="l06009"></a><span class="lineno"> 6009</span> values[2] |= *ptr >> 6;</div>
+<div class="line"><a id="l06010" name="l06010"></a><span class="lineno"> 6010</span> </div>
+<div class="line"><a id="l06011" name="l06011"></a><span class="lineno"> 6011</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 56;</div>
+<div class="line"><a id="l06012" name="l06012"></a><span class="lineno"> 6012</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l06013" name="l06013"></a><span class="lineno"> 6013</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l06014" name="l06014"></a><span class="lineno"> 6014</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l06015" name="l06015"></a><span class="lineno"> 6015</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l06016" name="l06016"></a><span class="lineno"> 6016</span> values[3] |= *ptr++ << 16;</div>
+<div class="line"><a id="l06017" name="l06017"></a><span class="lineno"> 6017</span> values[3] |= *ptr++ << 8;</div>
+<div class="line"><a id="l06018" name="l06018"></a><span class="lineno"> 6018</span> values[3] |= *ptr++;</div>
+<div class="line"><a id="l06019" name="l06019"></a><span class="lineno"> 6019</span> </div>
+<div class="line"><a id="l06020" name="l06020"></a><span class="lineno"> 6020</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 54;</div>
+<div class="line"><a id="l06021" name="l06021"></a><span class="lineno"> 6021</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l06022" name="l06022"></a><span class="lineno"> 6022</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l06023" name="l06023"></a><span class="lineno"> 6023</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l06024" name="l06024"></a><span class="lineno"> 6024</span> values[4] |= *ptr++ << 22;</div>
+<div class="line"><a id="l06025" name="l06025"></a><span class="lineno"> 6025</span> values[4] |= *ptr++ << 14;</div>
+<div class="line"><a id="l06026" name="l06026"></a><span class="lineno"> 6026</span> values[4] |= *ptr++ << 6;</div>
+<div class="line"><a id="l06027" name="l06027"></a><span class="lineno"> 6027</span> values[4] |= *ptr >> 2;</div>
+<div class="line"><a id="l06028" name="l06028"></a><span class="lineno"> 6028</span> </div>
+<div class="line"><a id="l06029" name="l06029"></a><span class="lineno"> 6029</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 60;</div>
+<div class="line"><a id="l06030" name="l06030"></a><span class="lineno"> 6030</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l06031" name="l06031"></a><span class="lineno"> 6031</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l06032" name="l06032"></a><span class="lineno"> 6032</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l06033" name="l06033"></a><span class="lineno"> 6033</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l06034" name="l06034"></a><span class="lineno"> 6034</span> values[5] |= *ptr++ << 20;</div>
+<div class="line"><a id="l06035" name="l06035"></a><span class="lineno"> 6035</span> values[5] |= *ptr++ << 12;</div>
+<div class="line"><a id="l06036" name="l06036"></a><span class="lineno"> 6036</span> values[5] |= *ptr++ << 4;</div>
+<div class="line"><a id="l06037" name="l06037"></a><span class="lineno"> 6037</span> values[5] |= *ptr >> 4;</div>
+<div class="line"><a id="l06038" name="l06038"></a><span class="lineno"> 6038</span> </div>
+<div class="line"><a id="l06039" name="l06039"></a><span class="lineno"> 6039</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 58;</div>
+<div class="line"><a id="l06040" name="l06040"></a><span class="lineno"> 6040</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 50;</div>
+<div class="line"><a id="l06041" name="l06041"></a><span class="lineno"> 6041</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l06042" name="l06042"></a><span class="lineno"> 6042</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l06043" name="l06043"></a><span class="lineno"> 6043</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l06044" name="l06044"></a><span class="lineno"> 6044</span> values[6] |= *ptr++ << 18;</div>
+<div class="line"><a id="l06045" name="l06045"></a><span class="lineno"> 6045</span> values[6] |= *ptr++ << 10;</div>
+<div class="line"><a id="l06046" name="l06046"></a><span class="lineno"> 6046</span> values[6] |= *ptr++ << 2;</div>
+<div class="line"><a id="l06047" name="l06047"></a><span class="lineno"> 6047</span> values[6] |= *ptr >> 6;</div>
+<div class="line"><a id="l06048" name="l06048"></a><span class="lineno"> 6048</span> </div>
+<div class="line"><a id="l06049" name="l06049"></a><span class="lineno"> 6049</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 56;</div>
+<div class="line"><a id="l06050" name="l06050"></a><span class="lineno"> 6050</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l06051" name="l06051"></a><span class="lineno"> 6051</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l06052" name="l06052"></a><span class="lineno"> 6052</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l06053" name="l06053"></a><span class="lineno"> 6053</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l06054" name="l06054"></a><span class="lineno"> 6054</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l06055" name="l06055"></a><span class="lineno"> 6055</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l06056" name="l06056"></a><span class="lineno"> 6056</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l06057" name="l06057"></a><span class="lineno"> 6057</span>}</div>
+<div class="line"><a id="l06058" name="l06058"></a><span class="lineno"> 6058</span> </div>
+<div class="line"><a id="l06059" name="l06059"></a><span class="lineno"> 6059</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_63(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr) {</div>
+<div class="line"><a id="l06060" name="l06060"></a><span class="lineno"> 6060</span> values[0] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 55;</div>
+<div class="line"><a id="l06061" name="l06061"></a><span class="lineno"> 6061</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 47;</div>
+<div class="line"><a id="l06062" name="l06062"></a><span class="lineno"> 6062</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 39;</div>
+<div class="line"><a id="l06063" name="l06063"></a><span class="lineno"> 6063</span> values[0] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 31;</div>
+<div class="line"><a id="l06064" name="l06064"></a><span class="lineno"> 6064</span> values[0] |= *ptr++ << 23;</div>
+<div class="line"><a id="l06065" name="l06065"></a><span class="lineno"> 6065</span> values[0] |= *ptr++ << 15;</div>
+<div class="line"><a id="l06066" name="l06066"></a><span class="lineno"> 6066</span> values[0] |= *ptr++ << 7;</div>
+<div class="line"><a id="l06067" name="l06067"></a><span class="lineno"> 6067</span> values[0] |= *ptr >> 1;</div>
+<div class="line"><a id="l06068" name="l06068"></a><span class="lineno"> 6068</span> </div>
+<div class="line"><a id="l06069" name="l06069"></a><span class="lineno"> 6069</span> values[1] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 1) << 62;</div>
+<div class="line"><a id="l06070" name="l06070"></a><span class="lineno"> 6070</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 54;</div>
+<div class="line"><a id="l06071" name="l06071"></a><span class="lineno"> 6071</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 46;</div>
+<div class="line"><a id="l06072" name="l06072"></a><span class="lineno"> 6072</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 38;</div>
+<div class="line"><a id="l06073" name="l06073"></a><span class="lineno"> 6073</span> values[1] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 30;</div>
+<div class="line"><a id="l06074" name="l06074"></a><span class="lineno"> 6074</span> values[1] |= *ptr++ << 22;</div>
+<div class="line"><a id="l06075" name="l06075"></a><span class="lineno"> 6075</span> values[1] |= *ptr++ << 14;</div>
+<div class="line"><a id="l06076" name="l06076"></a><span class="lineno"> 6076</span> values[1] |= *ptr++ << 6;</div>
+<div class="line"><a id="l06077" name="l06077"></a><span class="lineno"> 6077</span> values[1] |= *ptr >> 2;</div>
+<div class="line"><a id="l06078" name="l06078"></a><span class="lineno"> 6078</span> </div>
+<div class="line"><a id="l06079" name="l06079"></a><span class="lineno"> 6079</span> values[2] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 3) << 61;</div>
+<div class="line"><a id="l06080" name="l06080"></a><span class="lineno"> 6080</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 53;</div>
+<div class="line"><a id="l06081" name="l06081"></a><span class="lineno"> 6081</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 45;</div>
+<div class="line"><a id="l06082" name="l06082"></a><span class="lineno"> 6082</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 37;</div>
+<div class="line"><a id="l06083" name="l06083"></a><span class="lineno"> 6083</span> values[2] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 29;</div>
+<div class="line"><a id="l06084" name="l06084"></a><span class="lineno"> 6084</span> values[2] |= *ptr++ << 21;</div>
+<div class="line"><a id="l06085" name="l06085"></a><span class="lineno"> 6085</span> values[2] |= *ptr++ << 13;</div>
+<div class="line"><a id="l06086" name="l06086"></a><span class="lineno"> 6086</span> values[2] |= *ptr++ << 5;</div>
+<div class="line"><a id="l06087" name="l06087"></a><span class="lineno"> 6087</span> values[2] |= *ptr >> 3;</div>
+<div class="line"><a id="l06088" name="l06088"></a><span class="lineno"> 6088</span> </div>
+<div class="line"><a id="l06089" name="l06089"></a><span class="lineno"> 6089</span> values[3] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 7) << 60;</div>
+<div class="line"><a id="l06090" name="l06090"></a><span class="lineno"> 6090</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 52;</div>
+<div class="line"><a id="l06091" name="l06091"></a><span class="lineno"> 6091</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 44;</div>
+<div class="line"><a id="l06092" name="l06092"></a><span class="lineno"> 6092</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 36;</div>
+<div class="line"><a id="l06093" name="l06093"></a><span class="lineno"> 6093</span> values[3] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 28;</div>
+<div class="line"><a id="l06094" name="l06094"></a><span class="lineno"> 6094</span> values[3] |= *ptr++ << 20;</div>
+<div class="line"><a id="l06095" name="l06095"></a><span class="lineno"> 6095</span> values[3] |= *ptr++ << 12;</div>
+<div class="line"><a id="l06096" name="l06096"></a><span class="lineno"> 6096</span> values[3] |= *ptr++ << 4;</div>
+<div class="line"><a id="l06097" name="l06097"></a><span class="lineno"> 6097</span> values[3] |= *ptr >> 4;</div>
+<div class="line"><a id="l06098" name="l06098"></a><span class="lineno"> 6098</span> </div>
+<div class="line"><a id="l06099" name="l06099"></a><span class="lineno"> 6099</span> values[4] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0xf) << 59;</div>
+<div class="line"><a id="l06100" name="l06100"></a><span class="lineno"> 6100</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 51;</div>
+<div class="line"><a id="l06101" name="l06101"></a><span class="lineno"> 6101</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 43;</div>
+<div class="line"><a id="l06102" name="l06102"></a><span class="lineno"> 6102</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 35;</div>
+<div class="line"><a id="l06103" name="l06103"></a><span class="lineno"> 6103</span> values[4] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 27;</div>
+<div class="line"><a id="l06104" name="l06104"></a><span class="lineno"> 6104</span> values[4] |= *ptr++ << 19;</div>
+<div class="line"><a id="l06105" name="l06105"></a><span class="lineno"> 6105</span> values[4] |= *ptr++ << 11;</div>
+<div class="line"><a id="l06106" name="l06106"></a><span class="lineno"> 6106</span> values[4] |= *ptr++ << 3;</div>
+<div class="line"><a id="l06107" name="l06107"></a><span class="lineno"> 6107</span> values[4] |= *ptr >> 5;</div>
+<div class="line"><a id="l06108" name="l06108"></a><span class="lineno"> 6108</span> </div>
+<div class="line"><a id="l06109" name="l06109"></a><span class="lineno"> 6109</span> values[5] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x1f) << 58;</div>
+<div class="line"><a id="l06110" name="l06110"></a><span class="lineno"> 6110</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 50;</div>
+<div class="line"><a id="l06111" name="l06111"></a><span class="lineno"> 6111</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 42;</div>
+<div class="line"><a id="l06112" name="l06112"></a><span class="lineno"> 6112</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 34;</div>
+<div class="line"><a id="l06113" name="l06113"></a><span class="lineno"> 6113</span> values[5] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 26;</div>
+<div class="line"><a id="l06114" name="l06114"></a><span class="lineno"> 6114</span> values[5] |= *ptr++ << 18;</div>
+<div class="line"><a id="l06115" name="l06115"></a><span class="lineno"> 6115</span> values[5] |= *ptr++ << 10;</div>
+<div class="line"><a id="l06116" name="l06116"></a><span class="lineno"> 6116</span> values[5] |= *ptr++ << 2;</div>
+<div class="line"><a id="l06117" name="l06117"></a><span class="lineno"> 6117</span> values[5] |= *ptr >> 6;</div>
+<div class="line"><a id="l06118" name="l06118"></a><span class="lineno"> 6118</span> </div>
+<div class="line"><a id="l06119" name="l06119"></a><span class="lineno"> 6119</span> values[6] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x3f) << 57;</div>
+<div class="line"><a id="l06120" name="l06120"></a><span class="lineno"> 6120</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 49;</div>
+<div class="line"><a id="l06121" name="l06121"></a><span class="lineno"> 6121</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 41;</div>
+<div class="line"><a id="l06122" name="l06122"></a><span class="lineno"> 6122</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 33;</div>
+<div class="line"><a id="l06123" name="l06123"></a><span class="lineno"> 6123</span> values[6] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 25;</div>
+<div class="line"><a id="l06124" name="l06124"></a><span class="lineno"> 6124</span> values[6] |= *ptr++ << 17;</div>
+<div class="line"><a id="l06125" name="l06125"></a><span class="lineno"> 6125</span> values[6] |= *ptr++ << 9;</div>
+<div class="line"><a id="l06126" name="l06126"></a><span class="lineno"> 6126</span> values[6] |= *ptr++ << 1;</div>
+<div class="line"><a id="l06127" name="l06127"></a><span class="lineno"> 6127</span> values[6] |= *ptr >> 7;</div>
+<div class="line"><a id="l06128" name="l06128"></a><span class="lineno"> 6128</span> </div>
+<div class="line"><a id="l06129" name="l06129"></a><span class="lineno"> 6129</span> values[7] = <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++ & 0x7f) << 56;</div>
+<div class="line"><a id="l06130" name="l06130"></a><span class="lineno"> 6130</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 48;</div>
+<div class="line"><a id="l06131" name="l06131"></a><span class="lineno"> 6131</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 40;</div>
+<div class="line"><a id="l06132" name="l06132"></a><span class="lineno"> 6132</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 32;</div>
+<div class="line"><a id="l06133" name="l06133"></a><span class="lineno"> 6133</span> values[7] |= <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(*ptr++) << 24;</div>
+<div class="line"><a id="l06134" name="l06134"></a><span class="lineno"> 6134</span> values[7] |= *ptr++ << 16;</div>
+<div class="line"><a id="l06135" name="l06135"></a><span class="lineno"> 6135</span> values[7] |= *ptr++ << 8;</div>
+<div class="line"><a id="l06136" name="l06136"></a><span class="lineno"> 6136</span> values[7] |= *ptr;</div>
+<div class="line"><a id="l06137" name="l06137"></a><span class="lineno"> 6137</span>}</div>
+<div class="line"><a id="l06138" name="l06138"></a><span class="lineno"> 6138</span> </div>
+<div class="line"><a id="l06139" name="l06139"></a><span class="lineno"> 6139</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> pack_bits_block8(<span class="keyword">const</span> uint64_t* values, uint8_t* ptr, uint8_t bits) {</div>
+<div class="line"><a id="l06140" name="l06140"></a><span class="lineno"> 6140</span> <span class="keywordflow">switch</span> (bits) {</div>
+<div class="line"><a id="l06141" name="l06141"></a><span class="lineno"> 6141</span> <span class="keywordflow">case</span> 1: pack_bits_1(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06142" name="l06142"></a><span class="lineno"> 6142</span> <span class="keywordflow">case</span> 2: pack_bits_2(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06143" name="l06143"></a><span class="lineno"> 6143</span> <span class="keywordflow">case</span> 3: pack_bits_3(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06144" name="l06144"></a><span class="lineno"> 6144</span> <span class="keywordflow">case</span> 4: pack_bits_4(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06145" name="l06145"></a><span class="lineno"> 6145</span> <span class="keywordflow">case</span> 5: pack_bits_5(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06146" name="l06146"></a><span class="lineno"> 6146</span> <span class="keywordflow">case</span> 6: pack_bits_6(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06147" name="l06147"></a><span class="lineno"> 6147</span> <span class="keywordflow">case</span> 7: pack_bits_7(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06148" name="l06148"></a><span class="lineno"> 6148</span> <span class="keywordflow">case</span> 8: pack_bits_8(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06149" name="l06149"></a><span class="lineno"> 6149</span> <span class="keywordflow">case</span> 9: pack_bits_9(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06150" name="l06150"></a><span class="lineno"> 6150</span> <span class="keywordflow">case</span> 10: pack_bits_10(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06151" name="l06151"></a><span class="lineno"> 6151</span> <span class="keywordflow">case</span> 11: pack_bits_11(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06152" name="l06152"></a><span class="lineno"> 6152</span> <span class="keywordflow">case</span> 12: pack_bits_12(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06153" name="l06153"></a><span class="lineno"> 6153</span> <span class="keywordflow">case</span> 13: pack_bits_13(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06154" name="l06154"></a><span class="lineno"> 6154</span> <span class="keywordflow">case</span> 14: pack_bits_14(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06155" name="l06155"></a><span class="lineno"> 6155</span> <span class="keywordflow">case</span> 15: pack_bits_15(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06156" name="l06156"></a><span class="lineno"> 6156</span> <span class="keywordflow">case</span> 16: pack_bits_16(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06157" name="l06157"></a><span class="lineno"> 6157</span> <span class="keywordflow">case</span> 17: pack_bits_17(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06158" name="l06158"></a><span class="lineno"> 6158</span> <span class="keywordflow">case</span> 18: pack_bits_18(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06159" name="l06159"></a><span class="lineno"> 6159</span> <span class="keywordflow">case</span> 19: pack_bits_19(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06160" name="l06160"></a><span class="lineno"> 6160</span> <span class="keywordflow">case</span> 20: pack_bits_20(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06161" name="l06161"></a><span class="lineno"> 6161</span> <span class="keywordflow">case</span> 21: pack_bits_21(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06162" name="l06162"></a><span class="lineno"> 6162</span> <span class="keywordflow">case</span> 22: pack_bits_22(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06163" name="l06163"></a><span class="lineno"> 6163</span> <span class="keywordflow">case</span> 23: pack_bits_23(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06164" name="l06164"></a><span class="lineno"> 6164</span> <span class="keywordflow">case</span> 24: pack_bits_24(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06165" name="l06165"></a><span class="lineno"> 6165</span> <span class="keywordflow">case</span> 25: pack_bits_25(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06166" name="l06166"></a><span class="lineno"> 6166</span> <span class="keywordflow">case</span> 26: pack_bits_26(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06167" name="l06167"></a><span class="lineno"> 6167</span> <span class="keywordflow">case</span> 27: pack_bits_27(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06168" name="l06168"></a><span class="lineno"> 6168</span> <span class="keywordflow">case</span> 28: pack_bits_28(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06169" name="l06169"></a><span class="lineno"> 6169</span> <span class="keywordflow">case</span> 29: pack_bits_29(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06170" name="l06170"></a><span class="lineno"> 6170</span> <span class="keywordflow">case</span> 30: pack_bits_30(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06171" name="l06171"></a><span class="lineno"> 6171</span> <span class="keywordflow">case</span> 31: pack_bits_31(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06172" name="l06172"></a><span class="lineno"> 6172</span> <span class="keywordflow">case</span> 32: pack_bits_32(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06173" name="l06173"></a><span class="lineno"> 6173</span> <span class="keywordflow">case</span> 33: pack_bits_33(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06174" name="l06174"></a><span class="lineno"> 6174</span> <span class="keywordflow">case</span> 34: pack_bits_34(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06175" name="l06175"></a><span class="lineno"> 6175</span> <span class="keywordflow">case</span> 35: pack_bits_35(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06176" name="l06176"></a><span class="lineno"> 6176</span> <span class="keywordflow">case</span> 36: pack_bits_36(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06177" name="l06177"></a><span class="lineno"> 6177</span> <span class="keywordflow">case</span> 37: pack_bits_37(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06178" name="l06178"></a><span class="lineno"> 6178</span> <span class="keywordflow">case</span> 38: pack_bits_38(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06179" name="l06179"></a><span class="lineno"> 6179</span> <span class="keywordflow">case</span> 39: pack_bits_39(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06180" name="l06180"></a><span class="lineno"> 6180</span> <span class="keywordflow">case</span> 40: pack_bits_40(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06181" name="l06181"></a><span class="lineno"> 6181</span> <span class="keywordflow">case</span> 41: pack_bits_41(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06182" name="l06182"></a><span class="lineno"> 6182</span> <span class="keywordflow">case</span> 42: pack_bits_42(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06183" name="l06183"></a><span class="lineno"> 6183</span> <span class="keywordflow">case</span> 43: pack_bits_43(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06184" name="l06184"></a><span class="lineno"> 6184</span> <span class="keywordflow">case</span> 44: pack_bits_44(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06185" name="l06185"></a><span class="lineno"> 6185</span> <span class="keywordflow">case</span> 45: pack_bits_45(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06186" name="l06186"></a><span class="lineno"> 6186</span> <span class="keywordflow">case</span> 46: pack_bits_46(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06187" name="l06187"></a><span class="lineno"> 6187</span> <span class="keywordflow">case</span> 47: pack_bits_47(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06188" name="l06188"></a><span class="lineno"> 6188</span> <span class="keywordflow">case</span> 48: pack_bits_48(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06189" name="l06189"></a><span class="lineno"> 6189</span> <span class="keywordflow">case</span> 49: pack_bits_49(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06190" name="l06190"></a><span class="lineno"> 6190</span> <span class="keywordflow">case</span> 50: pack_bits_50(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06191" name="l06191"></a><span class="lineno"> 6191</span> <span class="keywordflow">case</span> 51: pack_bits_51(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06192" name="l06192"></a><span class="lineno"> 6192</span> <span class="keywordflow">case</span> 52: pack_bits_52(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06193" name="l06193"></a><span class="lineno"> 6193</span> <span class="keywordflow">case</span> 53: pack_bits_53(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06194" name="l06194"></a><span class="lineno"> 6194</span> <span class="keywordflow">case</span> 54: pack_bits_54(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06195" name="l06195"></a><span class="lineno"> 6195</span> <span class="keywordflow">case</span> 55: pack_bits_55(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06196" name="l06196"></a><span class="lineno"> 6196</span> <span class="keywordflow">case</span> 56: pack_bits_56(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06197" name="l06197"></a><span class="lineno"> 6197</span> <span class="keywordflow">case</span> 57: pack_bits_57(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06198" name="l06198"></a><span class="lineno"> 6198</span> <span class="keywordflow">case</span> 58: pack_bits_58(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06199" name="l06199"></a><span class="lineno"> 6199</span> <span class="keywordflow">case</span> 59: pack_bits_59(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06200" name="l06200"></a><span class="lineno"> 6200</span> <span class="keywordflow">case</span> 60: pack_bits_60(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06201" name="l06201"></a><span class="lineno"> 6201</span> <span class="keywordflow">case</span> 61: pack_bits_61(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06202" name="l06202"></a><span class="lineno"> 6202</span> <span class="keywordflow">case</span> 62: pack_bits_62(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06203" name="l06203"></a><span class="lineno"> 6203</span> <span class="keywordflow">case</span> 63: pack_bits_63(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06204" name="l06204"></a><span class="lineno"> 6204</span> <span class="keywordflow">default</span>: <span class="keywordflow">throw</span> std::logic_error(<span class="stringliteral">"wrong number of bits in pack_bits_block8: "</span> + std::to_string(bits));</div>
+<div class="line"><a id="l06205" name="l06205"></a><span class="lineno"> 6205</span> }</div>
+<div class="line"><a id="l06206" name="l06206"></a><span class="lineno"> 6206</span>}</div>
+<div class="line"><a id="l06207" name="l06207"></a><span class="lineno"> 6207</span> </div>
+<div class="line"><a id="l06208" name="l06208"></a><span class="lineno"> 6208</span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> unpack_bits_block8(uint64_t* values, <span class="keyword">const</span> uint8_t* ptr, uint8_t bits) {</div>
+<div class="line"><a id="l06209" name="l06209"></a><span class="lineno"> 6209</span> <span class="keywordflow">switch</span> (bits) {</div>
+<div class="line"><a id="l06210" name="l06210"></a><span class="lineno"> 6210</span> <span class="keywordflow">case</span> 1: unpack_bits_1(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06211" name="l06211"></a><span class="lineno"> 6211</span> <span class="keywordflow">case</span> 2: unpack_bits_2(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06212" name="l06212"></a><span class="lineno"> 6212</span> <span class="keywordflow">case</span> 3: unpack_bits_3(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06213" name="l06213"></a><span class="lineno"> 6213</span> <span class="keywordflow">case</span> 4: unpack_bits_4(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06214" name="l06214"></a><span class="lineno"> 6214</span> <span class="keywordflow">case</span> 5: unpack_bits_5(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06215" name="l06215"></a><span class="lineno"> 6215</span> <span class="keywordflow">case</span> 6: unpack_bits_6(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06216" name="l06216"></a><span class="lineno"> 6216</span> <span class="keywordflow">case</span> 7: unpack_bits_7(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06217" name="l06217"></a><span class="lineno"> 6217</span> <span class="keywordflow">case</span> 8: unpack_bits_8(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06218" name="l06218"></a><span class="lineno"> 6218</span> <span class="keywordflow">case</span> 9: unpack_bits_9(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06219" name="l06219"></a><span class="lineno"> 6219</span> <span class="keywordflow">case</span> 10: unpack_bits_10(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06220" name="l06220"></a><span class="lineno"> 6220</span> <span class="keywordflow">case</span> 11: unpack_bits_11(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06221" name="l06221"></a><span class="lineno"> 6221</span> <span class="keywordflow">case</span> 12: unpack_bits_12(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06222" name="l06222"></a><span class="lineno"> 6222</span> <span class="keywordflow">case</span> 13: unpack_bits_13(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06223" name="l06223"></a><span class="lineno"> 6223</span> <span class="keywordflow">case</span> 14: unpack_bits_14(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06224" name="l06224"></a><span class="lineno"> 6224</span> <span class="keywordflow">case</span> 15: unpack_bits_15(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06225" name="l06225"></a><span class="lineno"> 6225</span> <span class="keywordflow">case</span> 16: unpack_bits_16(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06226" name="l06226"></a><span class="lineno"> 6226</span> <span class="keywordflow">case</span> 17: unpack_bits_17(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06227" name="l06227"></a><span class="lineno"> 6227</span> <span class="keywordflow">case</span> 18: unpack_bits_18(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06228" name="l06228"></a><span class="lineno"> 6228</span> <span class="keywordflow">case</span> 19: unpack_bits_19(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06229" name="l06229"></a><span class="lineno"> 6229</span> <span class="keywordflow">case</span> 20: unpack_bits_20(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06230" name="l06230"></a><span class="lineno"> 6230</span> <span class="keywordflow">case</span> 21: unpack_bits_21(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06231" name="l06231"></a><span class="lineno"> 6231</span> <span class="keywordflow">case</span> 22: unpack_bits_22(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06232" name="l06232"></a><span class="lineno"> 6232</span> <span class="keywordflow">case</span> 23: unpack_bits_23(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06233" name="l06233"></a><span class="lineno"> 6233</span> <span class="keywordflow">case</span> 24: unpack_bits_24(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06234" name="l06234"></a><span class="lineno"> 6234</span> <span class="keywordflow">case</span> 25: unpack_bits_25(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06235" name="l06235"></a><span class="lineno"> 6235</span> <span class="keywordflow">case</span> 26: unpack_bits_26(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06236" name="l06236"></a><span class="lineno"> 6236</span> <span class="keywordflow">case</span> 27: unpack_bits_27(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06237" name="l06237"></a><span class="lineno"> 6237</span> <span class="keywordflow">case</span> 28: unpack_bits_28(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06238" name="l06238"></a><span class="lineno"> 6238</span> <span class="keywordflow">case</span> 29: unpack_bits_29(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06239" name="l06239"></a><span class="lineno"> 6239</span> <span class="keywordflow">case</span> 30: unpack_bits_30(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06240" name="l06240"></a><span class="lineno"> 6240</span> <span class="keywordflow">case</span> 31: unpack_bits_31(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06241" name="l06241"></a><span class="lineno"> 6241</span> <span class="keywordflow">case</span> 32: unpack_bits_32(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06242" name="l06242"></a><span class="lineno"> 6242</span> <span class="keywordflow">case</span> 33: unpack_bits_33(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06243" name="l06243"></a><span class="lineno"> 6243</span> <span class="keywordflow">case</span> 34: unpack_bits_34(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06244" name="l06244"></a><span class="lineno"> 6244</span> <span class="keywordflow">case</span> 35: unpack_bits_35(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06245" name="l06245"></a><span class="lineno"> 6245</span> <span class="keywordflow">case</span> 36: unpack_bits_36(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06246" name="l06246"></a><span class="lineno"> 6246</span> <span class="keywordflow">case</span> 37: unpack_bits_37(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06247" name="l06247"></a><span class="lineno"> 6247</span> <span class="keywordflow">case</span> 38: unpack_bits_38(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06248" name="l06248"></a><span class="lineno"> 6248</span> <span class="keywordflow">case</span> 39: unpack_bits_39(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06249" name="l06249"></a><span class="lineno"> 6249</span> <span class="keywordflow">case</span> 40: unpack_bits_40(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06250" name="l06250"></a><span class="lineno"> 6250</span> <span class="keywordflow">case</span> 41: unpack_bits_41(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06251" name="l06251"></a><span class="lineno"> 6251</span> <span class="keywordflow">case</span> 42: unpack_bits_42(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06252" name="l06252"></a><span class="lineno"> 6252</span> <span class="keywordflow">case</span> 43: unpack_bits_43(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06253" name="l06253"></a><span class="lineno"> 6253</span> <span class="keywordflow">case</span> 44: unpack_bits_44(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06254" name="l06254"></a><span class="lineno"> 6254</span> <span class="keywordflow">case</span> 45: unpack_bits_45(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06255" name="l06255"></a><span class="lineno"> 6255</span> <span class="keywordflow">case</span> 46: unpack_bits_46(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06256" name="l06256"></a><span class="lineno"> 6256</span> <span class="keywordflow">case</span> 47: unpack_bits_47(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06257" name="l06257"></a><span class="lineno"> 6257</span> <span class="keywordflow">case</span> 48: unpack_bits_48(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06258" name="l06258"></a><span class="lineno"> 6258</span> <span class="keywordflow">case</span> 49: unpack_bits_49(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06259" name="l06259"></a><span class="lineno"> 6259</span> <span class="keywordflow">case</span> 50: unpack_bits_50(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06260" name="l06260"></a><span class="lineno"> 6260</span> <span class="keywordflow">case</span> 51: unpack_bits_51(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06261" name="l06261"></a><span class="lineno"> 6261</span> <span class="keywordflow">case</span> 52: unpack_bits_52(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06262" name="l06262"></a><span class="lineno"> 6262</span> <span class="keywordflow">case</span> 53: unpack_bits_53(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06263" name="l06263"></a><span class="lineno"> 6263</span> <span class="keywordflow">case</span> 54: unpack_bits_54(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06264" name="l06264"></a><span class="lineno"> 6264</span> <span class="keywordflow">case</span> 55: unpack_bits_55(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06265" name="l06265"></a><span class="lineno"> 6265</span> <span class="keywordflow">case</span> 56: unpack_bits_56(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06266" name="l06266"></a><span class="lineno"> 6266</span> <span class="keywordflow">case</span> 57: unpack_bits_57(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06267" name="l06267"></a><span class="lineno"> 6267</span> <span class="keywordflow">case</span> 58: unpack_bits_58(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06268" name="l06268"></a><span class="lineno"> 6268</span> <span class="keywordflow">case</span> 59: unpack_bits_59(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06269" name="l06269"></a><span class="lineno"> 6269</span> <span class="keywordflow">case</span> 60: unpack_bits_60(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06270" name="l06270"></a><span class="lineno"> 6270</span> <span class="keywordflow">case</span> 61: unpack_bits_61(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06271" name="l06271"></a><span class="lineno"> 6271</span> <span class="keywordflow">case</span> 62: unpack_bits_62(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06272" name="l06272"></a><span class="lineno"> 6272</span> <span class="keywordflow">case</span> 63: unpack_bits_63(values, ptr); <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l06273" name="l06273"></a><span class="lineno"> 6273</span> <span class="keywordflow">default</span>: <span class="keywordflow">throw</span> std::logic_error(<span class="stringliteral">"wrong number of bits in unpack_bits_block8: "</span> + std::to_string(bits));</div>
+<div class="line"><a id="l06274" name="l06274"></a><span class="lineno"> 6274</span> }</div>
+<div class="line"><a id="l06275" name="l06275"></a><span class="lineno"> 6275</span>}</div>
+<div class="line"><a id="l06276" name="l06276"></a><span class="lineno"> 6276</span> </div>
+<div class="line"><a id="l06277" name="l06277"></a><span class="lineno"> 6277</span>} <span class="comment">// namespace</span></div>
+<div class="line"><a id="l06278" name="l06278"></a><span class="lineno"> 6278</span> </div>
+<div class="line"><a id="l06279" name="l06279"></a><span class="lineno"> 6279</span><span class="preprocessor">#endif </span><span class="comment">// BIT_PACKING_HPP_</span></div>
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/bounds__binomial__proportions_8hpp_source.html b/docs/5.3.0/bounds__binomial__proportions_8hpp_source.html
new file mode 100644
index 00000000..d30d1be1
--- /dev/null
+++ b/docs/5.3.0/bounds__binomial__proportions_8hpp_source.html
@@ -0,0 +1,295 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: common/include/bounds_binomial_proportions.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>common</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">bounds_binomial_proportions.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef _BOUNDS_BINOMIAL_PROPORTIONS_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define _BOUNDS_BINOMIAL_PROPORTIONS_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <cmath></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <stdexcept></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span></div>
+<div class="foldopen" id="foldopen00081" data-start="{" data-end="};">
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__binomial__proportions.html"> 81</a></span><span class="keyword">class </span><a class="code hl_class" href="classdatasketches_1_1bounds__binomial__proportions.html">bounds_binomial_proportions</a> { <span class="comment">// confidence intervals for binomial proportions</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00113" data-start="{" data-end="}">
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__binomial__proportions.html#aeaf7a3842e7bc82772b1dc33891f8c50"> 113</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#aeaf7a3842e7bc82772b1dc33891f8c50">approximate_lower_bound_on_p</a>(uint64_t n, uint64_ [...]
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> check_inputs(n, k);</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">if</span> (n == 0) { <span class="keywordflow">return</span> 0.0; } <span class="comment">// the coin was never flipped, so we know nothing</span></div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (k == 0) { <span class="keywordflow">return</span> 0.0; }</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (k == 1) { <span class="keywordflow">return</span> (exact_lower_bound_on_p_k_eq_1(n, delta_of_num_stdevs(num_std_devs))); }</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (k == n) { <span class="keywordflow">return</span> (exact_lower_bound_on_p_k_eq_n(n, delta_of_num_stdevs(num_std_devs))); }</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">double</span> x = abramowitz_stegun_formula_26p5p22((n - k) + 1.0, <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(k), (-1.0 * num_std_devs));</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> (1.0 - x); <span class="comment">// which is p</span></div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> }</div>
+</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span></div>
+<div class="foldopen" id="foldopen00148" data-start="{" data-end="}">
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__binomial__proportions.html#a497df40100e75dd55e6f0cdccd90b60a"> 148</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#a497df40100e75dd55e6f0cdccd90b60a">approximate_upper_bound_on_p</a>(uint64_t n, uint64_ [...]
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> check_inputs(n, k);</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordflow">if</span> (n == 0) { <span class="keywordflow">return</span> 1.0; } <span class="comment">// the coin was never flipped, so we know nothing</span></div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (k == n) { <span class="keywordflow">return</span> 1.0; }</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (k == (n - 1)) {</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">return</span> (exact_upper_bound_on_p_k_eq_minusone(n, delta_of_num_stdevs(num_std_devs)));</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> }</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (k == 0) {</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">return</span> (exact_upper_bound_on_p_k_eq_zero(n, delta_of_num_stdevs(num_std_devs)));</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> }</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">else</span> {</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">double</span> x = abramowitz_stegun_formula_26p5p22(<span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(n - k), k + 1.0, num_std_devs);</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span> (1.0 - x); <span class="comment">// which is p</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
+</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span></div>
+<div class="foldopen" id="foldopen00170" data-start="{" data-end="}">
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__binomial__proportions.html#a04e345ceea6646f2789a4fc8868c470d"> 170</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#a04e345ceea6646f2789a4fc8868c470d">estimate_unknown_p</a>(uint64_t n, uint64_t k) {</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> check_inputs(n, k);</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (n == 0) { <span class="keywordflow">return</span> 0.5; } <span class="comment">// the coin was never flipped, so we know nothing</span></div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">else</span> { <span class="keywordflow">return</span> ((<span class="keywordtype">double</span>) k / (<span class="keywordtype">double</span>) n); }</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> }</div>
+</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span></div>
+<div class="foldopen" id="foldopen00181" data-start="{" data-end="}">
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__binomial__proportions.html#ab0c083907bbd0cf5c9532f7c094ae6ef"> 181</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#ab0c083907bbd0cf5c9532f7c094ae6ef">erf</a>(<span class="keywordtype">double</span> x) {</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (x < 0.0) { <span class="keywordflow">return</span> (-1.0 * (erf_of_nonneg(-1.0 * x))); }</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">else</span> { <span class="keywordflow">return</span> (erf_of_nonneg(x)); }</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> }</div>
+</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span></div>
+<div class="foldopen" id="foldopen00191" data-start="{" data-end="}">
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__binomial__proportions.html#a842aac311b818d8b074f8d1c344b903a"> 191</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#a842aac311b818d8b074f8d1c344b903a">normal_cdf</a>(<span class="keywordtype">double</sp [...]
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> (0.5 * (1.0 + (<a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#ab0c083907bbd0cf5c9532f7c094ae6ef">erf</a>(x / (sqrt(2.0))))));</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> }</div>
+</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> check_inputs(uint64_t n, uint64_t k) {</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">if</span> (k > n) { <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"K cannot exceed N"</span>); }</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> }</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="comment">//@formatter:off</span></div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// Abramowitz and Stegun formula 7.1.28, p. 88; Claims accuracy of about 7 decimal digits */</span></div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> erf_of_nonneg(<span class="keywordtype">double</span> x) {</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="comment">// The constants that appear below, formatted for easy checking against the book.</span></div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// a1 = 0.07052 30784</span></div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// a3 = 0.00927 05272</span></div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="comment">// a5 = 0.00027 65672</span></div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="comment">// a2 = 0.04228 20123</span></div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// a4 = 0.00015 20143</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="comment">// a6 = 0.00004 30638</span></div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a1 = 0.0705230784;</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a3 = 0.0092705272;</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a5 = 0.0002765672;</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a2 = 0.0422820123;</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a4 = 0.0001520143;</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a6 = 0.0000430638;</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x2 = x * x; <span class="comment">// x squared, x cubed, etc.</span></div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x3 = x2 * x;</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x4 = x2 * x2;</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x5 = x2 * x3;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">const</span> <span class="keywordtype">double</span> x6 = x3 * x3;</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sum = ( 1.0</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> + (a1 * x)</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> + (a2 * x2)</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> + (a3 * x3)</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> + (a4 * x4)</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> + (a5 * x5)</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> + (a6 * x6) );</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sum2 = sum * sum; <span class="comment">// raise the sum to the 16th power</span></div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sum4 = sum2 * sum2;</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sum8 = sum4 * sum4;</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">const</span> <span class="keywordtype">double</span> sum16 = sum8 * sum8;</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keywordflow">return</span> (1.0 - (1.0 / sum16));</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> }</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> </div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> delta_of_num_stdevs(<span class="keywordtype">double</span> kappa) {</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">return</span> (<a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#a842aac311b818d8b074f8d1c344b903a">normal_cdf</a>(-1.0 * kappa));</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> }</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="comment">//@formatter:on</span></div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// Formula 26.5.22 on page 945 of Abramowitz & Stegun, which is an approximation</span></div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="comment">// of the inverse of the incomplete beta function I_x(a,b) = delta</span></div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="comment">// viewed as a scalar function of x.</span></div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="comment">// In other words, we specify delta, and it gives us x (with a and b held constant).</span></div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="comment">// However, delta is specified in an indirect way through yp which</span></div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="comment">// is the number of stdDevs that leaves delta probability in the right</span></div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// tail of a standard gaussian distribution.</span></div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="comment">// We point out that the variable names correspond to those in the book,</span></div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// and it is worth keeping it that way so that it will always be easy to verify</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// that the formula was typed in correctly.</span></div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> abramowitz_stegun_formula_26p5p22(<span class="keywordtype">double</span> a, <span class="keywordtype">double</span> b, <span class="keywordtype">double</span> yp) {</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">const</span> <span class="keywordtype">double</span> b2m1 = (2.0 * b) - 1.0;</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">const</span> <span class="keywordtype">double</span> a2m1 = (2.0 * a) - 1.0;</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">const</span> <span class="keywordtype">double</span> lambda = ((yp * yp) - 3.0) / 6.0;</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">const</span> <span class="keywordtype">double</span> htmp = (1.0 / a2m1) + (1.0 / b2m1);</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keyword">const</span> <span class="keywordtype">double</span> h = 2.0 / htmp;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">const</span> <span class="keywordtype">double</span> term1 = (yp * (sqrt(h + lambda))) / h;</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">const</span> <span class="keywordtype">double</span> term2 = (1.0 / b2m1) - (1.0 / a2m1);</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keyword">const</span> <span class="keywordtype">double</span> term3 = (lambda + (5.0 / 6.0)) - (2.0 / (3.0 * h));</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keyword">const</span> <span class="keywordtype">double</span> w = term1 - (term2 * term3);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">const</span> <span class="keywordtype">double</span> xp = a / (a + (b * (exp(2.0 * w))));</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> xp;</div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> }</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="comment">// Formulas for some special cases.</span></div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> </div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> exact_upper_bound_on_p_k_eq_zero(uint64_t n, <span class="keywordtype">double</span> delta) {</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">return</span> (1.0 - pow(delta, (1.0 / n)));</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> }</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> exact_lower_bound_on_p_k_eq_n(uint64_t n, <span class="keywordtype">double</span> delta) {</div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">return</span> (pow(delta, (1.0 / n)));</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> }</div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> </div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> exact_lower_bound_on_p_k_eq_1(uint64_t n, <span class="keywordtype">double</span> delta) {</div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordflow">return</span> (1.0 - pow((1.0 - delta), (1.0 / n)));</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> }</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> exact_upper_bound_on_p_k_eq_minusone(uint64_t n, <span class="keywordtype">double</span> delta) {</div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">return</span> (pow((1.0 - delta), (1.0 / n)));</div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> }</div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span>};</div>
+</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span>}</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="preprocessor">#endif </span><span class="comment">// _BOUNDS_BINOMIAL_PROPORTIONS_HPP_</span></div>
+<div class="ttc" id="aclassdatasketches_1_1bounds__binomial__proportions_html"><div class="ttname"><a href="classdatasketches_1_1bounds__binomial__proportions.html">datasketches::bounds_binomial_proportions</a></div><div class="ttdoc">Confidence intervals for binomial proportions.</div><div class="ttdef"><b>Definition</b> bounds_binomial_proportions.hpp:81</div></div>
+<div class="ttc" id="aclassdatasketches_1_1bounds__binomial__proportions_html_a04e345ceea6646f2789a4fc8868c470d"><div class="ttname"><a href="classdatasketches_1_1bounds__binomial__proportions.html#a04e345ceea6646f2789a4fc8868c470d">datasketches::bounds_binomial_proportions::estimate_unknown_p</a></div><div class="ttdeci">static double estimate_unknown_p(uint64_t n, uint64_t k)</div><div class="ttdoc">Computes an estimate of an unknown binomial proportion.</div><div class="ttdef"><b>Defi [...]
+<div class="ttc" id="aclassdatasketches_1_1bounds__binomial__proportions_html_a497df40100e75dd55e6f0cdccd90b60a"><div class="ttname"><a href="classdatasketches_1_1bounds__binomial__proportions.html#a497df40100e75dd55e6f0cdccd90b60a">datasketches::bounds_binomial_proportions::approximate_upper_bound_on_p</a></div><div class="ttdeci">static double approximate_upper_bound_on_p(uint64_t n, uint64_t k, double num_std_devs)</div><div class="ttdoc">Computes upper bound of approximate Clopper-Pe [...]
+<div class="ttc" id="aclassdatasketches_1_1bounds__binomial__proportions_html_a842aac311b818d8b074f8d1c344b903a"><div class="ttname"><a href="classdatasketches_1_1bounds__binomial__proportions.html#a842aac311b818d8b074f8d1c344b903a">datasketches::bounds_binomial_proportions::normal_cdf</a></div><div class="ttdeci">static double normal_cdf(double x)</div><div class="ttdoc">Computes an approximation to normal_cdf(x).</div><div class="ttdef"><b>Definition</b> bounds_binomial_proportions.hpp [...]
+<div class="ttc" id="aclassdatasketches_1_1bounds__binomial__proportions_html_ab0c083907bbd0cf5c9532f7c094ae6ef"><div class="ttname"><a href="classdatasketches_1_1bounds__binomial__proportions.html#ab0c083907bbd0cf5c9532f7c094ae6ef">datasketches::bounds_binomial_proportions::erf</a></div><div class="ttdeci">static double erf(double x)</div><div class="ttdoc">Computes an approximation to the erf() function.</div><div class="ttdef"><b>Definition</b> bounds_binomial_proportions.hpp:181</div></div>
+<div class="ttc" id="aclassdatasketches_1_1bounds__binomial__proportions_html_aeaf7a3842e7bc82772b1dc33891f8c50"><div class="ttname"><a href="classdatasketches_1_1bounds__binomial__proportions.html#aeaf7a3842e7bc82772b1dc33891f8c50">datasketches::bounds_binomial_proportions::approximate_lower_bound_on_p</a></div><div class="ttdeci">static double approximate_lower_bound_on_p(uint64_t n, uint64_t k, double num_std_devs)</div><div class="ttdoc">Computes lower bound of approximate Clopper-Pe [...]
+<div class="ttc" id="anamespacedatasketches_html"><div class="ttname"><a href="namespacedatasketches.html">datasketches</a></div><div class="ttdoc">DataSketches namespace.</div><div class="ttdef"><b>Definition</b> binomial_bounds.hpp:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.18.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/docs/5.3.0/bounds__on__ratios__in__sampled__sets_8hpp_source.html b/docs/5.3.0/bounds__on__ratios__in__sampled__sets_8hpp_source.html
new file mode 100644
index 00000000..c56a7bf7
--- /dev/null
+++ b/docs/5.3.0/bounds__on__ratios__in__sampled__sets_8hpp_source.html
@@ -0,0 +1,214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.18.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>datasketches-cpp: theta/include/bounds_on_ratios_in_sampled_sets.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="codefolding.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+ <td id="projectalign">
+ <div id="projectname">datasketches-cpp
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.18.0 -->
+<script type="text/javascript">
+let searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+document.addEventListener('DOMContentLoaded', codefold.init);
+</script>
+<script type="application/json" id="doxygen-config">
+{
+ "relPath": "",
+ "generateTreeView": false,
+ "searchEngine": true,
+ "serverBasedSearch": false,
+ "disableIndex": false,
+ "dynamicMenus": true,
+ "fullSidebar": false
+}
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<div id="main-nav-mobile">
+<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>
+<label class="main-menu-btn" for="main-menu-state">
+<span class="main-menu-btn-icon"></span> Toggle main menu visibility</label>
+<span id="searchBoxPos1"></span>
+</div>
+</div><!-- main-nav-mobile -->
+<div id="main-nav">
+ <ul class="sm sm-dox" id="main-menu">
+ <li id="searchBoxPos2">
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <span id="MSearchSelect" class="search-icon"><span class="search-icon-dropdown"></span></span>
+ <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><div id="MSearchCloseImg" class="close-icon"></div></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+</div><!-- main-nav -->
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><b>theta</b></li><li class="navelem"><b>include</b></li> </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle"><div class="title">bounds_on_ratios_in_sampled_sets.hpp</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div>
+<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div>
+<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * distributed with this work for additional information</span></div>
+<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div>
+<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div>
+<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * "License"); you may not use this file except in compliance</span></div>
+<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * with the License. You may obtain a copy of the License at</span></div>
+<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> *</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * software distributed under the License is distributed on an</span></div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * KIND, either express or implied. See the License for the</span></div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * specific language governing permissions and limitations</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> * under the License.</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef BOUNDS_ON_RATIOS_IN_SAMPLED_SETS_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define BOUNDS_ON_RATIOS_IN_SAMPLED_SETS_HPP_</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <cstdint></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <string></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <stdexcept></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include "bounds_binomial_proportions.hpp"</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacedatasketches.html">datasketches</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span></div>
+<div class="foldopen" id="foldopen00043" data-start="{" data-end="};">
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html"> 43</a></span><span class="keyword">class </span><a class="code hl_class" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html">bounds_on_ratios_in_sampled_sets</a> {</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">public</span>:</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">double</span> NUM_STD_DEVS = 2.0;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span></div>
+<div class="foldopen" id="foldopen00056" data-start="{" data-end="}">
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a64c2690d8b956838e5726128ab295211"> 56</a></span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a64c2690d8b956838e5726128ab295211">lower_bound_for_b_over_a</a>(uint64_t a, uint64_t b, <span class="keywor [...]
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> check_inputs(a, b, f);</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">if</span> (a == 0) <span class="keywordflow">return</span> 0.0;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (f == 1.0) <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(b) / <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(a);</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#aeaf7a3842e7bc82772b1dc33891f8c50">bounds_binomial_proportions::approximate_lower_bound_on_p</a>(a, b, NUM_STD_DEVS * hacky_adjuster(f));</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> }</div>
+</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span></div>
+<div class="foldopen" id="foldopen00070" data-start="{" data-end="}">
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a2453c33c83f730e780c3e7eb7ac17826"> 70</a></span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a2453c33c83f730e780c3e7eb7ac17826">upper_bound_for_b_over_a</a>(uint64_t a, uint64_t b, <span class="keywor [...]
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> check_inputs(a, b, f);</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (a == 0) <span class="keywordflow">return</span> 1.0;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span> (f == 1.0) <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(b) / <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(a);</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classdatasketches_1_1bounds__binomial__proportions.html#a497df40100e75dd55e6f0cdccd90b60a">bounds_binomial_proportions::approximate_upper_bound_on_p</a>(a, b, NUM_STD_DEVS * hacky_adjuster(f));</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> }</div>
+</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span></div>
+<div class="foldopen" id="foldopen00083" data-start="{" data-end="}">
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a0063345d4a1d4c7f7ae90fa6271e919f"> 83</a></span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a0063345d4a1d4c7f7ae90fa6271e919f">get_estimate_of_b_over_a</a>(uint64_t a, uint64_t b) {</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> check_inputs(a, b, 0.3);</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">if</span> (a == 0) <span class="keywordflow">return</span> 0.5;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">return</span> <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(b) / <span class="keyword">static_cast<</span><span class="keywordtype">double</span><span class="keyword">></span>(a);</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> }</div>
+</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span></div>
+<div class="foldopen" id="foldopen00095" data-start="{" data-end="}">
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a27702b0df49741ee38a568cf0b84c9d3"> 95</a></span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a27702b0df49741ee38a568cf0b84c9d3">estimate_of_a</a>(uint64_t a, <span class="keywordtype">double</span> f) [...]
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> check_inputs(a, 1, f);</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> a / f;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> }</div>
+</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span></div>
+<div class="foldopen" id="foldopen00106" data-start="{" data-end="}">
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a11c8f2c4698014d9b0a20e953d1ba96c"> 106</a></span> <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classdatasketches_1_1bounds__on__ratios__in__sampled__sets.html#a11c8f2c4698014d9b0a20e953d1ba96c">estimate_of_b</a>(uint64_t b, <span class="keywordtype">double</span> f) [...]
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> check_inputs(b + 1, b, f);</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> b / f;</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
+</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="keyword">private</span>:</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">static</span> <span class="keywordtype">double</span> hacky_adjuster(<span class="keywordtype">double</span> f) {</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">const</span> <span class="keywordtype">double</span> tmp = sqrt(1.0 - f);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> (f <= 0.5) ? tmp : tmp + (0.01 * (f - 0.5));</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> }</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">static</span> <span class="keywordtype">void</span> check_inputs(uint64_t a, uint64_t b, <span class="keywordtype">double</span> f) {</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">if</span> (a < b) {</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"a must be >= b: a = "</span> + std::to_string(a) + <span class="stringliteral">", b = "</span> + std::to_string(b));</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> ((f > 1.0) || (f <= 0.0)) {</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">"Required: ((f <= 1.0) && (f > 0.0)): "</span> + std::to_string(f));</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> }</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span>};</div>
+</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span>} <span class="comment">/* namespace datasketches */</span></div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="preprocessor"># endif</span></div>
... 93034 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org