Changeset 7cc3fd in git for gfanlib/gfanlib_z.h
- Timestamp:
- Aug 8, 2016, 2:16:42 PM (8 years ago)
- Branches:
- (u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
- Children:
- 0d1bcb7165ef371658ad444b7547d9fdf53d7136
- Parents:
- 6a97c544535256c37da0f10bcb6821b592546c6815813d0947d4221b8c060256fd6994a48e3c6605
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gfanlib/gfanlib_z.h
r6a97c54 r7cc3fd 10 10 11 11 #include <string.h> 12 #include <iostream>13 12 #include <ostream> 14 13 … … 41 40 mpz_init_set(value,value_.value); 42 41 } 43 Integer(mpz_t value_)42 Integer(mpz_t const value_) 44 43 { 45 44 mpz_init_set(value,value_); … … 60 59 bool isZero()const{ 61 60 return mpz_sgn(value)==0; 62 }63 bool isOne()const{64 return mpz_cmp_si(value,1);65 61 } 66 62 friend std::ostream &operator<<(std::ostream &f, Integer const &a) … … 73 69 return f; 74 70 } 75 void debugPrint() const76 {77 void (*freefunc)(void *, size_t);78 mp_get_memory_functions(0,0,&freefunc);79 char *str=mpz_get_str(0,10,value);80 std::cout << str;81 freefunc(str,strlen(str)+1);82 return;83 }84 71 Integer& operator+=(const Integer& a) 85 72 { … … 161 148 mpz_init(r); 162 149 mpz_gcdext(r,s.value,t.value,a.value,b.value); 163 Integer ret(r);164 mpz_clear(r);165 return ret;166 }167 static Integer gcd(Integer const &a, Integer const &b)168 {169 if (a.isOne() || b.isOne())170 return Integer(1);171 mpz_t r;172 mpz_init(r);173 mpz_gcd(r,a.value,b.value);174 150 Integer ret(r); 175 151 mpz_clear(r); … … 354 330 return f; 355 331 } 356 friend void debugPrint(IntegerTemplate const &a)357 {358 std::cout << a << std::endl;359 return;360 }361 332 LimbWord signExtension(LimbWord a) 362 333 {
Note: See TracChangeset
for help on using the changeset viewer.