TightCompaction_v2.hpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef __NOP_TIGHTCOMPACTION_V2_HPP__
  2. #define __NOP_TIGHTCOMPACTION_V2_HPP__
  3. #ifndef BEFTS_MODE
  4. #include <sgx_tcrypto.h>
  5. #include "oasm_lib.h"
  6. #include "utils.hpp"
  7. #include <vector>
  8. #include "foav.h"
  9. #endif
  10. template<OSwap_Style oswap_style>
  11. void TightCompact_2power(unsigned char *buf, size_t N, size_t block_size,
  12. size_t offset, bool *selected);
  13. template<OSwap_Style oswap_style>
  14. void TightCompact_2power_inner(unsigned char *buf, size_t N,
  15. size_t block_size, size_t offset, bool *selected, uint32_t *selected_count);
  16. template<OSwap_Style oswap_style>
  17. void TightCompact(unsigned char *buf, size_t N, size_t block_size, bool *selected);
  18. template<OSwap_Style oswap_style>
  19. void TightCompact_inner(unsigned char *buf, size_t N, size_t block_size, bool *selected, uint32_t *selected_count);
  20. template<OSwap_Style oswap_style>
  21. void TightCompact_parallel(unsigned char *buf, size_t N, size_t block_size, bool *selected, size_t nthreads);
  22. template<OSwap_Style oswap_style>
  23. void TightCompact_inner_parallel(unsigned char *buf, size_t N, size_t block_size, bool *selected, uint32_t *selected_count, size_t nthreads);
  24. template<OSwap_Style oswap_style>
  25. void TightCompact_2power_inner_parallel(unsigned char *buf, size_t N,
  26. size_t block_size, size_t offset, bool *selected, uint32_t *selected_count,
  27. size_t nthreads);
  28. template <OSwap_Style oswap_style>
  29. void OP_TightCompact_v2(unsigned char *buf, size_t block_size, bool *selected_list);
  30. void compute_LS_distances(uint64_t N, unsigned char *buffer_start, size_t block_size,
  31. bool *selected_list, uint64_t *LS_distance);
  32. #include "TightCompaction_v2.tcc"
  33. #endif