#ifndef GOOGLE_UPB_UPB_WIRE_WRITER_H__ #define GOOGLE_UPB_UPB_WIRE_WRITER_H__ #include // Must be last. #include "upb/port/def.inc" UPB_FORCEINLINE uint32_t UPB_PRIVATE(upb_WireWriter_VarintUnusedSizeFromLeadingZeros64)(uint64_t clz) { // Calculate how many bytes of the possible 10 bytes we will *not* encode, // because they are part of a zero prefix. For the number 300, it would use 2 // bytes encoded, so the number of bytes to skip would be 8. Adding 7 to the // clz input ensures that we're rounding up. return (((uint32_t)clz + 7) * 9) >> 6; } #include "upb/port/undef.inc" #endif // GOOGLE_UPB_UPB_WIRE_WRITER_H__