Changeset a934fc8 in git for libpolys/coeffs/longrat.cc
- Timestamp:
- May 6, 2011, 3:52:31 PM (13 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- ad35b5aa4162741cdf8ed43431d40b098724e388
- Parents:
- eca225734b56a5d965350b362be8ec9a6c986759
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2011-05-06 15:52:31+02:00
- git-committer:
- Mohamed Barakat <mohamed.barakat@rwth-aachen.de>2011-11-09 12:31:36+01:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/coeffs/longrat.cc
reca225 ra934fc8 267 267 #endif 268 268 269 #ifdef HAVE_FACTORY 270 CanonicalForm nlConvSingNFactoryN( number n, const coeffs r ) 271 { 272 CanonicalForm term; 273 if ( SR_HDL(n) & SR_INT ) 274 { 275 term = SR_TO_INT(n); 276 } 277 else 278 { 279 if ( n->s == 3 ) 280 { 281 MP_INT dummy; 282 mpz_init_set( &dummy,n->z ); 283 term = make_cf( dummy ); 284 } 285 else 286 { 287 // assume s==0 or s==1 288 MP_INT num, den; 289 On(SW_RATIONAL); 290 mpz_init_set( &num, n->z ); 291 mpz_init_set( &den, n->n ); 292 term = make_cf( num, den, ( n->s != 1 )); 293 } 294 } 295 return term; 296 } 297 298 number nlConvFactoryNSingN( const CanonicalForm n, const coeffs r) 299 { 300 if (n.isImm()) 301 { 302 return nlInit(n.intval(),r); 303 } 304 else 305 { 306 number z=(number)omAllocBin(rnumber_bin); 307 #if defined(LDEBUG) 308 z->debug=123456; 309 #endif 310 gmp_numerator( n, z->z ); 311 if ( n.den().isOne() ) 312 z->s = 3; 313 else 314 { 315 gmp_denominator( n, z->n ); 316 z->s = 0; 317 } 318 nlNormalize(z,r); 319 return z; 320 } 321 } 322 #endif 269 323 number nlRInit (long i); 270 324
Note: See TracChangeset
for help on using the changeset viewer.