index_heap.h 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. #ifndef INDEX_HEAP_H
  2. #define INDEX_HEAP_H
  3. #include "sc25519.h"
  4. #define heap_init crypto_sign_ed25519_amd64_64_heap_init
  5. #define heap_extend crypto_sign_ed25519_amd64_64_heap_extend
  6. #define heap_pop crypto_sign_ed25519_amd64_64_heap_pop
  7. #define heap_push crypto_sign_ed25519_amd64_64_heap_push
  8. #define heap_get2max crypto_sign_ed25519_amd64_64_heap_get2max
  9. #define heap_rootreplaced crypto_sign_ed25519_amd64_64_heap_rootreplaced
  10. #define heap_rootreplaced_3limbs crypto_sign_ed25519_amd64_64_heap_rootreplaced_3limbs
  11. #define heap_rootreplaced_2limbs crypto_sign_ed25519_amd64_64_heap_rootreplaced_2limbs
  12. #define heap_rootreplaced_1limb crypto_sign_ed25519_amd64_64_heap_rootreplaced_1limb
  13. void heap_init(unsigned long long *h, unsigned long long hlen, sc25519 *scalars);
  14. void heap_extend(unsigned long long *h, unsigned long long oldlen, unsigned long long newlen, sc25519 *scalars);
  15. unsigned long long heap_pop(unsigned long long *h, unsigned long long *hlen, sc25519 *scalars);
  16. void heap_push(unsigned long long *h, unsigned long long *hlen, unsigned long long elem, sc25519 *scalars);
  17. void heap_get2max(unsigned long long *h, unsigned long long *max1, unsigned long long *max2, sc25519 *scalars);
  18. void heap_rootreplaced(unsigned long long *h, unsigned long long hlen, sc25519 *scalars);
  19. void heap_rootreplaced_3limbs(unsigned long long *h, unsigned long long hlen, sc25519 *scalars);
  20. void heap_rootreplaced_2limbs(unsigned long long *h, unsigned long long hlen, sc25519 *scalars);
  21. void heap_rootreplaced_1limb(unsigned long long *h, unsigned long long hlen, sc25519 *scalars);
  22. #endif