| 433 | } |
| 434 | if (data.bytes.size() % sizeof(float) != 0) { |
| 435 | throw std::runtime_error("BNB NF4 F32 tensor byte size mismatch: " + data.metadata.name); |
| 436 | } |
| 437 | std::vector<float> values(data.bytes.size() / sizeof(float)); |
| 438 | std::memcpy(values.data(), data.bytes.data(), data.bytes.size()); |
| 439 | return values; |
| 440 | } |
| 441 | |
| 442 | struct BnbNf4QuantState { |
| 443 | std::vector<int64_t> shape; |
| 444 | int64_t blocksize = 0; |