Medial Code Documentation
Loading...
Searching...
No Matches
histogram_cut_format.h
1
4#ifndef XGBOOST_DATA_HISTOGRAM_CUT_FORMAT_H_
5#define XGBOOST_DATA_HISTOGRAM_CUT_FORMAT_H_
6
7#include <dmlc/io.h> // for Stream
8
9#include <cstddef> // for size_t
10
11#include "../common/hist_util.h" // for HistogramCuts
12#include "../common/io.h" // for AlignedResourceReadStream, AlignedFileWriteStream
13#include "../common/ref_resource_view.h" // for WriteVec, ReadVec
14
15namespace xgboost::data {
16inline bool ReadHistogramCuts(common::HistogramCuts *cuts, common::AlignedResourceReadStream *fi) {
17 if (!common::ReadVec(fi, &cuts->cut_values_.HostVector())) {
18 return false;
19 }
20 if (!common::ReadVec(fi, &cuts->cut_ptrs_.HostVector())) {
21 return false;
22 }
23 if (!common::ReadVec(fi, &cuts->min_vals_.HostVector())) {
24 return false;
25 }
26 return true;
27}
28
29inline std::size_t WriteHistogramCuts(common::HistogramCuts const &cuts,
30 common::AlignedFileWriteStream *fo) {
31 std::size_t bytes = 0;
32 bytes += common::WriteVec(fo, cuts.Values());
33 bytes += common::WriteVec(fo, cuts.Ptrs());
34 bytes += common::WriteVec(fo, cuts.MinValues());
35 return bytes;
36}
37} // namespace xgboost::data
38#endif // XGBOOST_DATA_HISTOGRAM_CUT_FORMAT_H_
defines serializable interface of dmlc
std::size_t WriteVec(AlignedFileWriteStream *fo, Vec const &vec)
Write a vector to stream.
Definition ref_resource_view.h:142
bool ReadVec(common::AlignedResourceReadStream *fi, Vec *vec)
Read a vector from stream.
Definition ref_resource_view.h:112
Copyright 2019-2023, XGBoost Contributors.
Definition data.py:1