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

Function parse_hex

smallthinker/src/llama-grammar.cpp:99–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

97}
98
99static std::pair<uint32_t, const char *> parse_hex(const char * src, int size) {
100 const char * pos = src;
101 const char * end = src + size;
102 uint32_t value = 0;
103 for ( ; pos < end && *pos; pos++) {
104 value <<= 4;
105 char c = *pos;
106 if ('a' <= c && c <= 'f') {
107 value += c - 'a' + 10;
108 } else if ('A' <= c && c <= 'F') {
109 value += c - 'A' + 10;
110 } else if ('0' <= c && c <= '9') {
111 value += c - '0';
112 } else {
113 break;
114 }
115 }
116 if (pos != end) {
117 throw std::runtime_error("expecting " + std::to_string(size) + " hex chars at " + src);
118 }
119 return std::make_pair(value, pos);
120}
121
122static const char * parse_space(const char * src, bool newline_ok) {
123 const char * pos = src;

Callers 1

parse_charFunction · 0.70

Calls 1

to_stringFunction · 0.50

Tested by

no test coverage detected