MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / append_utf8

Function append_utf8

common/console.cpp:315–333  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

313 }
314
315 static void append_utf8(char32_t ch, std::string & out) {
316 if (ch <= 0x7F) {
317 out.push_back(static_cast<unsigned char>(ch));
318 } else if (ch <= 0x7FF) {
319 out.push_back(static_cast<unsigned char>(0xC0 | ((ch >> 6) & 0x1F)));
320 out.push_back(static_cast<unsigned char>(0x80 | (ch & 0x3F)));
321 } else if (ch <= 0xFFFF) {
322 out.push_back(static_cast<unsigned char>(0xE0 | ((ch >> 12) & 0x0F)));
323 out.push_back(static_cast<unsigned char>(0x80 | ((ch >> 6) & 0x3F)));
324 out.push_back(static_cast<unsigned char>(0x80 | (ch & 0x3F)));
325 } else if (ch <= 0x10FFFF) {
326 out.push_back(static_cast<unsigned char>(0xF0 | ((ch >> 18) & 0x07)));
327 out.push_back(static_cast<unsigned char>(0x80 | ((ch >> 12) & 0x3F)));
328 out.push_back(static_cast<unsigned char>(0x80 | ((ch >> 6) & 0x3F)));
329 out.push_back(static_cast<unsigned char>(0x80 | (ch & 0x3F)));
330 } else {
331 // Invalid Unicode code point
332 }
333 }
334
335 // Helper function to remove the last UTF-8 character from a string
336 static void pop_back_utf8_char(std::string & line) {

Callers 1

readline_advancedFunction · 0.70

Calls 1

push_backMethod · 0.45

Tested by

no test coverage detected