#ifndef index_h #define index_h #include #include "bigint.h" #include "bit.h" static inline void half_adder(bit &s, bit &c, bit a, bit b) { s = a ^ b; c = a & b; } static inline void full_adder(bit &s, bit &c, bit a, bit b) { bit t = (a ^ b); s = t ^ c; c = (a & b) | (c & t); } bit bit_vector_gt(std::vector &,std::vector &); bit bit_vector_gt_rev(std::vector &,std::vector &); std::vector bit_vector_add(std::vector &, std::vector, std::vector b, bit = bit(0)); std::vector bit_vector_hamming_weight(const std::vector &); bit bit_vector_hamming_weight_isnot(const std::vector &,bigint); std::vector indices_to_vector(std::vector> &, bigint); std::vector set_size(std::vector> &); bit set_size_check(std::vector> &, bigint); bigint index_value(std::vector &); #endif