1 #ifndef realroot_BIG_UNSIGNED_H
2 #define realroot_BIG_UNSIGNED_H
23 for (
unsigned i = 1; i <
N; data[i] = 0, i ++ ) ;
36 inline bool operator<( const bigunsigned<N>& bi )
38 for (
int i =
N-1; i >= 0; i ++ )
39 if ( bi[i] > data[i] )
return true;
45 for (
int i =
N-1; i >= 0; i ++ )
46 if ( bi[i] < data[i] )
return true;
52 for (
unsigned i = 0; i <
N; i ++ )
53 if ( data[i] != bi[i] )
return false;
63 for (
unsigned i =
N-1; i > 0; i -- )
73 for (
int i =
N-1; i > 0; i -- )
88 for (
unsigned i = 0; i <
N-1; data[i] = data[i+1], i ++ ) ;
98 for (
int i = 0; i < int(
N-1); i ++ )
115 for (
unsigned i = 0; i <
N; data[i] |= bu[i], i ++ ) ;
169 template<
unsigned N>
inline
183 template<
unsigned N>
bool bigunsigned<N>::s_overflow =
false;
185 template<
unsigned N>
inline
208 bigunsigned<N>::s_overflow = (n != 0);
214 template <
unsigned N>
inline
218 if ( ! bigunsigned<N>::s_overflow )
223 bigunsigned<N>::s_overflow =
true;
229 template <
unsigned N>
233 for (
unsigned i = 0; i <
N/2; i ++ )
241 inline void rprint( std::ostream& o,
unsigned n )
243 for (
unsigned b = 0; b < numerics::hdwi<unsigned>::nbit; b ++ )
250 template<
unsigned N >
253 for (
unsigned i = 0; i <
N; i ++ )
257 template<
unsigned N >
267 std::ostream& operator<<( std::ostream& o, const bigunsigned<N>& bi )
bigunsigned & operator=(const bigunsigned &b)
Definition: scalar_bigunsigned.hpp:31
const C & b
Definition: Interval_glue.hpp:25
unsigned operator[](int i) const
Definition: scalar_bigunsigned.hpp:146
bool operator==(const bigunsigned< N > &bi)
Definition: scalar_bigunsigned.hpp:50
static hdw_int reverse(hdw_int a)
Definition: numerics_hdwi.hpp:54
bigunsigned()
Definition: scalar_bigunsigned.hpp:18
bigunsigned & operator<<=(unsigned n)
Definition: scalar_bigunsigned.hpp:57
unsigned hi
Definition: scalar_bigunsigned.hpp:13
bigunsigned & operator|=(const bigunsigned &bu)
Definition: scalar_bigunsigned.hpp:113
unsigned hdwi_t
Definition: scalar_bigunsigned.hpp:14
unsigned & operator[](int i)
Definition: scalar_bigunsigned.hpp:141
void reverse(Poly &R, const Poly &P)
Definition: contfrac_intervaldata.hpp:139
void rprint(std::ostream &o, unsigned n)
Definition: scalar_bigunsigned.hpp:241
TMPL int N(const MONOMIAL &v)
Definition: monomial_glue.hpp:60
bool operator>(const bigunsigned< N > &bi)
Definition: scalar_bigunsigned.hpp:43
bigunsigned & operator>>=(unsigned n)
Definition: scalar_bigunsigned.hpp:82
extended< NT > operator+(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:122
const bigunsigned< N-1 > & next() const
Definition: scalar_bigunsigned.hpp:124
bigunsigned & operator+=(const bigunsigned &a)
Definition: scalar_bigunsigned.hpp:135
bigunsigned & operator+=(unsigned n)
Definition: scalar_bigunsigned.hpp:129
static bool s_overflow
Definition: scalar_bigunsigned.hpp:15
hi data[N]
Definition: scalar_bigunsigned.hpp:17
bigunsigned(unsigned n)
Definition: scalar_bigunsigned.hpp:20
bigunsigned & operator=(unsigned n)
Definition: scalar_bigunsigned.hpp:26
void print(OSTREAM &os, const Interval< T, r > &a)
Definition: Interval.hpp:135
Definition: numerics_hdwi.hpp:47
bigunsigned< N > operator|(const bigunsigned< N > &b, unsigned n)
Definition: scalar_bigunsigned.hpp:162
unsigned operator&(const bigunsigned< N > &b, unsigned n)
Definition: scalar_bigunsigned.hpp:178
bigunsigned< N-1 > & next()
Definition: scalar_bigunsigned.hpp:119
Definition: scalar_bigunsigned.hpp:11
bigunsigned & operator|=(unsigned n)
Definition: scalar_bigunsigned.hpp:107
void add(dynamic_exp< E > &r, const dynamic_exp< E > &A, const dynamic_exp< E > &B)
Definition: dynamicexp.hpp:295