(&mut self, value: u32)
| 209 | |
| 210 | #[inline(always)] |
| 211 | fn _write_var_u32(&mut self, value: u32) { |
| 212 | if value < 0x80 { |
| 213 | self.bf.push(value as u8); |
| 214 | } else if value < 0x4000 { |
| 215 | // 2 bytes |
| 216 | let u1 = ((value as u8) & 0x7F) | 0x80; |
| 217 | let u2 = (value >> 7) as u8; |
| 218 | self.write_u16(((u2 as u16) << 8) | u1 as u16); |
| 219 | } else if value < 0x200000 { |
| 220 | // 3 bytes |
| 221 | let u1 = ((value as u8) & 0x7F) | 0x80; |
| 222 | let u2 = (((value >> 7) as u8) & 0x7F) | 0x80; |
| 223 | let u3 = (value >> 14) as u8; |
| 224 | self.write_u16(((u2 as u16) << 8) | u1 as u16); |
| 225 | self.bf.push(u3); |
| 226 | } else if value < 0x10000000 { |
| 227 | // 4 bytes |
| 228 | let u1 = ((value as u8) & 0x7F) | 0x80; |
| 229 | let u2 = (((value >> 7) as u8) & 0x7F) | 0x80; |
| 230 | let u3 = (((value >> 14) as u8) & 0x7F) | 0x80; |
| 231 | let u4 = (value >> 21) as u8; |
| 232 | self.write_u32( |
| 233 | ((u4 as u32) << 24) | ((u3 as u32) << 16) | ((u2 as u32) << 8) | u1 as u32, |
| 234 | ); |
| 235 | } else { |
| 236 | // 5 bytes |
| 237 | let u1 = ((value as u8) & 0x7F) | 0x80; |
| 238 | let u2 = (((value >> 7) as u8) & 0x7F) | 0x80; |
| 239 | let u3 = (((value >> 14) as u8) & 0x7F) | 0x80; |
| 240 | let u4 = (((value >> 21) as u8) & 0x7F) | 0x80; |
| 241 | let u5 = (value >> 28) as u8; |
| 242 | self.write_u32( |
| 243 | ((u4 as u32) << 24) | ((u3 as u32) << 16) | ((u2 as u32) << 8) | u1 as u32, |
| 244 | ); |
| 245 | self.bf.push(u5); |
| 246 | } |
| 247 | } |
| 248 | |
| 249 | // ============ UINT64 (TypeId = 13) ============ |
| 250 |
no test coverage detected