Changeset 19ee5eb in git for libpolys/coeffs/rintegers2.cc
- Timestamp:
- Feb 1, 2021, 1:32:52 PM (3 years ago)
- Branches:
- (u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
- Children:
- 4218c13e2434358d0a056b78d0a40377a11bcdb1
- Parents:
- f60ab1f6c47a09dc3472f9d3cabd270622c46327
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/coeffs/rintegers2.cc
rf60ab1 r19ee5eb 227 227 } 228 228 229 static number nrzDiv (number a,number b, const coeffs) 230 { 231 mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin); 232 mpz_init(erg); 233 mpz_ptr r = (mpz_ptr) omAllocBin(gmp_nrz_bin); 234 mpz_init(r); 235 mpz_tdiv_qr(erg, r, (mpz_ptr) a, (mpz_ptr) b); 236 //if (!nrzIsZero((number) r, R)) 237 //{ 238 // WerrorS("Division by non divisible element."); 239 // WerrorS("Result is without remainder."); 240 //} 241 mpz_clear(r); 242 omFreeBin(r, gmp_nrz_bin); 243 return (number) erg; 244 } 245 246 static number nrzExactDiv (number a,number b, const coeffs) 247 { 248 mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin); 249 mpz_init(erg); 250 mpz_tdiv_q(erg, (mpz_ptr) a, (mpz_ptr) b); 229 static number nrzDiv (number a,number b, const coeffs r) 230 { 231 mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin); 232 mpz_init(erg); 233 if (nrzIsZero(b,r)) 234 { 235 WerrorS(nDivBy0); 236 } 237 else 238 { 239 mpz_ptr r = (mpz_ptr) omAllocBin(gmp_nrz_bin); 240 mpz_init(r); 241 mpz_tdiv_qr(erg, r, (mpz_ptr) a, (mpz_ptr) b); 242 mpz_clear(r); 243 omFreeBin(r, gmp_nrz_bin); 244 } 245 return (number) erg; 246 } 247 248 static number nrzExactDiv (number a,number b, const coeffs r) 249 { 250 mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin); 251 mpz_init(erg); 252 if (nrzIsZero(b,r)) 253 { 254 WerrorS(nDivBy0); 255 } 256 else 257 { 258 mpz_tdiv_q(erg, (mpz_ptr) a, (mpz_ptr) b); 259 } 251 260 return (number) erg; 252 261 } … … 331 340 { 332 341 WerrorS("Non invertible element."); 333 return (number)NULL;342 return nrzInit(0,r); 334 343 } 335 344 return nrzCopy(c,r);
Note: See TracChangeset
for help on using the changeset viewer.