mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-30 23:45:28 +08:00
1. Add Submodule knowhere and specify branch 2. Integrate Knowhere, update many cmakelist 3. dev knowhere-wrapper 4. dev knowhere-wrapper unittest Former-commit-id: 783a85562b2b5db3b89920b0c68de133a577f245
62 lines
1.7 KiB
C++
62 lines
1.7 KiB
C++
////////////////////////////////////////////////////////////////////////////////
|
|
// Copyright 上海赜睿信息科技有限公司(Zilliz) - All Rights Reserved
|
|
// Unauthorized copying of this file, via any medium is strictly prohibited.
|
|
// Proprietary and confidential.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
#include <cstdlib>
|
|
#include <cstdio>
|
|
#include <fstream>
|
|
|
|
|
|
class DataGenBase;
|
|
|
|
using DataGenPtr = std::shared_ptr<DataGenBase>;
|
|
|
|
extern DataGenPtr GetGenerateFactory(const std::string &gen_type);
|
|
|
|
|
|
class DataGenBase {
|
|
public:
|
|
virtual void GenData(const int &dim, const int &nb, const int &nq, float *xb, float *xq, long *ids,
|
|
const int &k, long *gt_ids);
|
|
|
|
virtual void GenData(const int &dim,
|
|
const int &nb,
|
|
const int &nq,
|
|
std::vector<float> &xb,
|
|
std::vector<float> &xq,
|
|
std::vector<long> &ids,
|
|
const int &k,
|
|
std::vector<long> >_ids);
|
|
};
|
|
|
|
|
|
class SanityCheck : public DataGenBase {
|
|
public:
|
|
void GenData(const int &dim, const int &nb, const int &nq, float *xb, float *xq, long *ids,
|
|
const int &k, long *gt_ids) override;
|
|
};
|
|
|
|
struct FileIOWriter {
|
|
std::fstream fs;
|
|
std::string name;
|
|
|
|
FileIOWriter(const std::string &fname);
|
|
~FileIOWriter();
|
|
size_t operator()(void *ptr, size_t size);
|
|
};
|
|
|
|
struct FileIOReader {
|
|
std::fstream fs;
|
|
std::string name;
|
|
|
|
FileIOReader(const std::string &fname);
|
|
~FileIOReader();
|
|
size_t operator()(void *ptr, size_t size);
|
|
};
|