index_heap.h 1.6 KB

1234567891011121314151617181920212223242526272829303132
  1. #ifndef INDEX_HEAP_H
  2. #define INDEX_HEAP_H
  3. #include "sc25519.h"
  4. #include "compat.h"
  5. #define heap_init CRYPTO_NAMESPACE(heap_init)
  6. #define heap_extend CRYPTO_NAMESPACE(heap_extend)
  7. #define heap_pop CRYPTO_NAMESPACE(heap_pop)
  8. #define heap_push CRYPTO_NAMESPACE(heap_push)
  9. #define heap_get2max CRYPTO_NAMESPACE(heap_get2max)
  10. #define heap_rootreplaced CRYPTO_NAMESPACE(heap_rootreplaced)
  11. #define heap_rootreplaced_3limbs CRYPTO_NAMESPACE(heap_rootreplaced_3limbs)
  12. #define heap_rootreplaced_2limbs CRYPTO_NAMESPACE(heap_rootreplaced_2limbs)
  13. #define heap_rootreplaced_1limb CRYPTO_NAMESPACE(heap_rootreplaced_1limb)
  14. void heap_init(unsigned long long *h, unsigned long long hlen, sc25519 *scalars);
  15. void heap_extend(unsigned long long *h, unsigned long long oldlen, unsigned long long newlen, sc25519 *scalars);
  16. unsigned long long heap_pop(unsigned long long *h, unsigned long long *hlen, sc25519 *scalars);
  17. void heap_push(unsigned long long *h, unsigned long long *hlen, unsigned long long elem, sc25519 *scalars);
  18. void heap_get2max(unsigned long long *h, unsigned long long *max1, unsigned long long *max2, sc25519 *scalars);
  19. void heap_rootreplaced(unsigned long long *h, unsigned long long hlen, sc25519 *scalars) SYSVABI;
  20. void heap_rootreplaced_3limbs(unsigned long long *h, unsigned long long hlen, sc25519 *scalars) SYSVABI;
  21. void heap_rootreplaced_2limbs(unsigned long long *h, unsigned long long hlen, sc25519 *scalars) SYSVABI;
  22. void heap_rootreplaced_1limb(unsigned long long *h, unsigned long long hlen, sc25519 *scalars) SYSVABI;
  23. #endif