faiss/c_api/gpu/macros_impl.h
Lucas Hosseini e86bf8cae1 Enable clang-format + autofix.
Summary: Format whole codebase with clang-format.

Reviewed By: mdouze

Differential Revision: D22891341

fbshipit-source-id: 673032b2444d61026d1e2c3fa2c5659f178cf58b
2021-02-25 04:46:10 -08:00

42 lines
1.4 KiB
C

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
// Copyright 2004-present Facebook. All Rights Reserved.
// -*- c++ -*-
#ifndef GPU_MACROS_IMPL_H
#define GPU_MACROS_IMPL_H
#include "../macros_impl.h"
#undef DEFINE_GETTER
#define DEFINE_GETTER(clazz, ty, name) \
ty faiss_##clazz##_##name(const Faiss##clazz* obj) { \
return static_cast<ty>( \
reinterpret_cast<const faiss::gpu::clazz*>(obj)->name); \
}
#undef DEFINE_SETTER
#define DEFINE_SETTER(clazz, ty, name) \
void faiss_##clazz##_set_##name(Faiss##clazz* obj, ty val) { \
reinterpret_cast<faiss::gpu::clazz*>(obj)->name = val; \
}
#undef DEFINE_SETTER_STATIC
#define DEFINE_SETTER_STATIC(clazz, ty_to, ty_from, name) \
void faiss_##clazz##_set_##name(Faiss##clazz* obj, ty_from val) { \
reinterpret_cast<faiss::gpu::clazz*>(obj)->name = \
static_cast<ty_to>(val); \
}
#undef DEFINE_DESTRUCTOR
#define DEFINE_DESTRUCTOR(clazz) \
void faiss_##clazz##_free(Faiss##clazz* obj) { \
delete reinterpret_cast<faiss::gpu::clazz*>(obj); \
}
#endif