Changeset 45cc512 in git for libpolys/polys
- Timestamp:
- Dec 5, 2013, 3:34:22 PM (10 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 0acf3e38387201ff9fd3220d3febd9296fda35dd
- Parents:
- 6cce775fcf124d803afe198a1cae685953241af3
- Location:
- libpolys/polys
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/polys/ext_fields/algext.cc
r6cce775 r45cc512 1327 1327 } 1328 1328 1329 1329 char* naCoeffString(const coeffs r) // currently also for tranext. 1330 { 1331 const char* const* p=n_ParameterNames(r); 1332 int l=0; 1333 int i; 1334 for(i=0; i<n_NumberOfParameters(r);i++) 1335 { 1336 l+=(strlen(p[i])+1); 1337 } 1338 char *s=(char *)omAlloc(l+10+1); 1339 s[0]='\0'; 1340 snprintf(s,10+1,"%d",r->ch); /* Fp(a) or Q(a) */ 1341 char tt[2]; 1342 tt[0]=','; 1343 tt[1]='\0'; 1344 for(i=0; i<n_NumberOfParameters(r);i++) 1345 { 1346 strcat(s,tt); 1347 strcat(s,p[i]); 1348 } 1349 return s; 1350 } 1330 1351 1331 1352 BOOLEAN naInitChar(coeffs cf, void * infoStruct) … … 1358 1379 p_Test((poly)naMinpoly, naRing); 1359 1380 #endif 1381 1382 cf->cfCoeffString = naCoeffString; 1360 1383 1361 1384 cf->cfGreaterZero = naGreaterZero; -
libpolys/polys/ext_fields/transext.cc
r6cce775 r45cc512 2365 2365 cf->ch = R->cf->ch; 2366 2366 cf->factoryVarOffset = R->cf->factoryVarOffset + rVar(R); 2367 extern char* naCoeffString(const coeffs r); 2368 cf->cfCoeffString = naCoeffString; 2367 2369 2368 2370 cf->cfGreaterZero = ntGreaterZero; -
libpolys/polys/monomials/ring.cc
r6cce775 r45cc512 619 619 /// Decompose & Compose, rParameter & rPar 620 620 char * rCharStr(ring r) 621 { 622 char *s; 623 int i; 624 625 #ifdef HAVE_RINGS 626 if (rField_is_Ring_Z(r)) 627 { 628 s=omStrDup("integer"); // Z 629 return s; 630 } 631 if(rField_is_Ring_2toM(r)) 632 { 633 char* s = (char*) omAlloc(7+10+2); 634 sprintf(s,"integer,%lu",r->cf->modExponent); 635 return s; 636 } 637 if(rField_is_Ring_ModN(r)) 638 { 639 long l = (long)mpz_sizeinbase(r->cf->modBase, 10) + 2+7; 640 char* s = (char*) omAlloc(l); 641 gmp_sprintf(s,"integer,%Zd",r->cf->modBase); 642 return s; 643 } 644 if(rField_is_Ring_PtoM(r)) 645 { 646 long l = (long)mpz_sizeinbase(r->cf->modBase, 10) + 2+7+10; 647 char* s = (char*) omAlloc(l); 648 gmp_sprintf(s,"integer,%Zd^%lu",r->cf->modBase,r->cf->modExponent); 649 return s; 650 } 651 #endif 652 if (rField_is_long_R(r)) 653 { 654 i = MAX_INT_LEN*2+7; // 2 integers and real,, 655 s=(char *)omAlloc(i); 656 snprintf(s,i,"real,%d,%d",r->cf->float_len,r->cf->float_len2); /* long_R */ 657 return s; 658 } 659 if (rField_is_R(r)) 660 { 661 return omStrDup("real"); /* short real */ 662 } 663 char const * const * const params = rParameter(r); 664 if (params==NULL) 665 { 666 s=(char *)omAlloc(MAX_INT_LEN+1); 667 snprintf(s,MAX_INT_LEN+1,"%d",n_GetChar(r->cf)); /* Q, Z/p */ 668 return s; 669 } 670 if (rField_is_long_C(r)) 671 { 672 i=strlen(params[0])+21; 673 s=(char *)omAlloc(i); 674 snprintf(s,i,"complex,%d,%s",r->cf->float_len,params[0]); /* C */ 675 return s; 676 } 677 if (nCoeff_is_GF(r->cf)) 678 { 679 i=strlen(params[0])+21; 680 s=(char *)omAlloc(i); 681 snprintf(s,i,"%d,%s",r->cf->m_nfCharQ,params[0]); /* GF(q) */ 682 return s; 683 } 684 int l=0; 685 for(i=0; i<rPar(r);i++) 686 { 687 l+=(strlen(params[i])+1); 688 } 689 s=(char *)omAlloc((long)(l+MAX_INT_LEN+1)); 690 s[0]='\0'; 691 snprintf(s,MAX_INT_LEN+1,"%d",r->cf->ch); /* Fp(a) or Q(a) */ 692 char tt[2]; 693 tt[0]=','; 694 tt[1]='\0'; 695 for(i=0; i<rPar(r);i++) 696 { 697 strcat(s,tt); 698 strcat(s,params[i]); 699 } 700 return s; 701 } 621 { return r->cf->cfCoeffString(r->cf); } 702 622 703 623 char * rParStr(ring r)
Note: See TracChangeset
for help on using the changeset viewer.