/src/libjxl/lib/jxl/base/bits.h
Line | Count | Source |
1 | | // Copyright (c) the JPEG XL Project Authors. All rights reserved. |
2 | | // |
3 | | // Use of this source code is governed by a BSD-style |
4 | | // license that can be found in the LICENSE file. |
5 | | |
6 | | #ifndef LIB_JXL_BASE_BITS_H_ |
7 | | #define LIB_JXL_BASE_BITS_H_ |
8 | | |
9 | | // Specialized instructions for processing register-sized bit arrays. |
10 | | |
11 | | #include "lib/jxl/base/compiler_specific.h" |
12 | | #include "lib/jxl/base/status.h" |
13 | | |
14 | | #if JXL_COMPILER_MSVC |
15 | | #include <intrin.h> |
16 | | #endif |
17 | | |
18 | | #include <stddef.h> |
19 | | #include <stdint.h> |
20 | | |
21 | | namespace jxl { |
22 | | |
23 | | // Empty struct used as a size tag type. |
24 | | template <size_t N> |
25 | | struct SizeTag {}; |
26 | | |
27 | | template <typename T> |
28 | 0 | constexpr bool IsSigned() { |
29 | 0 | // TODO(eustas): remove dupes |
30 | 0 | return static_cast<T>(0) > static_cast<T>(-1); |
31 | 0 | } Unexecuted instantiation: bool jxl::IsSigned<unsigned int>() Unexecuted instantiation: bool jxl::IsSigned<unsigned long>() |
32 | | |
33 | | // Undefined results for x == 0. |
34 | | static JXL_INLINE JXL_MAYBE_UNUSED size_t |
35 | 652M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { |
36 | 652M | JXL_DASSERT(x != 0); |
37 | | #if JXL_COMPILER_MSVC |
38 | | unsigned long index; |
39 | | _BitScanReverse(&index, x); |
40 | | return 31 - index; |
41 | | #else |
42 | 652M | return static_cast<size_t>(__builtin_clz(x)); |
43 | 652M | #endif |
44 | 652M | } Unexecuted instantiation: encode.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_fields.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_icc_codec.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) enc_ans.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 245M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 245M | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 245M | return static_cast<size_t>(__builtin_clz(x)); | 43 | 245M | #endif | 44 | 245M | } |
Unexecuted instantiation: enc_ans_simd.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_cluster.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_context_map.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) enc_lz77.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 15.8M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 15.8M | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 15.8M | return static_cast<size_t>(__builtin_clz(x)); | 43 | 15.8M | #endif | 44 | 15.8M | } |
Unexecuted instantiation: enc_fast_lossless.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_frame.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) enc_modular.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 78.6M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 78.6M | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 78.6M | return static_cast<size_t>(__builtin_clz(x)); | 43 | 78.6M | #endif | 44 | 78.6M | } |
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_debug_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_detect_dots.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_quant_weights.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_modular_simd.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_toc.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_coeff_order.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_xyb.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_image_bundle.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_external_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_heuristics.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_cache.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_group.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_progressive_split.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_splines.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_ac_strategy.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_entropy_coder.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: jxl_cms.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_jpeg_data.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_jpeg_data_reader.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_jpeg_huffman_decode.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) enc_encoding.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 259M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 259M | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 259M | return static_cast<size_t>(__builtin_clz(x)); | 43 | 259M | #endif | 44 | 259M | } |
enc_ma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 16.8M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 16.8M | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 16.8M | return static_cast<size_t>(__builtin_clz(x)); | 43 | 16.8M | #endif | 44 | 16.8M | } |
Unexecuted instantiation: enc_rct.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_transform.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_palette.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_squeeze.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: ac_strategy.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: chroma_from_luma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) coeff_order.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 412k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 412k | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 412k | return static_cast<size_t>(__builtin_clz(x)); | 43 | 412k | #endif | 44 | 412k | } |
Unexecuted instantiation: color_encoding_internal.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: compressed_dc.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) dec_ans.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 63.2k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 63.2k | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 63.2k | return static_cast<size_t>(__builtin_clz(x)); | 43 | 63.2k | #endif | 44 | 63.2k | } |
dec_cache.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 68.6k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 68.6k | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 68.6k | return static_cast<size_t>(__builtin_clz(x)); | 43 | 68.6k | #endif | 44 | 68.6k | } |
Unexecuted instantiation: blending.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_context_map.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_external_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) dec_frame.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 4.96k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 4.96k | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 4.96k | return static_cast<size_t>(__builtin_clz(x)); | 43 | 4.96k | #endif | 44 | 4.96k | } |
Unexecuted instantiation: dec_group.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_huffman.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) dec_modular.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 16.7k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 16.7k | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 16.7k | return static_cast<size_t>(__builtin_clz(x)); | 43 | 16.7k | #endif | 44 | 16.7k | } |
Unexecuted instantiation: dec_noise.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_xyb.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: decode.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: entropy_coder.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: epf.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) fields.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 80.2k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 80.2k | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 80.2k | return static_cast<size_t>(__builtin_clz(x)); | 43 | 80.2k | #endif | 44 | 80.2k | } |
Unexecuted instantiation: frame_header.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: headers.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: icc_codec.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: image_bundle.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: image_metadata.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: loop_filter.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: luminance.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_ma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) encoding.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 35 | 35.7M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 36 | 35.7M | JXL_DASSERT(x != 0); | 37 | | #if JXL_COMPILER_MSVC | 38 | | unsigned long index; | 39 | | _BitScanReverse(&index, x); | 40 | | return 31 - index; | 41 | | #else | 42 | 35.7M | return static_cast<size_t>(__builtin_clz(x)); | 43 | 35.7M | #endif | 44 | 35.7M | } |
Unexecuted instantiation: modular_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: squeeze.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: squeeze_params.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: transform.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: rct.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: palette.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: passes_state.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: quant_weights.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: quantizer.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: render_pipeline.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: simple_render_pipeline.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_blending.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: render_pipeline_stage.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_cms.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_epf.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_from_linear.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_gaborish.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_noise.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_patches.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_splines.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_spot.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_to_linear.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_tone_mapping.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_upsampling.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_write.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_xyb.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_ycbcr.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: splines.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: toc.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: decode_to_jpeg.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_jpeg_data.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_jpeg_data_writer.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: jpeg_data.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) |
45 | | static JXL_INLINE JXL_MAYBE_UNUSED size_t |
46 | 1.89G | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { |
47 | 1.89G | JXL_DASSERT(x != 0); |
48 | | #if JXL_COMPILER_MSVC |
49 | | #if JXL_ARCH_X64 |
50 | | unsigned long index; |
51 | | _BitScanReverse64(&index, x); |
52 | | return 63 - index; |
53 | | #else // JXL_ARCH_X64 |
54 | | // _BitScanReverse64 not available |
55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); |
56 | | unsigned long index; |
57 | | if (msb == 0) { |
58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); |
59 | | _BitScanReverse(&index, lsb); |
60 | | return 63 - index; |
61 | | } else { |
62 | | _BitScanReverse(&index, msb); |
63 | | return 31 - index; |
64 | | } |
65 | | #endif // JXL_ARCH_X64 |
66 | | #else |
67 | 1.89G | return static_cast<size_t>(__builtin_clzll(x)); |
68 | 1.89G | #endif |
69 | 1.89G | } Unexecuted instantiation: encode.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_fields.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_icc_codec.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) enc_ans.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 5.59M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 5.59M | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 5.59M | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 5.59M | #endif | 69 | 5.59M | } |
Unexecuted instantiation: enc_ans_simd.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_cluster.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) enc_context_map.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 10.3k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 10.3k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 10.3k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 10.3k | #endif | 69 | 10.3k | } |
enc_lz77.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 684k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 684k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 684k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 684k | #endif | 69 | 684k | } |
Unexecuted instantiation: enc_fast_lossless.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) enc_frame.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 5.77k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 5.77k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 5.77k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 5.77k | #endif | 69 | 5.77k | } |
enc_modular.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 314M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 314M | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 314M | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 314M | #endif | 69 | 314M | } |
Unexecuted instantiation: enc_patch_dictionary.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_debug_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_detect_dots.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_quant_weights.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_modular_simd.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_toc.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_coeff_order.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_xyb.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_image_bundle.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_external_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_heuristics.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_cache.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) enc_group.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 8.27k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 8.27k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 8.27k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 8.27k | #endif | 69 | 8.27k | } |
Unexecuted instantiation: enc_progressive_split.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_splines.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) enc_ac_strategy.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 392M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 392M | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 392M | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 392M | #endif | 69 | 392M | } |
Unexecuted instantiation: enc_entropy_coder.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: jxl_cms.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_jpeg_data.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_jpeg_data_reader.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_jpeg_huffman_decode.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) enc_encoding.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 1.03G | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 1.03G | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 1.03G | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 1.03G | #endif | 69 | 1.03G | } |
enc_ma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 6.70k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 6.70k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 6.70k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 6.70k | #endif | 69 | 6.70k | } |
Unexecuted instantiation: enc_rct.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_transform.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_palette.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_squeeze.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) ac_strategy.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 28.9k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 28.9k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 28.9k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 28.9k | #endif | 69 | 28.9k | } |
Unexecuted instantiation: chroma_from_luma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) coeff_order.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 9.36k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 9.36k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 9.36k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 9.36k | #endif | 69 | 9.36k | } |
Unexecuted instantiation: color_encoding_internal.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: compressed_dc.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) dec_ans.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 598k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 598k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 598k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 598k | #endif | 69 | 598k | } |
Unexecuted instantiation: dec_cache.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: blending.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_context_map.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_external_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) dec_frame.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 5.14k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 5.14k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 5.14k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 5.14k | #endif | 69 | 5.14k | } |
dec_group.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 5.66k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 5.66k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 5.66k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 5.66k | #endif | 69 | 5.66k | } |
dec_huffman.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 6.99k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 6.99k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 6.99k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 6.99k | #endif | 69 | 6.99k | } |
dec_modular.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 23.9k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 23.9k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 23.9k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 23.9k | #endif | 69 | 23.9k | } |
Unexecuted instantiation: dec_noise.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_xyb.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: decode.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: entropy_coder.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: epf.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: fields.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: frame_header.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: headers.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: icc_codec.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: image_bundle.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: image_metadata.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: loop_filter.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: luminance.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_ma.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) encoding.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 142M | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 142M | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 142M | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 142M | #endif | 69 | 142M | } |
Unexecuted instantiation: modular_image.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: squeeze.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: squeeze_params.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: transform.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: rct.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: palette.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: passes_state.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: quant_weights.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: quantizer.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: render_pipeline.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) low_memory_render_pipeline.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 493k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 493k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 493k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 493k | #endif | 69 | 493k | } |
Unexecuted instantiation: simple_render_pipeline.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_blending.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: render_pipeline_stage.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_cms.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_epf.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_from_linear.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_gaborish.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_noise.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_patches.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_splines.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_spot.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_to_linear.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_tone_mapping.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_upsampling.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_write.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_xyb.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_ycbcr.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) splines.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 46 | 7.92k | Num0BitsAboveMS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 47 | 7.92k | JXL_DASSERT(x != 0); | 48 | | #if JXL_COMPILER_MSVC | 49 | | #if JXL_ARCH_X64 | 50 | | unsigned long index; | 51 | | _BitScanReverse64(&index, x); | 52 | | return 63 - index; | 53 | | #else // JXL_ARCH_X64 | 54 | | // _BitScanReverse64 not available | 55 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 56 | | unsigned long index; | 57 | | if (msb == 0) { | 58 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 59 | | _BitScanReverse(&index, lsb); | 60 | | return 63 - index; | 61 | | } else { | 62 | | _BitScanReverse(&index, msb); | 63 | | return 31 - index; | 64 | | } | 65 | | #endif // JXL_ARCH_X64 | 66 | | #else | 67 | 7.92k | return static_cast<size_t>(__builtin_clzll(x)); | 68 | 7.92k | #endif | 69 | 7.92k | } |
Unexecuted instantiation: toc.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: decode_to_jpeg.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_jpeg_data.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_jpeg_data_writer.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: jpeg_data.cc:jxl::Num0BitsAboveMS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) |
70 | | template <typename T> |
71 | | static JXL_INLINE JXL_MAYBE_UNUSED size_t |
72 | 2.54G | Num0BitsAboveMS1Bit_Nonzero(const T x) { |
73 | 2.54G | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); |
74 | 2.54G | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); |
75 | 2.54G | } Unexecuted instantiation: encode.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_icc_codec.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) enc_ans.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 245M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 245M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 245M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 245M | } |
enc_ans.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 5.59M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 5.59M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 5.59M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 5.59M | } |
Unexecuted instantiation: enc_ans_simd.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_cluster.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) enc_context_map.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 10.3k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 10.3k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 10.3k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 10.3k | } |
Unexecuted instantiation: enc_context_map.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) enc_lz77.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 15.8M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 15.8M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 15.8M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 15.8M | } |
enc_lz77.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 684k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 684k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 684k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 684k | } |
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) enc_frame.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 5.77k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 5.77k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 5.77k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 5.77k | } |
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) enc_modular.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 314M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 314M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 314M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 314M | } |
enc_modular.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 78.6M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 78.6M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 78.6M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 78.6M | } |
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_modular_simd.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_coeff_order.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_cache.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_cache.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) enc_group.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 8.27k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 8.27k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 8.27k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 8.27k | } |
Unexecuted instantiation: enc_group.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_splines.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) enc_ac_strategy.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 392M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 392M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 392M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 392M | } |
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) enc_encoding.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 1.03G | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 1.03G | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 1.03G | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 1.03G | } |
enc_encoding.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 259M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 259M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 259M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 259M | } |
enc_ma.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 16.8M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 16.8M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 16.8M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 16.8M | } |
enc_ma.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 6.70k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 6.70k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 6.70k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 6.70k | } |
Unexecuted instantiation: enc_rct.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_rct.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_transform.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_transform.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_palette.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_palette.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) ac_strategy.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 28.9k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 28.9k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 28.9k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 28.9k | } |
coeff_order.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 412k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 412k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 412k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 412k | } |
coeff_order.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 9.36k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 9.36k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 9.36k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 9.36k | } |
dec_ans.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 63.2k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 63.2k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 63.2k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 63.2k | } |
dec_ans.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 598k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 598k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 598k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 598k | } |
dec_cache.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 68.6k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 68.6k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 68.6k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 68.6k | } |
Unexecuted instantiation: dec_context_map.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) dec_frame.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 5.14k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 5.14k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 5.14k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 5.14k | } |
dec_frame.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 4.96k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 4.96k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 4.96k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 4.96k | } |
dec_group.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 5.66k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 5.66k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 5.66k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 5.66k | } |
Unexecuted instantiation: dec_group.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) dec_huffman.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 6.99k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 6.99k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 6.99k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 6.99k | } |
dec_modular.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 23.9k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 23.9k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 23.9k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 23.9k | } |
dec_modular.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 16.7k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 16.7k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 16.7k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 16.7k | } |
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: decode.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: decode.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: epf.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) fields.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 80.2k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 80.2k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 80.2k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 80.2k | } |
Unexecuted instantiation: icc_codec.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_ma.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) encoding.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 142M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 142M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 142M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 142M | } |
encoding.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 72 | 35.7M | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 35.7M | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 35.7M | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 35.7M | } |
Unexecuted instantiation: modular_image.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: modular_image.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: transform.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: transform.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: rct.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: rct.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: palette.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: palette.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: quant_weights.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: quant_weights.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) low_memory_render_pipeline.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 493k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 493k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 493k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 493k | } |
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: stage_blending.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: stage_epf.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: stage_write.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) splines.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 72 | 7.92k | Num0BitsAboveMS1Bit_Nonzero(const T x) { | 73 | 7.92k | static_assert(!IsSigned<T>(), "Num0BitsAboveMS1Bit_Nonzero: use unsigned"); | 74 | 7.92k | return Num0BitsAboveMS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 75 | 7.92k | } |
Unexecuted instantiation: splines.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_jpeg_data_writer.cc:unsigned long jxl::Num0BitsAboveMS1Bit_Nonzero<unsigned int>(unsigned int) |
76 | | |
77 | | // Undefined results for x == 0. |
78 | | static JXL_INLINE JXL_MAYBE_UNUSED size_t |
79 | 258k | Num0BitsBelowLS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { |
80 | 258k | JXL_DASSERT(x != 0); |
81 | | #if JXL_COMPILER_MSVC |
82 | | unsigned long index; |
83 | | _BitScanForward(&index, x); |
84 | | return index; |
85 | | #else |
86 | 258k | return static_cast<size_t>(__builtin_ctz(x)); |
87 | 258k | #endif |
88 | 258k | } Unexecuted instantiation: encode.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_fields.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_icc_codec.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_ans.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_ans_simd.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_cluster.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_context_map.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_lz77.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_fast_lossless.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_frame.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_modular.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_debug_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_detect_dots.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_quant_weights.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_modular_simd.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_toc.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_coeff_order.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_xyb.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_image_bundle.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_external_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_heuristics.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_cache.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_group.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_progressive_split.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_splines.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_ac_strategy.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_entropy_coder.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: jxl_cms.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_jpeg_data.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_jpeg_data_reader.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_jpeg_huffman_decode.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_encoding.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) enc_ma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Line | Count | Source | 79 | 258k | Num0BitsBelowLS1Bit_Nonzero(SizeTag<4> /* tag */, const uint32_t x) { | 80 | 258k | JXL_DASSERT(x != 0); | 81 | | #if JXL_COMPILER_MSVC | 82 | | unsigned long index; | 83 | | _BitScanForward(&index, x); | 84 | | return index; | 85 | | #else | 86 | 258k | return static_cast<size_t>(__builtin_ctz(x)); | 87 | 258k | #endif | 88 | 258k | } |
Unexecuted instantiation: enc_rct.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_transform.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_palette.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: enc_squeeze.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: ac_strategy.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: chroma_from_luma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: coeff_order.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: color_encoding_internal.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: compressed_dc.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_ans.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_cache.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: blending.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_context_map.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_external_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_frame.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_group.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_huffman.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_modular.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_noise.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_xyb.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: decode.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: entropy_coder.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: epf.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: fields.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: frame_header.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: headers.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: icc_codec.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: image_bundle.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: image_metadata.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: loop_filter.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: luminance.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_ma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: encoding.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: modular_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: squeeze.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: squeeze_params.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: transform.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: rct.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: palette.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: passes_state.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: quant_weights.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: quantizer.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: render_pipeline.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: simple_render_pipeline.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_blending.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: render_pipeline_stage.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_cms.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_epf.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_from_linear.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_gaborish.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_noise.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_patches.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_splines.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_spot.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_to_linear.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_tone_mapping.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_upsampling.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_write.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_xyb.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: stage_ycbcr.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: splines.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: toc.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: decode_to_jpeg.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_jpeg_data.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: dec_jpeg_data_writer.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) Unexecuted instantiation: jpeg_data.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<4ul>, unsigned int) |
89 | | static JXL_INLINE JXL_MAYBE_UNUSED size_t |
90 | 2.24M | Num0BitsBelowLS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { |
91 | 2.24M | JXL_DASSERT(x != 0); |
92 | | #if JXL_COMPILER_MSVC |
93 | | #if JXL_ARCH_X64 |
94 | | unsigned long index; |
95 | | _BitScanForward64(&index, x); |
96 | | return index; |
97 | | #else // JXL_ARCH_64 |
98 | | // _BitScanForward64 not available |
99 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); |
100 | | unsigned long index; |
101 | | if (lsb == 0) { |
102 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); |
103 | | _BitScanForward(&index, msb); |
104 | | return 32 + index; |
105 | | } else { |
106 | | _BitScanForward(&index, lsb); |
107 | | return index; |
108 | | } |
109 | | #endif // JXL_ARCH_X64 |
110 | | #else |
111 | 2.24M | return static_cast<size_t>(__builtin_ctzll(x)); |
112 | 2.24M | #endif |
113 | 2.24M | } Unexecuted instantiation: encode.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_fields.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_icc_codec.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_ans.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_ans_simd.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_cluster.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_context_map.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_lz77.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_fast_lossless.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_frame.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_modular.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_patch_dictionary.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_debug_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_dot_dictionary.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_detect_dots.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_quant_weights.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_modular_simd.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_toc.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_coeff_order.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_xyb.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_image_bundle.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_external_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_heuristics.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_adaptive_quantization.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_butteraugli_comparator.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_cache.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_group.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_progressive_split.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_splines.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_chroma_from_luma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_ac_strategy.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) enc_entropy_coder.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 90 | 2.18M | Num0BitsBelowLS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 91 | 2.18M | JXL_DASSERT(x != 0); | 92 | | #if JXL_COMPILER_MSVC | 93 | | #if JXL_ARCH_X64 | 94 | | unsigned long index; | 95 | | _BitScanForward64(&index, x); | 96 | | return index; | 97 | | #else // JXL_ARCH_64 | 98 | | // _BitScanForward64 not available | 99 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 100 | | unsigned long index; | 101 | | if (lsb == 0) { | 102 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 103 | | _BitScanForward(&index, msb); | 104 | | return 32 + index; | 105 | | } else { | 106 | | _BitScanForward(&index, lsb); | 107 | | return index; | 108 | | } | 109 | | #endif // JXL_ARCH_X64 | 110 | | #else | 111 | 2.18M | return static_cast<size_t>(__builtin_ctzll(x)); | 112 | 2.18M | #endif | 113 | 2.18M | } |
jxl_cms.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 90 | 9.23k | Num0BitsBelowLS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 91 | 9.23k | JXL_DASSERT(x != 0); | 92 | | #if JXL_COMPILER_MSVC | 93 | | #if JXL_ARCH_X64 | 94 | | unsigned long index; | 95 | | _BitScanForward64(&index, x); | 96 | | return index; | 97 | | #else // JXL_ARCH_64 | 98 | | // _BitScanForward64 not available | 99 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 100 | | unsigned long index; | 101 | | if (lsb == 0) { | 102 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 103 | | _BitScanForward(&index, msb); | 104 | | return 32 + index; | 105 | | } else { | 106 | | _BitScanForward(&index, lsb); | 107 | | return index; | 108 | | } | 109 | | #endif // JXL_ARCH_X64 | 110 | | #else | 111 | 9.23k | return static_cast<size_t>(__builtin_ctzll(x)); | 112 | 9.23k | #endif | 113 | 9.23k | } |
Unexecuted instantiation: enc_jpeg_data.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_jpeg_data_reader.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_jpeg_huffman_decode.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_encoding.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_ma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_rct.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_transform.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_palette.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: enc_squeeze.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: ac_strategy.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: chroma_from_luma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: coeff_order.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: color_encoding_internal.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: compressed_dc.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_ans.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_cache.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: blending.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_context_map.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_external_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_frame.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_group.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_huffman.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_modular.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_noise.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_patch_dictionary.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_xyb.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: decode.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: entropy_coder.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: epf.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) fields.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Line | Count | Source | 90 | 54.7k | Num0BitsBelowLS1Bit_Nonzero(SizeTag<8> /* tag */, const uint64_t x) { | 91 | 54.7k | JXL_DASSERT(x != 0); | 92 | | #if JXL_COMPILER_MSVC | 93 | | #if JXL_ARCH_X64 | 94 | | unsigned long index; | 95 | | _BitScanForward64(&index, x); | 96 | | return index; | 97 | | #else // JXL_ARCH_64 | 98 | | // _BitScanForward64 not available | 99 | | uint32_t lsb = static_cast<uint32_t>(x & 0xFFFFFFFF); | 100 | | unsigned long index; | 101 | | if (lsb == 0) { | 102 | | uint32_t msb = static_cast<uint32_t>(x >> 32u); | 103 | | _BitScanForward(&index, msb); | 104 | | return 32 + index; | 105 | | } else { | 106 | | _BitScanForward(&index, lsb); | 107 | | return index; | 108 | | } | 109 | | #endif // JXL_ARCH_X64 | 110 | | #else | 111 | 54.7k | return static_cast<size_t>(__builtin_ctzll(x)); | 112 | 54.7k | #endif | 113 | 54.7k | } |
Unexecuted instantiation: frame_header.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: headers.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: icc_codec.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: image_bundle.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: image_metadata.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: loop_filter.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: luminance.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_ma.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: encoding.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: modular_image.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: squeeze.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: squeeze_params.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: transform.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: rct.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: palette.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: passes_state.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: quant_weights.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: quantizer.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: render_pipeline.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: low_memory_render_pipeline.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: simple_render_pipeline.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_blending.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: render_pipeline_stage.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_chroma_upsampling.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_cms.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_epf.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_from_linear.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_gaborish.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_noise.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_patches.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_splines.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_spot.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_to_linear.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_tone_mapping.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_upsampling.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_write.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_xyb.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: stage_ycbcr.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: splines.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: toc.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: decode_to_jpeg.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_jpeg_data.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: dec_jpeg_data_writer.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) Unexecuted instantiation: jpeg_data.cc:jxl::Num0BitsBelowLS1Bit_Nonzero(jxl::SizeTag<8ul>, unsigned long) |
114 | | template <typename T> |
115 | 2.50M | static JXL_INLINE JXL_MAYBE_UNUSED size_t Num0BitsBelowLS1Bit_Nonzero(T x) { |
116 | 2.50M | static_assert(!IsSigned<T>(), "Num0BitsBelowLS1Bit_Nonzero: use unsigned"); |
117 | 2.50M | return Num0BitsBelowLS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); |
118 | 2.50M | } enc_entropy_coder.cc:unsigned long jxl::Num0BitsBelowLS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 115 | 2.18M | static JXL_INLINE JXL_MAYBE_UNUSED size_t Num0BitsBelowLS1Bit_Nonzero(T x) { | 116 | 2.18M | static_assert(!IsSigned<T>(), "Num0BitsBelowLS1Bit_Nonzero: use unsigned"); | 117 | 2.18M | return Num0BitsBelowLS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 118 | 2.18M | } |
jxl_cms.cc:unsigned long jxl::Num0BitsBelowLS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 115 | 9.23k | static JXL_INLINE JXL_MAYBE_UNUSED size_t Num0BitsBelowLS1Bit_Nonzero(T x) { | 116 | 9.23k | static_assert(!IsSigned<T>(), "Num0BitsBelowLS1Bit_Nonzero: use unsigned"); | 117 | 9.23k | return Num0BitsBelowLS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 118 | 9.23k | } |
enc_ma.cc:unsigned long jxl::Num0BitsBelowLS1Bit_Nonzero<unsigned int>(unsigned int) Line | Count | Source | 115 | 258k | static JXL_INLINE JXL_MAYBE_UNUSED size_t Num0BitsBelowLS1Bit_Nonzero(T x) { | 116 | 258k | static_assert(!IsSigned<T>(), "Num0BitsBelowLS1Bit_Nonzero: use unsigned"); | 117 | 258k | return Num0BitsBelowLS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 118 | 258k | } |
fields.cc:unsigned long jxl::Num0BitsBelowLS1Bit_Nonzero<unsigned long>(unsigned long) Line | Count | Source | 115 | 54.7k | static JXL_INLINE JXL_MAYBE_UNUSED size_t Num0BitsBelowLS1Bit_Nonzero(T x) { | 116 | 54.7k | static_assert(!IsSigned<T>(), "Num0BitsBelowLS1Bit_Nonzero: use unsigned"); | 117 | 54.7k | return Num0BitsBelowLS1Bit_Nonzero(SizeTag<sizeof(T)>(), x); | 118 | 54.7k | } |
|
119 | | |
120 | | // Returns bit width for x == 0. |
121 | | template <typename T> |
122 | 133k | static JXL_INLINE JXL_MAYBE_UNUSED size_t Num0BitsAboveMS1Bit(const T x) { |
123 | 133k | return (x == 0) ? sizeof(T) * 8 : Num0BitsAboveMS1Bit_Nonzero(x); |
124 | 133k | } |
125 | | |
126 | | // Returns bit width for x == 0. |
127 | | template <typename T> |
128 | | static JXL_INLINE JXL_MAYBE_UNUSED size_t Num0BitsBelowLS1Bit(const T x) { |
129 | | return (x == 0) ? sizeof(T) * 8 : Num0BitsBelowLS1Bit_Nonzero(x); |
130 | | } |
131 | | |
132 | | // Returns base-2 logarithm, rounded down. |
133 | | template <typename T> |
134 | 2.54G | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { |
135 | 2.54G | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); |
136 | 2.54G | } Unexecuted instantiation: encode.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_icc_codec.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) enc_ans.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 245M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 245M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 245M | } |
enc_ans.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 5.59M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 5.59M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 5.59M | } |
Unexecuted instantiation: enc_ans_simd.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_cluster.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) enc_context_map.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 10.3k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 10.3k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 10.3k | } |
Unexecuted instantiation: enc_context_map.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) enc_lz77.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 15.8M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 15.8M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 15.8M | } |
enc_lz77.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 684k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 684k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 684k | } |
Unexecuted instantiation: enc_fast_lossless.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) enc_frame.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 5.77k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 5.77k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 5.77k | } |
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) enc_modular.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 314M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 314M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 314M | } |
enc_modular.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 78.6M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 78.6M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 78.6M | } |
Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_patch_dictionary.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_debug_image.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_dot_dictionary.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_detect_dots.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_quant_weights.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_modular_simd.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_coeff_order.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_heuristics.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_adaptive_quantization.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_cache.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_cache.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) enc_group.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 8.27k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 8.27k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 8.27k | } |
Unexecuted instantiation: enc_group.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_splines.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_chroma_from_luma.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) enc_ac_strategy.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 392M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 392M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 392M | } |
Unexecuted instantiation: enc_ac_strategy.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_entropy_coder.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_jpeg_data.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) enc_encoding.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 1.03G | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 1.03G | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 1.03G | } |
enc_encoding.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 259M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 259M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 259M | } |
enc_ma.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 16.8M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 16.8M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 16.8M | } |
enc_ma.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 6.70k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 6.70k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 6.70k | } |
Unexecuted instantiation: enc_rct.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_rct.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_transform.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: enc_transform.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_palette.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: enc_palette.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) ac_strategy.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 28.9k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 28.9k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 28.9k | } |
coeff_order.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 412k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 412k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 412k | } |
coeff_order.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 9.36k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 9.36k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 9.36k | } |
dec_ans.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 63.2k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 63.2k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 63.2k | } |
dec_ans.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 598k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 598k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 598k | } |
dec_cache.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 68.6k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 68.6k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 68.6k | } |
Unexecuted instantiation: dec_context_map.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_external_image.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) dec_frame.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 5.14k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 5.14k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 5.14k | } |
dec_frame.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 4.96k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 4.96k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 4.96k | } |
dec_group.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 5.66k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 5.66k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 5.66k | } |
Unexecuted instantiation: dec_group.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) dec_huffman.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 6.99k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 6.99k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 6.99k | } |
dec_modular.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 23.9k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 23.9k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 23.9k | } |
dec_modular.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 16.7k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 16.7k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 16.7k | } |
Unexecuted instantiation: dec_noise.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_patch_dictionary.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: decode.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: decode.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: epf.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: icc_codec.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_ma.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) encoding.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 142M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 142M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 142M | } |
encoding.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 134 | 35.7M | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 35.7M | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 35.7M | } |
Unexecuted instantiation: modular_image.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: modular_image.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: transform.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: transform.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: rct.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: rct.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: palette.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: palette.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: quant_weights.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: quant_weights.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) low_memory_render_pipeline.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 493k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 493k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 493k | } |
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Unexecuted instantiation: stage_blending.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: stage_epf.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: stage_write.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) splines.cc:unsigned long jxl::FloorLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 134 | 7.92k | static JXL_INLINE JXL_MAYBE_UNUSED size_t FloorLog2Nonzero(const T x) { | 135 | 7.92k | return (sizeof(T) * 8 - 1) ^ Num0BitsAboveMS1Bit_Nonzero(x); | 136 | 7.92k | } |
Unexecuted instantiation: splines.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) Unexecuted instantiation: dec_jpeg_data_writer.cc:unsigned long jxl::FloorLog2Nonzero<unsigned int>(unsigned int) |
137 | | |
138 | | // Returns base-2 logarithm, rounded up. |
139 | | template <typename T> |
140 | 395M | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { |
141 | 395M | const size_t floor_log2 = FloorLog2Nonzero(x); |
142 | 395M | if ((x & (x - 1)) == 0) return floor_log2; // power of two |
143 | 268M | return floor_log2 + 1; |
144 | 395M | } enc_ans.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 212k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 212k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 212k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 84.0k | return floor_log2 + 1; | 144 | 212k | } |
enc_ans.cc:unsigned long jxl::CeilLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 140 | 1.39M | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 1.39M | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 1.39M | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 987k | return floor_log2 + 1; | 144 | 1.39M | } |
enc_context_map.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 10.3k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 10.3k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 10.3k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 5.85k | return floor_log2 + 1; | 144 | 10.3k | } |
enc_lz77.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 684k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 684k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 684k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 318k | return floor_log2 + 1; | 144 | 684k | } |
enc_frame.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 5.77k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 5.77k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 5.77k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 2.52k | return floor_log2 + 1; | 144 | 5.77k | } |
Unexecuted instantiation: enc_frame.cc:unsigned long jxl::CeilLog2Nonzero<unsigned int>(unsigned int) enc_modular.cc:unsigned long jxl::CeilLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 140 | 2.20k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 2.20k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 2.20k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 925 | return floor_log2 + 1; | 144 | 2.20k | } |
enc_modular.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 1.23k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 1.23k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 1.23k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 0 | return floor_log2 + 1; | 144 | 1.23k | } |
enc_group.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 8.27k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 8.27k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 8.27k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 0 | return floor_log2 + 1; | 144 | 8.27k | } |
enc_ac_strategy.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 392M | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 392M | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 392M | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 266M | return floor_log2 + 1; | 144 | 392M | } |
enc_encoding.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 2.82k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 2.82k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 2.82k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 2.82k | return floor_log2 + 1; | 144 | 2.82k | } |
enc_ma.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 6.70k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 6.70k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 6.70k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 6.70k | return floor_log2 + 1; | 144 | 6.70k | } |
ac_strategy.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 28.9k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 28.9k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 28.9k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 0 | return floor_log2 + 1; | 144 | 28.9k | } |
coeff_order.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 9.36k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 9.36k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 9.36k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 674 | return floor_log2 + 1; | 144 | 9.36k | } |
dec_ans.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 598k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 598k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 598k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 257k | return floor_log2 + 1; | 144 | 598k | } |
dec_cache.cc:unsigned long jxl::CeilLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 140 | 68.6k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 68.6k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 68.6k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 0 | return floor_log2 + 1; | 144 | 68.6k | } |
dec_frame.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 5.14k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 5.14k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 5.14k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 16 | return floor_log2 + 1; | 144 | 5.14k | } |
dec_frame.cc:unsigned long jxl::CeilLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 140 | 4.96k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 4.96k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 4.96k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 14 | return floor_log2 + 1; | 144 | 4.96k | } |
dec_group.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 5.66k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 5.66k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 5.66k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 67 | return floor_log2 + 1; | 144 | 5.66k | } |
dec_modular.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 23.9k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 23.9k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 23.9k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 3.37k | return floor_log2 + 1; | 144 | 23.9k | } |
dec_modular.cc:unsigned long jxl::CeilLog2Nonzero<unsigned int>(unsigned int) Line | Count | Source | 140 | 16.7k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 16.7k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 16.7k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 0 | return floor_log2 + 1; | 144 | 16.7k | } |
low_memory_render_pipeline.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 493k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 493k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 493k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 244k | return floor_log2 + 1; | 144 | 493k | } |
Unexecuted instantiation: simple_render_pipeline.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) splines.cc:unsigned long jxl::CeilLog2Nonzero<unsigned long>(unsigned long) Line | Count | Source | 140 | 7.92k | static JXL_INLINE JXL_MAYBE_UNUSED size_t CeilLog2Nonzero(const T x) { | 141 | 7.92k | const size_t floor_log2 = FloorLog2Nonzero(x); | 142 | 7.92k | if ((x & (x - 1)) == 0) return floor_log2; // power of two | 143 | 3.30k | return floor_log2 + 1; | 144 | 7.92k | } |
|
145 | | |
146 | | } // namespace jxl |
147 | | |
148 | | #endif // LIB_JXL_BASE_BITS_H_ |