folly/folly/crypto/LtHash.cpp

/*
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <folly/crypto/LtHash.h>

#include <folly/CpuId.h>

#ifdef __SSE2__
#include <emmintrin.h>
#endif
#ifdef __AVX2__
#include <immintrin.h>
#endif

#include <folly/Memory.h>

namespace folly {
namespace crypto {
namespace detail {

folly::IOBuf allocateCacheAlignedIOBuf(size_t size) {}

std::unique_ptr<folly::IOBuf> allocateCacheAlignedIOBufUnique(size_t size) {}

bool isCacheAlignedAddress(const void* addr) {}

// static
template <>
bool MathOperation<MathEngine::SIMPLE>::isAvailable() {}

// static
template <>
bool MathOperation<MathEngine::SSE2>::isAvailable() {}

// static
template <>
bool MathOperation<MathEngine::AVX2>::isAvailable() {}

// static
template <>
bool MathOperation<MathEngine::AUTO>::isAvailable() {}

// static
template <>
bool MathOperation<MathEngine::AUTO>::isImplemented() {}

// static
template <>
void MathOperation<MathEngine::AUTO>::add(
    uint64_t dataMask,
    size_t bitsPerElement,
    folly::ByteRange b1,
    folly::ByteRange b2,
    folly::MutableByteRange out) {}

// static
template <>
void MathOperation<MathEngine::AUTO>::sub(
    uint64_t dataMask,
    size_t bitsPerElement,
    folly::ByteRange b1,
    folly::ByteRange b2,
    folly::MutableByteRange out) {}

// static
template <>
void MathOperation<MathEngine::AUTO>::clearPaddingBits(
    uint64_t dataMask, folly::MutableByteRange buf) {}

// static
template <>
bool MathOperation<MathEngine::AUTO>::checkPaddingBits(
    uint64_t dataMask, folly::ByteRange buf) {}

template struct MathOperation<MathEngine::AUTO>;

} // namespace detail
} // namespace crypto
} // namespace folly