| 296 | } |
| 297 | |
| 298 | DatasetPtr |
| 299 | InnerIndexInterface::CalDistanceById(const float* query, const int64_t* ids, int64_t count) const { |
| 300 | auto result = Dataset::Make(); |
| 301 | result->Owner(true, allocator_); |
| 302 | auto* distances = static_cast<float*>(allocator_->Allocate(sizeof(float) * count)); |
| 303 | result->Distances(distances); |
| 304 | for (int64_t i = 0; i < count; ++i) { |
| 305 | distances[i] = this->CalcDistanceById(query, ids[i]); |
| 306 | } |
| 307 | return result; |
| 308 | } |
| 309 | |
| 310 | DatasetPtr |
| 311 | InnerIndexInterface::CalDistanceById(const DatasetPtr& query, |
no test coverage detected