File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -491,6 +491,17 @@ class ChunkedArray {
491491 }
492492 }
493493
494+ void copyTo (char * destination, size_t num_bytes) {
495+ size_t chunk_index = 0 ;
496+ size_t bytes_per_chunk = getSizePerChunk ();
497+ while (num_bytes > 0 ) {
498+ size_t cur_size = std::min (bytes_per_chunk, num_bytes);
499+ memcpy (destination, chunks_[chunk_index].get (), cur_size);
500+ num_bytes -= cur_size;
501+ destination += cur_size;
502+ }
503+ }
504+
494505 private:
495506 size_t getChunkCount (size_t element_count) const {
496507 return (element_count + elements_per_chunk_ - 1 ) / elements_per_chunk_;
Original file line number Diff line number Diff line change @@ -383,7 +383,7 @@ class Index {
383383
384384 memset (link_list_npy, 0 , link_npy_size);
385385
386- memcpy (data_level0_npy, appr_alg->data_level0_memory_ , level0_npy_size);
386+ appr_alg->data_level0_memory_ . copyTo (data_level0_npy , level0_npy_size);
387387 memcpy (element_levels_npy, appr_alg->element_levels_ .data (), appr_alg->element_levels_ .size () * sizeof (int ));
388388
389389 for (size_t i = 0 ; i < appr_alg->cur_element_count ; i++) {
You can’t perform that action at this time.
0 commit comments