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

Method CopyFrom

src/io/bin.cpp:560–588  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

558 }
559
560 void BinMapper::CopyFrom(const char * buffer) {
561 std::memcpy(&num_bin_, buffer, sizeof(num_bin_));
562 buffer += sizeof(num_bin_);
563 std::memcpy(&missing_type_, buffer, sizeof(missing_type_));
564 buffer += sizeof(missing_type_);
565 std::memcpy(&is_trivial_, buffer, sizeof(is_trivial_));
566 buffer += sizeof(is_trivial_);
567 std::memcpy(&sparse_rate_, buffer, sizeof(sparse_rate_));
568 buffer += sizeof(sparse_rate_);
569 std::memcpy(&bin_type_, buffer, sizeof(bin_type_));
570 buffer += sizeof(bin_type_);
571 std::memcpy(&min_val_, buffer, sizeof(min_val_));
572 buffer += sizeof(min_val_);
573 std::memcpy(&max_val_, buffer, sizeof(max_val_));
574 buffer += sizeof(max_val_);
575 std::memcpy(&default_bin_, buffer, sizeof(default_bin_));
576 buffer += sizeof(default_bin_);
577 if (bin_type_ == BinType::NumericalBin) {
578 bin_upper_bound_ = std::vector<double>(num_bin_);
579 std::memcpy(bin_upper_bound_.data(), buffer, num_bin_ * sizeof(double));
580 } else {
581 bin_2_categorical_ = std::vector<int>(num_bin_);
582 std::memcpy(bin_2_categorical_.data(), buffer, num_bin_ * sizeof(int));
583 categorical_2_bin_.clear();
584 for (int i = 0; i < num_bin_; ++i) {
585 categorical_2_bin_[bin_2_categorical_[i]] = static_cast<unsigned int>(i);
586 }
587 }
588 }
589
590 void BinMapper::SaveBinaryToFile(const VirtualFileWriter* writer) const {
591 writer->Write(&num_bin_, sizeof(num_bin_));

Callers 2

Calls 2

dataMethod · 0.80
clearMethod · 0.45

Tested by

no test coverage detected