Changeset 42f2ad in git
- Timestamp:
- Dec 6, 2013, 12:39:54 PM (9 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'ad2543eab51733612ba7d118afc77edca719600e')
- Children:
- f5d2647d30f302536a13c1f6d9d12252187f361d
- Parents:
- 7f974f6a471f29692ae22b5338098c047680b0f76c8ba30f3cbc3b424a708defb57649b060a4b243
- Files:
-
- 3 added
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/resources.lib
r6c8ba3 r42f2ad 31 31 static proc mod_init() 32 32 { 33 int sem_cores = semaphore(system("--cpus") )-1;33 int sem_cores = semaphore(system("--cpus")-1); 34 34 exportto(Resources, sem_cores); 35 35 int NCORES = system("semaphore", "get_value", sem_cores)+1; … … 123 123 EXAMPLE: example semaphore; shows an example" 124 124 { 125 int i = 1;125 int i = 0; 126 126 while (system("semaphore", "exists", i) == 1) { 127 127 i++; -
Singular/LIB/tasks.lib
r6c8ba3 r42f2ad 15 15 16 16 tasks.lib respects the limits for computational resources defined 17 in @ref{resources .lib}, i.e., all tasks within the same Singular session will17 in @ref{resources_lib}, i.e., all tasks within the same Singular session will 18 18 not use more computational resources than provided via resources.lib, even if 19 19 tasks are started recursively. 20 20 21 The Singular library @ref{parallel .lib} provides implementations of several21 The Singular library @ref{parallel_lib} provides implementations of several 22 22 parallel 'skeletons' based on tasks.lib. 23 23 -
Singular/ipshell.cc
r6c8ba3 r42f2ad 5196 5196 if (mpz_cmp_ui(modBase,0)==0) 5197 5197 { 5198 WerrorS("modulus must not be 0 ");5198 WerrorS("modulus must not be 0 or parameter not allowed"); 5199 5199 goto rInitError; 5200 5200 } … … 5211 5211 if (mpz_cmp_ui(modBase,0)==0) 5212 5212 { 5213 WerrorS("modulus must not be 0 ");5213 WerrorS("modulus must not be 0 or parameter not allowed"); 5214 5214 goto rInitError; 5215 5215 } -
Tst/Short/ok_s.lst
r6c8ba3 r42f2ad 98 98 bug_tr225 99 99 bug_tr230 100 bug_tr237 100 101 bug_tr239 101 102 ; do not try bug_tr276 without 2.2 GB RAM free -
configure.ac
r7f974f r42f2ad 227 227 AC_CONFIG_FILES([IntegerProgramming/Makefile]) 228 228 229 AC_CONFIG_FILES([libsingular-config]) 230 231 AC_CONFIG_FILES([emacs/Makefile]) 232 233 AC_CONFIG_FILES([debian/Makefile]) 234 AC_CONFIG_FILES([redhat/Makefile]) 229 235 AC_CONFIG_FILES([redhat/singular.spec]) 230 # AC_CONFIG_FILES([desktop/Singular.desktop])231 # AC_CONFIG_FILES([desktop/Singular-manual.desktop])232 233 AC_CONFIG_FILES([libsingular-config])234 235 AC_CONFIG_FILES([redhat/Makefile])236 AC_CONFIG_FILES([emacs/Makefile])237 AC_CONFIG_FILES([debian/Makefile])238 236 AC_CONFIG_FILES([desktop/Makefile]) 239 237 -
desktop/Makefile.am
r7f974f r42f2ad 6 6 desktopdir = $(datadir)/applications 7 7 desktop_DATA = Singular.desktop Singular-manual.desktop 8 desktop_in = Singular.desktop.in Singular-manual.desktop.in 8 9 9 10 substvars = sed \ … … 15 16 $(AM_V_GEN) $(substvars) $(abs_srcdir)/Singular.desktop.in > $@ 16 17 17 # $(do_subst) < $(srcdir)/automake.in > automake18 19 18 Singular-manual.desktop: $(abs_srcdir)/Singular-manual.desktop.in 20 19 $(AM_V_GEN) $(substvars) $(abs_srcdir)/Singular-manual.desktop.in > $@ 21 20 22 desktop_in = Singular.desktop.in Singular-manual.desktop.in23 24 21 EXTRA_DIST = $(icons_DATA) $(desktop_in) 25 22 26 CLEANFILES = Singular.desktop Singular-manual.desktop23 CLEANFILES = $(desktop_DATA) -
libpolys/coeffs/coeffs.h
r6c8ba3 r42f2ad 111 111 /// output of coeff description via Print 112 112 void (*cfCoeffWrite)(const coeffs r, BOOLEAN details); 113 114 /// string output of coeff description 115 char* (*cfCoeffString)(const coeffs r); 113 116 114 117 // ? -
libpolys/coeffs/ffields.cc
r6c8ba3 r42f2ad 819 819 } 820 820 821 static char* nfCoeffString(const coeffs r) 822 { 823 const char *p=n_ParameterNames(r)[0]; 824 char *s=(char*)omAlloc(11+1+strlen(p)); 825 sprintf(s,"%d,%s",r->m_nfCharQ,p); 826 return s; 827 } 828 821 829 BOOLEAN nfInitChar(coeffs r, void * parameter) 822 830 { … … 824 832 r->cfKillChar=nfKillChar; 825 833 r->nCoeffIsEqual=nfCoeffIsEqual; 834 r->cfCoeffString=nfCoeffString; 826 835 827 836 r->cfMult = nfMult; -
libpolys/coeffs/gnumpc.cc
r6c8ba3 r42f2ad 458 458 } 459 459 460 static char* ngcCoeffString(const coeffs r) 461 { 462 const char *p=n_ParameterNames(r)[0]; 463 char *s=(char*)omAlloc(31+strlen(p)); 464 sprintf(s,"complex,%d,%d,%s",r->float_len,r->float_len2,p); 465 return s; 466 } 467 460 468 BOOLEAN ngcInitChar(coeffs n, void* parameter) 461 469 { … … 464 472 n->cfKillChar = ngcKillChar; 465 473 n->ch = 0; 474 n->cfCoeffString=ngcCoeffString; 466 475 467 476 n->cfDelete = ngcDelete; -
libpolys/coeffs/gnumpfl.cc
r6c8ba3 r42f2ad 402 402 } 403 403 404 static char* ngfCoeffString(const coeffs r) 405 { 406 char *s=(char*)omAlloc(27); 407 snprintf(s,27,"real,%d,%d",r->float_len,r->float_len2); 408 return s; 409 } 410 404 411 BOOLEAN ngfInitChar(coeffs n, void *parameter) 405 412 { … … 410 417 n->cfSetChar = ngfSetChar; 411 418 n->ch = 0; 419 n->cfCoeffString=ngfCoeffString; 412 420 413 421 n->cfDelete = ngfDelete; -
libpolys/coeffs/longrat.cc
r6c8ba3 r42f2ad 2826 2826 } 2827 2827 2828 static char* nlCoeffString(const coeffs r) 2829 { 2830 return omStrDup("0"); 2831 } 2832 2828 2833 BOOLEAN nlInitChar(coeffs r, void*) 2829 2834 { … … 2833 2838 r->nCoeffIsEqual=ndCoeffIsEqual; 2834 2839 r->cfKillChar = ndKillChar; /* dummy */ 2840 r->cfCoeffString=nlCoeffString; 2835 2841 2836 2842 r->cfInitMPZ = nlInitMPZ; -
libpolys/coeffs/modulop.cc
r6c8ba3 r42f2ad 425 425 } 426 426 427 static char* npCoeffString(const coeffs r) 428 { 429 char *s=(char*)omAlloc(11); 430 snprintf(s,11,"%d",r->ch); 431 return s; 432 } 433 427 434 BOOLEAN npInitChar(coeffs r, void* p) 428 435 { … … 440 447 r->cfKillChar=npKillChar; 441 448 r->nCoeffIsEqual=npCoeffsEqual; 449 r->cfCoeffString=npCoeffString; 442 450 443 451 r->cfMult = npMult; -
libpolys/coeffs/numbers.cc
r6c8ba3 r42f2ad 50 50 void nNew(number* d) { *d=NULL; } 51 51 void ndDelete(number* d, const coeffs) { *d=NULL; } 52 char* ndCoeffString(const coeffs r) 53 { 54 char *s=(char *)omAlloc(11);snprintf(s,11,"Coeffs(%d)",r->type); 55 return s; 56 } 52 57 void ndInpMult(number &a, number b, const coeffs r) 53 58 { … … 323 328 n->cfImPart=ndReturn0; 324 329 n->cfDelete= ndDelete; 330 n->cfCoeffString = ndCoeffString; // should alway be changed! 325 331 n->cfInpMult=ndInpMult; 326 332 n->cfInpAdd=ndInpAdd; … … 385 391 assume(n->nCoeffIsEqual!=NULL); 386 392 assume(n->cfSetChar!=NULL); 393 assume(n->cfCoeffString!=ndCoeffString); 387 394 assume(n->cfMult!=NULL); 388 395 assume(n->cfSub!=NULL); … … 451 458 if(n->cfWriteLong==NULL) Warn("cfWrite is NULL for coeff %d",t); 452 459 if(n->cfWriteShort==NULL) Warn("cfWriteShort is NULL for coeff %d",t); 460 if(n->cfCoeffString==ndCoeffString) Warn("cfCoeffString is undefined for coeff %d",t); 453 461 #endif 454 462 -
libpolys/coeffs/rintegers.cc
r6c8ba3 r42f2ad 383 383 } 384 384 385 static char* nrzCoeffString(const coeffs r) 386 { 387 return omStrDup("integer"); 388 } 385 389 386 390 BOOLEAN nrzInitChar(coeffs r, void *) … … 388 392 assume( getCoeffType(r) == ID ); 389 393 r->nCoeffIsEqual = ndCoeffIsEqual; 394 r->cfCoeffString = nrzCoeffString; 390 395 r->cfKillChar = ndKillChar; 391 396 r->cfMult = nrzMult; -
libpolys/coeffs/rmodulo2m.cc
r6c8ba3 r42f2ad 46 46 return FALSE; 47 47 } 48 49 static char* nr2mCoeffString(const coeffs r) 50 { 51 char* s = (char*) omAlloc(11+11); 52 sprintf(s,"integer,2,%lu",r->modExponent); 53 return s; 54 } 55 48 56 /* for initializing function pointers */ 49 57 BOOLEAN nr2mInitChar (coeffs r, void* p) … … 53 61 r->cfKillChar = ndKillChar; /* dummy*/ 54 62 r->nCoeffIsEqual = nr2mCoeffIsEqual; 63 r->cfCoeffString = nr2mCoeffString; 55 64 56 65 r->modBase = (int_number) omAllocBin (gmp_nrz_bin); -
libpolys/coeffs/rmodulon.cc
r6c8ba3 r42f2ad 47 47 } 48 48 49 static char* nrnCoeffString(const coeffs r) 50 { 51 long l = (long)mpz_sizeinbase(r->modBase, 10) +2; 52 char* b = (char*) omAlloc(l); 53 b= mpz_get_str (b, 10, r->modBase); 54 char* s = (char*) omAlloc(7+2+10+l); 55 if (nCoeff_is_Ring_ModN(r)) sprintf(s,"integer,%s",b); 56 else /*if (nCoeff_is_Ring_PtoM(r))*/ sprintf(s,"integer,%s^%lu",b,r->modExponent); 57 omFreeSize(b,l); 58 return s; 59 } 49 60 50 61 /* for initializing function pointers */ … … 60 71 is a GMP number */ 61 72 r->ch = mpz_get_ui(r->modNumber); 73 74 r->cfCoeffString = nrnCoeffString; 62 75 63 76 r->cfInit = nrnInit; -
libpolys/coeffs/shortfl.cc
r6c8ba3 r42f2ad 630 630 } 631 631 632 static char* nrCoeffString(const coeffs r) 633 { 634 return omStrDup("real"); 635 } 636 632 637 BOOLEAN nrInitChar(coeffs n, void* p) 633 638 { … … 638 643 n->cfKillChar = ndKillChar; /* dummy */ 639 644 n->ch = 0; 645 n->cfCoeffString = nrCoeffString; 640 646 641 647 n->cfInit = nrInit; -
libpolys/polys/ext_fields/algext.cc
r6c8ba3 r42f2ad 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
r6c8ba3 r42f2ad 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
r6c8ba3 r42f2ad 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) -
redhat/Makefile.am
r7f974f r42f2ad 3 3 REDHAT = singular.spec 4 4 5 EXTRA_DIST = singular.spec 5 EXTRA_DIST = $(REDHAT) 6 6 7 CLEANFILES = $(REDHAT)
Note: See TracChangeset
for help on using the changeset viewer.