/* version 2007.09.24, D. J. Bernstein; public domain */ #ifndef DAGBIT32_H #define DAGBIT32_H #include "dagbit.h" class dagbit8; class dagbit16; class dagbit32 { public: dagbit b[32]; dagbit32(); dagbit32(int); dagbit32(dagbit8); dagbit32(dagbit16); void key(long long,int); void input(long long,int); void output(long long); dagbit32& operator=(int); dagbit32& operator=(const dagbit8&); dagbit32& operator=(const dagbit16&); dagbit32& operator=(const dagbit32&); friend dagbit32 operator~(dagbit32); friend dagbit32 operator&(dagbit32,dagbit32); friend dagbit32 operator|(dagbit32,dagbit32); friend dagbit32 operator^(dagbit32,dagbit32); friend dagbit32 operator+(dagbit32,dagbit32); friend dagbit32 operator-(dagbit32,dagbit32); friend dagbit32 operator<<(dagbit32,int); friend dagbit32 operator>>(dagbit32,int); dagbit32& operator&=(const dagbit32 &x) { *this = *this & x; } dagbit32& operator|=(const dagbit32 &x) { *this = *this | x; } dagbit32& operator^=(const dagbit32 &x) { *this = *this ^ x; } dagbit32& operator+=(const dagbit32 &x) { *this = *this + x; } dagbit32& operator-=(const dagbit32 &x) { *this = *this - x; } dagbit32& operator<<=(int n) { *this = *this << n; } dagbit32& operator>>=(int n) { *this = *this >> n; } } ; #endif