| 580 | class CSCPageSource : public PageSourceIncMixIn<CSCPage> { |
| 581 | protected: |
| 582 | void Fetch() final { |
| 583 | if (!this->ReadCache()) { |
| 584 | auto const& csr = source_->Page(); |
| 585 | this->page_.reset(new CSCPage{}); |
| 586 | // we might be able to optimize this by merging transpose and pushcsc |
| 587 | this->page_->PushCSC(csr->GetTranspose(n_features_, nthreads_)); |
| 588 | page_->SetBaseRowId(csr->base_rowid); |
| 589 | this->WriteCache(); |
| 590 | } |
| 591 | } |
| 592 | |
| 593 | public: |
| 594 | CSCPageSource(float missing, int nthreads, bst_feature_t n_features, uint32_t n_batches, |
no test coverage detected