Read a prompt file: raw int32 stream (file size implies token count).
| 141 | } |
| 142 | |
| 143 | static void emit_generate_error(const GenerateResult & result) { |
| 144 | std::fprintf(stderr, "[daemon] generation failed: code=%s", |
| 145 | result.error_code().data()); |
| 146 | if (!result.error_detail().empty()) { |
| 147 | std::fprintf(stderr, " detail=%s", result.error_detail().data()); |
| 148 | } |
| 149 | std::fprintf(stderr, "\n"); |
| 150 | std::printf("err %s\n", result.error_code().data()); |
| 151 | std::fflush(stdout); |
| 152 | } |
| 153 | |
| 154 | // Read a prompt file: raw int32 stream (file size implies token count). |
| 155 | static std::vector<int32_t> read_uncounted_i32(const std::string & path) { |
| 156 | std::ifstream f(path, std::ios::binary | std::ios::ate); |
| 157 | if (!f) return {}; |
| 158 | const auto sz = (size_t)f.tellg(); |
no test coverage detected