MCPcopy Create free account
hub / github.com/antmachineintelligence/mtgbmcode / LoadFromMemory

Method LoadFromMemory

src/io/metadata.cpp:476–506  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

474}
475
476void Metadata::LoadFromMemory(const void* memory) {
477 const char* mem_ptr = reinterpret_cast<const char*>(memory);
478
479 num_data_ = *(reinterpret_cast<const data_size_t*>(mem_ptr));
480 mem_ptr += sizeof(num_data_);
481 num_weights_ = *(reinterpret_cast<const data_size_t*>(mem_ptr));
482 mem_ptr += sizeof(num_weights_);
483 num_queries_ = *(reinterpret_cast<const data_size_t*>(mem_ptr));
484 mem_ptr += sizeof(num_queries_);
485
486 if (!label_.empty()) { label_.clear(); }
487 label_ = std::vector<label_t>(num_data_);
488 std::memcpy(label_.data(), mem_ptr, sizeof(label_t) * num_data_);
489 mem_ptr += sizeof(label_t) * num_data_;
490
491 if (num_weights_ > 0) {
492 if (!weights_.empty()) { weights_.clear(); }
493 weights_ = std::vector<label_t>(num_weights_);
494 std::memcpy(weights_.data(), mem_ptr, sizeof(label_t) * num_weights_);
495 mem_ptr += sizeof(label_t) * num_weights_;
496 weight_load_from_file_ = true;
497 }
498 if (num_queries_ > 0) {
499 if (!query_boundaries_.empty()) { query_boundaries_.clear(); }
500 query_boundaries_ = std::vector<data_size_t>(num_queries_ + 1);
501 std::memcpy(query_boundaries_.data(), mem_ptr, sizeof(data_size_t) * (num_queries_ + 1));
502 mem_ptr += sizeof(data_size_t) * (num_queries_ + 1);
503 query_load_from_file_ = true;
504 }
505 LoadQueryWeights();
506}
507
508void Metadata::SaveBinaryToFile(const VirtualFileWriter* writer) const {
509 writer->Write(&num_data_, sizeof(num_data_));

Callers 2

LoadFromBinFileMethod · 0.45
FeatureGroupMethod · 0.45

Calls 3

dataMethod · 0.80
emptyMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected