RecursiveShuffle.hpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __RECURSIVESHUFFLE_HPP__
  2. #define __RECURSIVESHUFFLE_HPP__
  3. #include "TightCompaction_v2.hpp"
  4. #ifndef BEFTS_MODE
  5. #include "foav.h"
  6. #endif
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. #define RS_RB_BUFFER_LIMIT 819200
  11. #define RS_MARKHALF_MAX_COINS 2048
  12. void MarkHalf(uint64_t N, bool *selected_list);
  13. #if 0
  14. void RecursiveShuffle_M1(unsigned char *buf, uint64_t N, size_t block_size);
  15. #endif
  16. void RecursiveShuffle_M2(unsigned char *buf, uint64_t N, size_t block_size);
  17. void RecursiveShuffle_M2_parallel(unsigned char *buf, uint64_t N, size_t block_size, size_t nthreads);
  18. #if 0
  19. void RecursiveShuffle_M1_inner_16x(unsigned char *buf, uint64_t N, size_t block_size);
  20. double DecryptAndShuffleM1(unsigned char *encrypted_buffer, size_t N, size_t encrypted_block_size, unsigned char *result_buffer, enc_ret *ret);
  21. double DecryptAndShuffleM2(unsigned char *encrypted_buffer, size_t N, size_t encrypted_block_size, size_t nthreads, unsigned char *result_buffer, enc_ret *ret);
  22. #endif
  23. #ifdef __cplusplus
  24. }
  25. #endif
  26. #include "RecursiveShuffle.tcc"
  27. #endif