28 lines
565 B
C++
28 lines
565 B
C++
![]() |
#pragma once
|
||
|
|
||
|
#include "gmp.h"
|
||
|
|
||
|
namespace gm3p
|
||
|
{
|
||
|
class gInt
|
||
|
{
|
||
|
public:
|
||
|
gInt();
|
||
|
gInt(mpz_t init);
|
||
|
gInt(long int init);
|
||
|
gInt(const char* init, int base);
|
||
|
~gInt();
|
||
|
|
||
|
gInt& operator=(const gInt& other);
|
||
|
|
||
|
friend gInt operator+(const gInt& left, const gInt& right);
|
||
|
friend gInt operator-(const gInt& left, const gInt& right);
|
||
|
friend gInt operator*(const gInt& left, const gInt& right);
|
||
|
friend gInt operator/(const gInt& left, const gInt& right);
|
||
|
|
||
|
friend std::ostream& operator<<(std::ostream& os, const gInt& value);
|
||
|
|
||
|
private:
|
||
|
mpz_t value;
|
||
|
};
|
||
|
}
|