#ifndef CRYPTO_BIG_NUM_H_
#define CRYPTO_BIG_NUM_H_
#include <stdint.h>
#include <memory>
#include <string>
#include "third_party/private-join-and-compute/src/crypto/openssl.inc"
#include "third_party/private-join-and-compute/src/util/status.inc"
namespace private_join_and_compute {
class BigNum { … };
inline BigNum operator-(const BigNum& a) { … }
inline BigNum operator+(const BigNum& a, const BigNum& b) { … }
inline BigNum operator*(const BigNum& a, const BigNum& b) { … }
inline BigNum operator-(const BigNum& a, const BigNum& b) { … }
inline BigNum operator/(const BigNum& a, const BigNum& b) { … }
inline BigNum& operator+=(BigNum& a, const BigNum& b) { … }
inline BigNum& operator*=(BigNum& a, const BigNum& b) { … }
inline BigNum& operator-=(BigNum& a, const BigNum& b) { … }
inline BigNum& operator/=(BigNum& a, const BigNum& b) { … }
inline bool operator==(const BigNum& a, const BigNum& b) { … }
inline bool operator!=(const BigNum& a, const BigNum& b) { … }
inline bool operator<(const BigNum& a, const BigNum& b) { … }
inline bool operator>(const BigNum& a, const BigNum& b) { … }
inline bool operator<=(const BigNum& a, const BigNum& b) { … }
inline bool operator>=(const BigNum& a, const BigNum& b) { … }
inline BigNum operator%(const BigNum& a, const BigNum& m) { … }
inline BigNum operator>>(const BigNum& a, int n) { … }
inline BigNum operator<<(const BigNum& a, int n) { … }
inline BigNum& operator%=(BigNum& a, const BigNum& b) { … }
inline BigNum& operator>>=(BigNum& a, int n) { … }
inline BigNum& operator<<=(BigNum& a, int n) { … }
}
#endif