Changeset 12310e in git
- Timestamp:
- Oct 15, 1998, 1:46:10 PM (26 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- eeb6f9aa3deb356d57afbd5decec3f7e1f2b4436
- Parents:
- 17802ff73728d98f781855d9ecf15acd282636dd
- Location:
- Singular
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/all.lib
r17802f r12310e 1 // $Id: all.lib,v 1.1 4 1998-08-07 17:33:53 gorzelExp $1 // $Id: all.lib,v 1.15 1998-10-15 11:46:09 obachman Exp $ 2 2 /////////////////////////////////////////////////////////////////////////////// 3 3 4 version="$Id: all.lib,v 1.1 4 1998-08-07 17:33:53 gorzelExp $";4 version="$Id: all.lib,v 1.15 1998-10-15 11:46:09 obachman Exp $"; 5 5 info=" 6 6 LIBRARY: all.lib Load all libraries … … 27 27 sing.lib PROCEDURES FOR SINGULARITIES 28 28 standard.lib PROCEDURES WHICH ARE ALWAYS LOADED AT START-UP 29 latex.lib PROCEDURES FOR TYPESET OF SINGULAROBJECTS IN TEX 30 paramet.lib PROCEDURES FOR PARAMETRIZATION OF PRIMARY DECOMPOSITION 29 31 "; 30 32 … … 52 54 LIB "ring.lib"; 53 55 LIB "sing.lib"; 56 LIB "latex.lib"; 57 LIB "paramet.lib"; 58 59 // LIB "tools.lib"; -
Singular/LIB/standard.lib
r17802f r12310e 1 // $Id: standard.lib,v 1.2 5 1998-06-19 08:01:51 SingularExp $1 // $Id: standard.lib,v 1.26 1998-10-15 11:46:10 obachman Exp $ 2 2 ////////////////////////////////////////////////////////////////////////////// 3 3 4 version="$Id: standard.lib,v 1.2 5 1998-06-19 08:01:51 SingularExp $";4 version="$Id: standard.lib,v 1.26 1998-10-15 11:46:10 obachman Exp $"; 5 5 info=" 6 6 LIBRARY: standard.lib PROCEDURES WHICH ARE ALWAYS LOADED AT START-UP … … 334 334 { 335 335 "std with hilb in basering"; 336 i = std(i, hi);337 }336 } 337 i = std(i, hi); 338 338 } 339 339 else -
Singular/extra.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 *****************************************/ 4 /* $Id: extra.cc,v 1.6 7 1998-09-08 07:51:38 SingularExp $ */4 /* $Id: extra.cc,v 1.68 1998-10-15 11:45:51 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: general interface to internals of Singular ("system" command) … … 30 30 #endif 31 31 32 #endif 32 33 #include <unistd.h> 33 #endif34 34 35 35 #include "tok.h" -
Singular/febase.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: febase.cc,v 1.6 7 1998-09-01 15:10:15 SingularExp $ */4 /* $Id: febase.cc,v 1.68 1998-10-15 11:45:53 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: i/o system … … 68 68 ;} 69 69 BOOLEAN errorreported = FALSE; 70 BOOLEAN feBatch =FALSE;70 BOOLEAN feBatch = FALSE; 71 71 char * feErrors=NULL; 72 72 int feErrorsLen=0; 73 BOOLEAN feWarn = TRUE; 74 BOOLEAN feOut = TRUE; 75 76 #ifdef macintosh 77 static int lines = 0; 78 static int cols = 0; 79 #endif 73 80 74 81 const char feNotImplemented[]="not implemented"; … … 645 652 } 646 653 char *res; 647 int idat=strlen(SINGULAR_DATADIR),ipath=strlen(path); 654 int idat=strlen(SINGULAR_DATADIR), 655 ilib=strlen(VERSION_DIR), 656 ipath=strlen(path); 657 int ialloc = idat+ilib+ipath+1; 648 658 char *env=getenv("SINGULARPATH"); 649 659 int ienv=0, ii=0; … … 660 670 return f; 661 671 } 662 res=(char*) AllocL(i i+ipath+1);672 res=(char*) AllocL(ialloc); 663 673 if (ienv!=0) 664 674 { … … 671 681 { 672 682 memcpy(res,SINGULAR_DATADIR,idat); 683 memcpy(res+idat,path,ipath); 684 res[idat+ipath]='\0'; 685 f=myfopen(res,mode); 686 } 687 if ((f==NULL)&&(idat!=0)) 688 { 689 memcpy(res,SINGULAR_DATADIR,idat); 690 memcpy(res+idat,VERSION_DIR,ilib); 691 idat += ilib; 673 692 memcpy(res+idat,path,ipath); 674 693 res[idat+ipath]='\0'; … … 853 872 feErrors=(char *)Alloc(256); 854 873 feErrorsLen=256; 855 strcpy(feErrors,(char *)s);874 *feErrors = '\0'; 856 875 } 857 876 else 858 877 { 859 if (((int)(strlen((char *)s)+ strlen(feErrors)))>=feErrorsLen)878 if (((int)(strlen((char *)s)+ 20 +strlen(feErrors)))>=feErrorsLen) 860 879 { 861 880 feErrors=(char *)ReAlloc(feErrors,feErrorsLen,feErrorsLen+256); 862 881 feErrorsLen+=256; 863 882 } 864 strcat(feErrors,(char *)s);865 }866 strcat(feErrors, "\n");883 } 884 strcat(feErrors, "Singular error: "); 885 strcat(feErrors, (char *)s); 867 886 } 868 887 else … … 917 936 else 918 937 #endif 919 #ifdef HAVE_MPSR 920 if (!feBatch) /* ignore warnings in febatch-mode */ 921 #endif 938 if (feWarn) /* ignore warnings in when optin --no-warn was given */ 922 939 { 923 940 fwrite(warn_str,1,6,stdout); … … 980 997 void PrintS(char *s) 981 998 { 999 if (feOut) /* do not print when option --no-out was given */ 1000 { 1001 982 1002 #ifdef macintosh 983 char c;984 while ('\0' != (c = *s++))985 {986 mwrite(c);987 }1003 char c; 1004 while ('\0' != (c = *s++)) 1005 { 1006 mwrite(c); 1007 } 988 1008 #else 989 1009 #ifdef HAVE_TCL 990 if (tclmode)991 {992 PrintTCLS('N',s);993 }994 else995 #endif 996 {997 int i=strlen(s);998 fwrite(s,1,i,stdout);999 fflush(stdout);1000 if (feProt&PROT_O)1001 {1002 fwrite(s,1,i,feProtFile);1003 } 1004 } 1005 #endif 1010 if (tclmode) 1011 { 1012 PrintTCLS('N',s); 1013 } 1014 else 1015 #endif 1016 { 1017 fwrite(s,1,strlen(s),stdout); 1018 fflush(stdout); 1019 if (feProt&PROT_O) 1020 { 1021 fwrite(s,1,strlen(s),feProtFile); 1022 } 1023 } 1024 #endif 1025 } 1006 1026 } 1007 1027 … … 1013 1033 void Print(char *fmt, ...) 1014 1034 { 1015 va_list ap; 1016 va_start(ap, fmt); 1035 if (feOut) 1036 { 1037 va_list ap; 1038 va_start(ap, fmt); 1017 1039 #ifdef HAVE_TCL 1018 if(tclmode)1040 if(tclmode) 1019 1041 #endif 1020 1042 #if (defined(HAVE_TCL) || defined(macintosh)) 1021 {1022 char *s=(char *)Alloc(strlen(fmt)+256);1023 vsprintf(s,fmt, ap);1043 { 1044 char *s=(char *)Alloc(strlen(fmt)+256); 1045 vsprintf(s,fmt, ap); 1024 1046 #ifdef HAVE_TCL 1025 PrintTCLS('N',s);1047 PrintTCLS('N',s); 1026 1048 #endif 1027 1049 #ifdef macintosh 1028 char c;1029 while ('\0' != (c = *s++))1030 {1031 mwrite(c);1032 }1033 if (feProt&PROT_O)1034 {1035 vfprintf(feProtFile,fmt,ap);1036 }1037 #endif 1038 }1050 char c; 1051 while ('\0' != (c = *s++)) 1052 { 1053 mwrite(c); 1054 } 1055 if (feProt&PROT_O) 1056 { 1057 vfprintf(feProtFile,fmt,ap); 1058 } 1059 #endif 1060 } 1039 1061 #endif 1040 1062 #if !defined(macintosh) || defined(HAVE_TCL) 1041 1063 #ifdef HAVE_TCL 1042 else 1043 #endif 1044 { 1045 vfprintf(stdout, fmt, ap); 1046 fflush(stdout); 1047 if (feProt&PROT_O) 1048 { 1049 vfprintf(feProtFile,fmt,ap); 1050 } 1051 } 1052 #endif 1053 va_end(ap); 1064 else 1065 #endif 1066 { 1067 vfprintf(stdout, fmt, ap); 1068 fflush(stdout); 1069 if (feProt&PROT_O) 1070 { 1071 vfprintf(feProtFile,fmt,ap); 1072 } 1073 } 1074 #endif 1075 va_end(ap); 1076 } 1054 1077 } 1055 1078 -
Singular/febase.h
r17802f r12310e 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: febase.h,v 1.2 2 1998-07-10 17:03:42 SingularExp $ */6 /* $Id: febase.h,v 1.23 1998-10-15 11:45:53 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT … … 47 47 extern BOOLEAN feBatch; 48 48 extern BOOLEAN feProt; 49 extern BOOLEAN feWarn; 50 extern BOOLEAN feOut; 51 49 52 50 53 #define PROT_NONE 0 -
Singular/ffields.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ffields.cc,v 1.1 7 1998-09-29 12:00:54 SingularExp $ */4 /* $Id: ffields.cc,v 1.18 1998-10-15 11:45:54 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: finite fields with a none-prime number of elements (via tables) … … 627 627 else nfCharQ = -c; 628 628 char buf[100]; 629 #ifdef macintosh 630 sprintf(buf,"gftables:%d",nfCharQ); 631 #else 629 632 sprintf(buf,"gftables/%d",nfCharQ); 633 #endif 630 634 FILE * fp = feFopen(buf,"r",NULL,TRUE); 631 635 if (fp==NULL) -
Singular/find_exec.c
r17802f r12310e 117 117 } 118 118 119 strcat(tbuf, "/");119 if (tbuf[strlen(tbuf)-1] != '/') strcat(tbuf, "/"); 120 120 strcat (tbuf, name); 121 121 122 122 /* If we can execute the named file, then return it. */ 123 123 if (! access (tbuf, X_OK)) -
Singular/kstd2.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kstd2.cc,v 1.2 1 1998-10-08 13:12:55 SingularExp $ */4 /* $Id: kstd2.cc,v 1.22 1998-10-15 11:45:56 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT - Kernel: alg. of Buchberger … … 793 793 if (pSDRING) 794 794 { 795 p=spSpolyCreate(strat->T[j].p,(*h).p,strat->kNoether );795 p=spSpolyCreate(strat->T[j].p,(*h).p,strat->kNoether,strat->spSpolyLoop); 796 796 if (p!=NULL) pDelete(&pNext(p)); 797 797 } … … 817 817 if (pSDRING) 818 818 { 819 ph=spSpolyCreate(strat->T[j].p,(*h).p,strat->kNoether );819 ph=spSpolyCreate(strat->T[j].p,(*h).p,strat->kNoether,strat->spSpolyLoop); 820 820 if (ph!=NULL) pDelete(&pNext(ph)); 821 821 } -
Singular/kutil.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: kutil.cc,v 1. 29 1998-09-24 17:13:10 SingularExp $ */4 /* $Id: kutil.cc,v 1.30 1998-10-15 11:45:57 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: kernel: utils for kStd … … 748 748 if (pSDRING) 749 749 { 750 Lp.p=spSpolyCreate(strat->S[i],p,strat->kNoether );750 Lp.p=spSpolyCreate(strat->S[i],p,strat->kNoether,strat->spSpolyLoop); 751 751 if (Lp.p!=NULL) 752 752 pDelete(&pNext(Lp.p)); … … 864 864 if (pSDRING) 865 865 { 866 Lp.p=spSpolyCreate(strat->S[i],p,strat->kNoether );866 Lp.p=spSpolyCreate(strat->S[i],p,strat->kNoether,strat->spSpolyLoop); 867 867 if (Lp.p!=NULL) 868 868 pDelete(&pNext(Lp.p)); -
Singular/misc.cc
r17802f r12310e 792 792 #endif 793 793 #ifndef __OPTIMIZE__ 794 #ifdef __MWERKS__ 795 StringAppend(" Codewarrior 2.0,"); 796 #else 794 797 StringAppend("-g,"); 798 #endif 795 799 #endif 796 800 StringAppend("random=%d\n",siRandomStart); -
Singular/mminit.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mminit.cc,v 1.1 2 1998-05-27 17:14:09 SingularExp $ */4 /* $Id: mminit.cc,v 1.13 1998-10-15 11:46:00 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: init of memory management … … 13 13 #define __USE_MISC 14 14 #include <unistd.h> 15 #ifdef macintosh 16 #include <types.h> 17 #else 15 18 #include <sys/types.h> 19 #endif 16 20 #include "mod2.h" 17 21 #include "mmemory.h" … … 135 139 } 136 140 137 #ifndef HAVE_SMALLGMP138 141 #ifdef MDEBUG 139 142 void * mgAllocBlock( size_t t) … … 150 153 } 151 154 #endif 152 #endif153 155 154 156 #ifdef HAVE_SBRK … … 162 164 int mmInit( void ) 163 165 { 164 #ifndef HAVE_SMALLGMP165 166 if(mmIsInitialized==0) 166 167 { … … 171 172 #endif 172 173 } 173 #endif174 174 mmIsInitialized=1; 175 175 return 1; -
Singular/mod2.h.in
r17802f r12310e 200 200 #elif SIZEOF_EXPONENT == 2 201 201 #define MAX_EXPONENT 0x7fff 202 #else / / SIZEOF_EXPONENT == 4202 #else /* SIZEOF_EXPONENT == 4 */ 203 203 #define MAX_EXPONENT 0x7fffffff 204 204 #endif -
Singular/mpsr_Get.cc
r17802f r12310e 3 3 ****************************************/ 4 4 5 /* $Id: mpsr_Get.cc,v 1.1 8 1998-08-24 14:39:08obachman Exp $ */5 /* $Id: mpsr_Get.cc,v 1.19 1998-10-15 11:46:03 obachman Exp $ */ 6 6 /*************************************************************** 7 7 * … … 46 46 mpsr_leftv mlv); 47 47 static mpsr_Status_t GetPolyLeftv(MP_Link_pt link, MPT_Node_pt node, 48 mpsr_leftv mlv );48 mpsr_leftv mlv, BOOLEAN IsUnOrdered); 49 49 static mpsr_Status_t GetPolyVectorLeftv(MP_Link_pt link, MPT_Node_pt node, 50 mpsr_leftv mlv); 50 mpsr_leftv mlv, 51 BOOLEAN IsUnOrdered = FALSE); 51 52 static mpsr_Status_t GetIdealLeftv(MP_Link_pt link, MPT_Node_pt node, 52 mpsr_leftv mlv );53 mpsr_leftv mlv, BOOLEAN IsUnOrdered = FALSE); 53 54 static mpsr_Status_t GetModuleLeftv(MP_Link_pt link, MPT_Node_pt node, 54 mpsr_leftv mlv );55 mpsr_leftv mlv, BOOLEAN IsUnOrdered = FALSE); 55 56 static mpsr_Status_t GetMatrixLeftv(MP_Link_pt link, MPT_Node_pt node, 56 mpsr_leftv mlv );57 mpsr_leftv mlv, BOOLEAN IsUnOrdered = FALSE); 57 58 static mpsr_Status_t GetMapLeftv(MP_Link_pt link, MPT_Node_pt node, 58 59 mpsr_leftv mlv); … … 89 90 } 90 91 91 inline BOOLEAN IsRingNode(MPT_Node_pt node, ring &r )92 inline BOOLEAN IsRingNode(MPT_Node_pt node, ring &r, BOOLEAN &IsUnOrdered) 92 93 { 93 94 BOOLEAN mv; 94 95 return 95 96 NodeCheck(node, MP_PolyDict, MP_CopPolyRing) && 96 mpsr_GetRingAnnots(node, r, mv ) == MP_Success;97 } 98 99 inline BOOLEAN IsPolyNode(MPT_Node_pt node, ring &r )97 mpsr_GetRingAnnots(node, r, mv, IsUnOrdered) == MP_Success; 98 } 99 100 inline BOOLEAN IsPolyNode(MPT_Node_pt node, ring &r, BOOLEAN &IsUnOrdered) 100 101 { 101 102 BOOLEAN mv; … … 105 106 NodeCheck(node, MP_PolyDict, MP_CopPolyDenseDistPoly) && 106 107 MPT_FindAnnot(node, MP_PolyDict, MP_AnnotPolyModuleVector) == NULL && 107 mpsr_GetRingAnnots(node, r, mv) == MP_Success; 108 } 109 110 inline BOOLEAN IsPolyVectorNode(MPT_Node_pt node, ring &r) 108 mpsr_GetRingAnnots(node, r, mv, IsUnOrdered) == MP_Success; 109 } 110 111 inline BOOLEAN IsPolyVectorNode(MPT_Node_pt node, ring &r, 112 BOOLEAN &IsUnOrdered) 111 113 { 112 114 BOOLEAN mv; … … 116 118 NodeCheck(node, MP_PolyDict, MP_CopPolyDenseDistPoly) && 117 119 MPT_FindAnnot(node, MP_PolyDict, MP_AnnotPolyModuleVector) != NULL && 118 mpsr_GetRingAnnots(node, r, mv) == MP_Success; 119 } 120 121 inline BOOLEAN IsIdealNode(MPT_Node_pt node, ring &r) 120 mpsr_GetRingAnnots(node, r, mv, IsUnOrdered) == MP_Success; 121 } 122 123 inline BOOLEAN IsIdealNode(MPT_Node_pt node, ring &r, 124 BOOLEAN &IsUnOrdered) 122 125 { 123 126 fr(NodeCheck(node, MP_PolyDict, MP_CopPolyIdeal)); … … 128 131 node->type == MP_CommonMetaOperatorType && 129 132 node->numchild == 0 && 130 IsPolyNode(node, r );131 } 132 133 inline BOOLEAN IsModuleNode(MPT_Node_pt node, ring &r )133 IsPolyNode(node, r, IsUnOrdered); 134 } 135 136 inline BOOLEAN IsModuleNode(MPT_Node_pt node, ring &r, BOOLEAN &IsUnOrdered) 134 137 { 135 138 fr(NodeCheck(node, MP_PolyDict, MP_CopPolyModule)); … … 140 143 node->type == MP_CommonMetaOperatorType && 141 144 node->numchild == 0 && 142 IsPolyVectorNode(node, r );143 } 144 145 inline BOOLEAN IsMatrixNode(MPT_Node_pt node, ring &r )145 IsPolyVectorNode(node, r, IsUnOrdered); 146 } 147 148 inline BOOLEAN IsMatrixNode(MPT_Node_pt node, ring &r, BOOLEAN &IsUnOrdered) 146 149 { 147 150 fr(NodeCheck(node, MP_MatrixDict, MP_CopMatrixDenseMatrix)); … … 152 155 node->type == MP_CommonMetaOperatorType && 153 156 node->numchild == 0 && 154 IsPolyNode(node, r );157 IsPolyNode(node, r, IsUnOrdered); 155 158 } 156 159 … … 325 328 // Now mlv is our leftv -- check whether r has an ordering set 326 329 if (mlv.r != NULL && mlv.r->order[0] == ringorder_unspec) 327 { 328 ring r = rCopy(mlv.r); 329 r->order[0] = ringorder_lp; 330 mpsr_rSetOrdSgn(r); 331 mpsr_MapLeftv(mlv.lv, mlv.r, r); 332 rKill(mlv.r); 333 mlv.r = r; 334 } 330 { 331 ring r = rCopy(mlv.r); 332 r->order[0] = ringorder_lp; 333 mpsr_rSetOrdSgn(r); 334 mpsr_MapLeftv(mlv.lv, mlv.r, r); 335 rKill(mlv.r); 336 mlv.r = r; 337 } 338 335 339 mpsr_SetCurrRingHdl(mlv.r); 336 340 … … 406 410 ***************************************************************/ 407 411 mpsr_Status_t mpsr_GetCommonOperatorLeftv(MP_Link_pt link, 408 MPT_Node_pt node,409 mpsr_leftv mlv,410 short quote)412 MPT_Node_pt node, 413 mpsr_leftv mlv, 414 short quote) 411 415 { 412 416 mpsr_assume(node->type == MP_CommonOperatorType); 413 417 BOOLEAN IsUnOrdered; 418 414 419 // Check for Singular data types 415 420 // IntVec … … 420 425 return GetIntMatLeftv(link, node, mlv); 421 426 // Ring 422 else if (IsRingNode(node, mlv->r ))427 else if (IsRingNode(node, mlv->r, IsUnOrdered)) 423 428 return GetRingLeftv(link, node, mlv); 424 429 // Poly 425 else if (IsPolyNode(node, mlv->r ))426 return GetPolyLeftv(link, node, mlv );430 else if (IsPolyNode(node, mlv->r, IsUnOrdered)) 431 return GetPolyLeftv(link, node, mlv, IsUnOrdered); 427 432 // PolyVector 428 else if (IsPolyVectorNode(node, mlv->r ))429 return GetPolyVectorLeftv(link, node, mlv );433 else if (IsPolyVectorNode(node, mlv->r, IsUnOrdered)) 434 return GetPolyVectorLeftv(link, node, mlv, IsUnOrdered); 430 435 // Ideal 431 else if (IsIdealNode(node, mlv->r ))432 return GetIdealLeftv(link, node, mlv );436 else if (IsIdealNode(node, mlv->r, IsUnOrdered)) 437 return GetIdealLeftv(link, node, mlv, IsUnOrdered); 433 438 // Module 434 else if (IsModuleNode(node, mlv->r ))435 return GetModuleLeftv(link, node, mlv );439 else if (IsModuleNode(node, mlv->r, IsUnOrdered)) 440 return GetModuleLeftv(link, node, mlv, IsUnOrdered); 436 441 // Matrix 437 else if (IsMatrixNode(node, mlv->r ))438 return GetMatrixLeftv(link, node, mlv );442 else if (IsMatrixNode(node, mlv->r, IsUnOrdered)) 443 return GetMatrixLeftv(link, node, mlv, IsUnOrdered); 439 444 else if (IsQuitNode(node)) 440 445 return GetQuitLeftv(mlv); … … 549 554 550 555 static mpsr_Status_t GetPolyLeftv(MP_Link_pt link, MPT_Node_pt node, 551 mpsr_leftv mlv)556 mpsr_leftv mlv, BOOLEAN IsUnOrdered) 552 557 { 553 558 poly p; … … 556 561 557 562 failr(mpsr_GetPoly(link, p, node->numchild, mlv->r)); 563 if (IsUnOrdered) p = pOrdPolyMerge(p); 564 pTest(p); 558 565 mlv->lv = mpsr_InitLeftv(POLY_CMD, (void *) p); 559 566 return mpsr_Success; … … 561 568 562 569 static mpsr_Status_t GetPolyVectorLeftv(MP_Link_pt link, MPT_Node_pt node, 563 mpsr_leftv mlv )570 mpsr_leftv mlv, BOOLEAN IsUnOrdered) 564 571 { 565 572 poly p; … … 568 575 569 576 failr(mpsr_GetPolyVector(link, p, node->numchild, mlv->r)); 577 if (IsUnOrdered) p = pOrdPolyMerge(p); 578 pTest(p); 570 579 mlv->lv = mpsr_InitLeftv(VECTOR_CMD, (void *) p); 571 580 return mpsr_Success; … … 573 582 574 583 static mpsr_Status_t GetIdealLeftv(MP_Link_pt link, MPT_Node_pt node, 575 mpsr_leftv mlv )584 mpsr_leftv mlv, BOOLEAN IsUnOrdered) 576 585 { 577 586 MP_NumChild_t nc = node->numchild, i; … … 585 594 mp_failr(IMP_GetUint32(link, &nmon)); 586 595 failr(mpsr_GetPoly(link, id->m[i], nmon, r)); 587 } 588 596 if (IsUnOrdered) id->m[i] = pOrdPolyMerge(id->m[i]); 597 } 598 idTest(id); 589 599 mlv->lv = mpsr_InitLeftv(IDEAL_CMD, (void *) id); 590 600 return mpsr_Success; … … 592 602 593 603 static mpsr_Status_t GetModuleLeftv(MP_Link_pt link, MPT_Node_pt node, 594 mpsr_leftv mlv )604 mpsr_leftv mlv, BOOLEAN IsUnOrdered) 595 605 { 596 606 MP_NumChild_t nc = node->numchild, i; … … 611 621 mp_failr(IMP_GetUint32(link, &nmon)); 612 622 failr(mpsr_GetPolyVector(link, id->m[i], nmon, r)); 623 if (IsUnOrdered) id->m[i] = pOrdPolyMerge(id->m[i]); 613 624 } 614 625 if (rank == 1) 615 626 id->rank = idRankFreeModule(id); 616 627 idTest(id); 617 628 mlv->lv = mpsr_InitLeftv(MODUL_CMD, (void *) id); 618 629 return mpsr_Success; … … 620 631 621 632 static mpsr_Status_t GetMatrixLeftv(MP_Link_pt link, MPT_Node_pt node, 622 mpsr_leftv mlv )633 mpsr_leftv mlv, BOOLEAN IsUnOrdered) 623 634 { 624 635 MP_NumChild_t nc = node->numchild, row = nc, col = 1, i; … … 648 659 mp_failr(IMP_GetUint32(link, &nmon)); 649 660 failr(mpsr_GetPoly(link, mp->m[i], nmon, mlv->r)); 661 if (IsUnOrdered) mp->m[i] = pOrdPolyMerge(mp->m[i]); 650 662 } 651 663 … … 821 833 mpsr_sleftv mlv; 822 834 mpsr_Status_t status; 835 BOOLEAN IsUnOrdered; 823 836 824 837 // we would like to get polys and ideals directly 825 if (IsPolyNode(node, mlv.r ))826 status = GetPolyLeftv(link, node, &mlv );838 if (IsPolyNode(node, mlv.r, IsUnOrdered)) 839 status = GetPolyLeftv(link, node, &mlv, IsUnOrdered); 827 840 // Ideal 828 else if (IsIdealNode(node, mlv.r ))829 status = GetIdealLeftv(link, node, &mlv );841 else if (IsIdealNode(node, mlv.r, IsUnOrdered)) 842 status = GetIdealLeftv(link, node, &mlv, IsUnOrdered); 830 843 else 831 844 return MPT_NotExternalData; -
Singular/mpsr_Get.h
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mpsr_Get.h,v 1. 3 1998-06-02 15:29:59 SingularExp $ */4 /* $Id: mpsr_Get.h,v 1.4 1998-10-15 11:46:03 obachman Exp $ */ 5 5 /*************************************************************** 6 6 * … … 58 58 59 59 // from mpsr_GetPoly.cc 60 extern mpsr_Status_t mpsr_GetRingAnnots(MPT_Node_pt node, ring &r, BOOLEAN &mv); 60 extern mpsr_Status_t mpsr_GetRingAnnots(MPT_Node_pt node, ring &r, 61 BOOLEAN &mv, BOOLEAN &IsUnOrdered); 61 62 extern mpsr_Status_t mpsr_GetPoly(MP_Link_pt link, poly &p, MP_Uint32_t nmon, 62 63 ring cring); -
Singular/mpsr_GetPoly.cc
r17802f r12310e 3 3 ****************************************/ 4 4 5 /* $Id: mpsr_GetPoly.cc,v 1.1 7 1998-05-25 21:17:16obachman Exp $ */5 /* $Id: mpsr_GetPoly.cc,v 1.18 1998-10-15 11:46:04 obachman Exp $ */ 6 6 7 7 /*************************************************************** … … 81 81 static mpsr_Status_t GetProtoTypeAnnot(MPT_Node_pt node, ring r, BOOLEAN mv, 82 82 ring &subring); 83 static mpsr_Status_t GetOrderingAnnot(MPT_Node_pt node, ring r, BOOLEAN mv); 83 static mpsr_Status_t GetOrderingAnnot(MPT_Node_pt node, ring r, BOOLEAN mv, 84 BOOLEAN &IsUnOrdered); 84 85 static mpsr_Status_t GetSimpleOrdering(MPT_Node_pt node, ring r, short i); 85 86 static mpsr_Status_t GetVarNamesAnnot(MPT_Node_pt node, ring r); … … 437 438 pp->next = NULL; 438 439 439 pTest(p);440 440 return mpsr_Success; 441 441 } … … 503 503 pp->next = NULL; 504 504 505 pTest(p);506 505 return mpsr_Success; 507 506 } … … 523 522 // Singular ring (in which case r is the respective ring) or, 524 523 // MP_Failure, if not 525 mpsr_Status_t mpsr_GetRingAnnots(MPT_Node_pt node, ring &r, BOOLEAN &mv) 524 mpsr_Status_t mpsr_GetRingAnnots(MPT_Node_pt node, ring &r, 525 BOOLEAN &mv, BOOLEAN &IsUnOrdered) 526 526 { 527 527 sip_sring r1, *subring; … … 550 550 Warn("GetVarNamesAnnot: using default variable names"); 551 551 552 if (GetOrderingAnnot(node,r, mv ) != mpsr_Success)552 if (GetOrderingAnnot(node,r, mv, IsUnOrdered) != mpsr_Success) 553 553 Warn("GetOrderingAnnot: using unspec ordering"); 554 554 … … 595 595 596 596 static mpsr_Status_t GetProtoTypeAnnot(MPT_Node_pt node, ring r, BOOLEAN mv, 597 ring &subring)597 ring &subring) 598 598 { 599 599 MPT_Annot_pt annot = NULL; … … 694 694 { 695 695 // alg numbers 696 BOOLEAN mv2 ;696 BOOLEAN mv2, IsUnOrdered; 697 697 int i; 698 698 … … 708 708 node->numchild == 0); 709 709 // GetRingAnnots 710 failr(mpsr_GetRingAnnots(node, subring, mv2 ));710 failr(mpsr_GetRingAnnots(node, subring, mv2, IsUnOrdered)); 711 711 // Check whether the ring can be "coerced" to an algebraic number 712 712 falser(subring->ch >= 0 && 713 713 subring->order[0] == ringorder_lp && 714 714 subring->order[2] == 0 && 715 mv2 == FALSE); 715 mv2 == FALSE && 716 IsUnOrdered == FALSE); 716 717 717 718 // Now do the coercion … … 780 781 } 781 782 782 static mpsr_Status_t GetOrderingAnnot(MPT_Node_pt node, ring r, BOOLEAN mv) 783 { 784 MPT_Annot_pt annot = MPT_FindAnnot(node, MP_PolyDict, MP_AnnotPolyOrdering); 783 static mpsr_Status_t GetOrderingAnnot(MPT_Node_pt node, ring r, 784 BOOLEAN mv, BOOLEAN &IsUnOrdered) 785 { 786 MPT_Annot_pt annot = MPT_FindAnnot(node, MP_PolyDict,MP_AnnotPolyOrdering); 785 787 mpsr_Status_t status = mpsr_Success; 786 788 787 if (annot == NULL || annot->value == NULL) status = mpsr_Failure; 789 IsUnOrdered = FALSE; 790 if (annot == NULL || annot->value == NULL) 791 { 792 annot = MPT_FindAnnot(node, MP_PolyDict, MP_AnnotShouldHavePolyOrdering); 793 if (annot == NULL || annot->value == NULL) 794 status = mpsr_Failure; 795 else 796 IsUnOrdered = TRUE; 797 } 788 798 789 799 if (status == mpsr_Success) node = annot->value->node; … … 869 879 } 870 880 else 881 { 882 IsUnOrdered = FALSE; 871 883 r->order[0] = ringorder_unspec; 884 } 872 885 873 886 return mpsr_rSetOrdSgn(r); -
Singular/mpsr_Tok.cc
r17802f r12310e 3 3 ****************************************/ 4 4 5 /* $Id: mpsr_Tok.cc,v 1.1 7 1998-09-08 07:46:34 SingularExp $ */5 /* $Id: mpsr_Tok.cc,v 1.18 1998-10-15 11:46:05 obachman Exp $ */ 6 6 7 7 /*************************************************************** … … 252 252 DUMP_CMD, 253 253 GETDUMP_CMD, 254 STATUS_CMD 254 STATUS_CMD, 255 LIB_CMD 255 256 }; 256 257 -
Singular/polys-impl.h
r17802f r12310e 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: polys-impl.h,v 1.2 3 1998-08-05 14:09:45obachman Exp $ */6 /* $Id: polys-impl.h,v 1.24 1998-10-15 11:46:06 obachman Exp $ */ 7 7 8 8 /*************************************************************** … … 121 121 122 122 #define _pExpIndex(i) \ 123 (pVarOffset > (SIZEOF_LONG / SIZEOF_EXPONENT) - 1 123 (pVarOffset > (SIZEOF_LONG / SIZEOF_EXPONENT) - 1? \ 124 124 pVarOffset - (i) : pVarOffset + (i)) 125 125 #define _pRingExpIndex(r, i) \ 126 ((r)->VarOffset > (SIZEOF_LONG / SIZEOF_EXPONENT) - 1 126 ((r)->VarOffset > (SIZEOF_LONG / SIZEOF_EXPONENT) - 1? \ 127 127 (r)->VarOffset - (i) : (r)->VarOffset + (i)) 128 128 -
Singular/sing_mp.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: sing_mp.cc,v 1.2 0 1998-10-14 10:18:56 obachman Exp $ */4 /* $Id: sing_mp.cc,v 1.21 1998-10-15 11:46:06 obachman Exp $ */ 5 5 6 6 /* … … 29 29 #endif 30 30 31 #define MPSR_DEBUG32 33 31 #ifdef MPSR_DEBUG 34 32 #define MP_SET_LINK_OPTIONS(link) \ … … 470 468 while(1) 471 469 { 470 errorreported = FALSE; 472 471 v = slRead(silink, v); 473 if (feErrors != NULL )472 if (feErrors != NULL && *feErrors != '\0') 474 473 { 475 474 if (v != NULL) v->CleanUp(); 476 475 v = mpsr_InitLeftv(STRING_CMD, (void *) mstrdup(feErrors)); 477 Free(feErrors, feErrorsLen); 478 feErrors = NULL; 476 *feErrors = '\0'; 479 477 } 480 478 -
Singular/spolys.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: spolys.cc,v 1.1 5 1998-09-07 15:25:56 SingularExp $ */4 /* $Id: spolys.cc,v 1.16 1998-10-15 11:46:07 obachman Exp $ */ 5 5 6 6 /* … … 710 710 } 711 711 712 poly spDSpolyCreate(poly p1,poly p2,poly spNoether )712 poly spDSpolyCreate(poly p1,poly p2,poly spNoether, spSpolyLoopProc dummy) 713 713 { 714 714 poly m1=pOne(); -
Singular/tesths.cc
r17802f r12310e 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: tesths.cc,v 1.5 2 1998-09-22 14:09:05 SingularExp $ */4 /* $Id: tesths.cc,v 1.53 1998-10-15 11:46:08 obachman Exp $ */ 5 5 6 6 /* … … 53 53 #define LON_MP_PORT "MPport" 54 54 #define LON_MP_HOST "MPhost" 55 #define LON_NO_WARN "no-warn" 56 #define LON_NO_OUT "no-out" 55 57 // undocumented options 56 58 #ifdef HAVE_MPSR … … 78 80 {LON_NO_STDLIB, 0, 0, LONG_OPTION_RETURN}, 79 81 {LON_NO_RC, 0, 0, LONG_OPTION_RETURN}, 82 {LON_NO_WARN, 0, 0, LONG_OPTION_RETURN}, 83 {LON_NO_OUT, 0, 0, LONG_OPTION_RETURN}, 80 84 {LON_MIN_TIME, 1, 0, LONG_OPTION_RETURN}, 81 85 #ifdef HAVE_MPSR … … 111 115 #endif 112 116 {LON_HELP, 0, "Print help message and exit", 0}, 113 {LON_QUIET, 0, "Do not print start-up banner and warnings", 0},117 {LON_QUIET, 0, "Do not print start-up banner and library load messages", 0}, 114 118 {LON_NO_TTY, 0, "Do not redefine the terminal characteristics", 0}, 115 119 {LON_VERSION, 0, "Print extended version and configuration info", 0}, … … 123 127 {LON_NO_STDLIB, 0, "Do not load `standard.lib' on start-up", 0}, 124 128 {LON_NO_RC, 0, "Do not execute `.singularrc' file on start-up", 0}, 129 {LON_NO_WARN, 0, "Do not display warning messages", 0}, 130 {LON_NO_OUT, 0, "Suppress all output", 0}, 125 131 {LON_MIN_TIME, "SECS", "Do not display times smaller than SECS (in seconds)", "0.5"}, 126 132 #ifdef HAVE_MPSR … … 412 418 load_rc = FALSE; 413 419 mainSetSingOptionValue(LON_NO_RC, (char*) 1); 420 } 421 else if (strcmp(longopts[option_index].name, LON_NO_WARN) == 0) 422 { 423 feWarn = FALSE; 424 mainSetSingOptionValue(LON_NO_WARN, (char*) 1); 425 } 426 else if (strcmp(longopts[option_index].name, LON_NO_OUT) == 0) 427 { 428 feOut = FALSE; 429 mainSetSingOptionValue(LON_NO_OUT, (char*) 1); 414 430 } 415 431 else if (strcmp(longopts[option_index].name, LON_MIN_TIME) == 0) -
Singular/utils.cc
r17802f r12310e 5 5 #include "getopt.h" 6 6 #include "utils.h" 7 #ifdef __MWERKS__ 7 8 #define __GNU_LIBRARY__ 8 9 #include "getopt.h" 10 #endif 9 11 10 12 extern FILE *yylpin;
Note: See TracChangeset
for help on using the changeset viewer.