Changeset a79a128 in git
- Timestamp:
- Apr 17, 1999, 4:58:54 PM (24 years ago)
- Branches:
- (u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
- Children:
- a30caa3e79912e5d42b9d62c6d2e1aa1239e5486
- Parents:
- b45d9738be1be20b4a90b80e61feae602bc1558d
- Location:
- Singular
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/clapsing.cc
rb45d97 ra79a128 3 3 * Computer Algebra System SINGULAR * 4 4 ****************************************/ 5 // $Id: clapsing.cc,v 1. 49 1999-04-17 12:30:16 SingularExp $5 // $Id: clapsing.cc,v 1.50 1999-04-17 14:58:38 obachman Exp $ 6 6 /* 7 7 * ABSTRACT: interface between Singular and factory … … 609 609 //#ifdef LDEBUG 610 610 //number cn=(number)c; 611 //StringSet (""); nWrite(nt); StringAppendS(" ==> ");612 //nWrite(cn);PrintS(StringAppend S("\n"));611 //StringSetS(""); nWrite(nt); StringAppend(" ==> "); 612 //nWrite(cn);PrintS(StringAppend("\n")); 613 613 //#endif 614 614 } … … 917 917 List<int> IL=neworderint(L); 918 918 ListIterator<int> Li; 919 StringSet ("");919 StringSetS(""); 920 920 Li = IL; 921 921 int offs=rPar(currRing); -
Singular/configure
rb45d97 ra79a128 2823 2823 fi 2824 2824 2825 for ac_func in gettimeofday atexit bcopy getcwd getwd sbrk readlink sleep usleep valloc getpagesize2825 for ac_func in gettimeofday atexit bcopy getcwd getwd vsnprintf sbrk readlink sleep usleep valloc getpagesize 2826 2826 do 2827 2827 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -
Singular/configure.in
rb45d97 ra79a128 312 312 AC_TYPE_SIGNAL 313 313 AC_FUNC_VPRINTF 314 AC_CHECK_FUNCS(gettimeofday atexit bcopy getcwd getwd sbrk readlink sleep usleep valloc getpagesize)314 AC_CHECK_FUNCS(gettimeofday atexit bcopy getcwd getwd vsnprintf sbrk readlink sleep usleep valloc getpagesize) 315 315 316 316 dnl llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll -
Singular/febase.cc
rb45d97 ra79a128 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: febase.cc,v 1.7 0 1998-12-02 13:57:25 obachman Exp $ */4 /* $Id: febase.cc,v 1.71 1999-04-17 14:58:45 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: i/o system … … 778 778 va_list ap; 779 779 char *s = feBufferStart; /*feBuffer + strlen(feBuffer);*/ 780 int more ;780 int more, vs; 781 781 va_start(ap, fmt); 782 782 if ((more=feBufferStart-feBuffer+strlen(fmt)+100)>feBufferLength) … … 797 797 feBufferStart =s; 798 798 #else 799 #ifdef HAVE_VSNPRINTF 800 vs = vsnprintf(s, feBufferLength - (feBufferStart - feBuffer), fmt, ap); 801 if (vs == -1) 802 { 803 assume(0); 804 feBufferStart = feBuffer + feBufferLength -1; 805 } 806 else 807 { 808 feBufferStart += vs; 809 } 810 #else 799 811 feBufferStart += vsprintf(s, fmt, ap); 800 812 #endif 813 #endif 814 mmTest(feBuffer, feBufferLength); 801 815 va_end(ap); 802 816 return feBuffer; … … 818 832 strcat(feBufferStart, st); 819 833 feBufferStart +=l; 820 return feBuffer;821 }822 823 char * StringSet(char *fmt, ...)824 {825 va_list ap;826 char *s = feBuffer;827 va_start(ap, fmt);828 #ifdef BSD_SPRINTF829 vsprintf(s, fmt, ap);830 while (*s!='\0') s++;831 feBufferStart = s;832 #else833 feBufferStart = feBuffer + vsprintf(s, fmt, ap);834 #endif835 va_end(ap);836 834 return feBuffer; 837 835 } … … 1004 1002 #endif 1005 1003 1004 // some routines which redirect the output of print to a string 1005 static char* sprint = NULL; 1006 void SPrintStart() 1007 { 1008 sprint = mstrdup(""); 1009 } 1010 1011 static void SPrintS(char* s) 1012 { 1013 if (s == NULL) return; 1014 int ls = strlen(s); 1015 if (ls == 0) return; 1016 1017 char* ns; 1018 int l = strlen(sprint); 1019 ns = (char*) AllocL((l + ls + 1)*sizeof(char)); 1020 if (l > 0) strcpy(ns, sprint); 1021 1022 strcpy(&(ns[l]), s); 1023 FreeL(sprint); 1024 sprint = ns; 1025 } 1026 1027 char* SPrintEnd() 1028 { 1029 char* ns = sprint; 1030 sprint = NULL; 1031 return ns; 1032 } 1033 1034 // Print routines 1006 1035 extern "C" { 1007 1036 void PrintS(char *s) 1008 1037 { 1038 if (sprint != NULL) 1039 { 1040 SPrintS(s); 1041 return; 1042 } 1043 1009 1044 if (feOut) /* do not print when option --no-out was given */ 1010 1045 { … … 1043 1078 void Print(char *fmt, ...) 1044 1079 { 1080 if (sprint != NULL) 1081 { 1082 int ls = strlen(fmt); 1083 va_list ap; 1084 va_start(ap, fmt); 1085 if (fmt != NULL && ls > 0) 1086 { 1087 char* ns; 1088 int l = strlen(sprint); 1089 ns = (char*) AllocL(sizeof(char)*(ls + l + 256)); 1090 if (l > 0) strcpy(ns, sprint); 1091 1092 #ifdef HAVE_VSNPRINTF 1093 l = vsnprintf(&(ns[l]), ls+255, fmt, ap); 1094 assume(l != -1); 1095 #else 1096 vsprintf(&(ns[l]), fmt, ap); 1097 #endif 1098 mmTestL(ns); 1099 FreeL(sprint); 1100 sprint = ns; 1101 } 1102 va_end(ap); 1103 return; 1104 } 1045 1105 if (feOut) 1046 1106 { -
Singular/febase.h
rb45d97 ra79a128 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: febase.h,v 1.2 7 1999-03-16 15:33:05 SingularExp $ */6 /* $Id: febase.h,v 1.28 1999-04-17 14:58:46 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT: basic i/o … … 124 124 char * StringAppend(char *fmt, ...); 125 125 char * StringAppendS(char *s); 126 char * StringSet(char *fmt, ...);127 126 char * StringSetS(char* s); 128 127 const char * VoiceName(); … … 193 192 #endif 194 193 #endif 194 195 /* everything in between calls to these procedures is printed into a string 196 * which is returned by SprintEnd() 197 */ 198 void SPrintStart(); 199 char* SPrintEnd(); -
Singular/iparith.cc
rb45d97 ra79a128 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: iparith.cc,v 1.14 2 1999-04-16 07:53:37 obachman Exp $ */4 /* $Id: iparith.cc,v 1.143 1999-04-17 14:58:47 obachman Exp $ */ 5 5 6 6 /* … … 2214 2214 ,{jjPARSTR2, PARSTR_CMD, STRING_CMD, RING_CMD, INT_CMD PROFILER} 2215 2215 ,{jjPARSTR2, PARSTR_CMD, STRING_CMD, QRING_CMD, INT_CMD PROFILER} 2216 ,{jjPRINT_FORMAT, PRINT_CMD, NONE,DEF_CMD, STRING_CMD PROFILER}2216 ,{jjPRINT_FORMAT, PRINT_CMD, ANY_TYPE, DEF_CMD, STRING_CMD PROFILER} 2217 2217 ,{jjQUOT, QUOTIENT_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD PROFILER} 2218 2218 ,{jjQUOT, QUOTIENT_CMD, MODUL_CMD, MODUL_CMD, IDEAL_CMD PROFILER} … … 3469 3469 ,{jjLEADMONOM, LEADMONOM_CMD, VECTOR_CMD, VECTOR_CMD } 3470 3470 ,{jjLIB, LIB_CMD, NONE, STRING_CMD } 3471 ,{jjDUMMY, LINK_CMD, LINK_CMD, LINK_CMD} 3471 3472 ,{jjCALL1MANY, LIST_CMD, LIST_CMD, DEF_CMD } 3472 3473 ,{jjWRONG, MAP_CMD, 0, ANY_TYPE} … … 3505 3506 ,{jjDUMMY, POLY_CMD, POLY_CMD, POLY_CMD } 3506 3507 ,{jjPRIME, PRIME_CMD, INT_CMD, INT_CMD } 3507 ,{jjPRINT_GEN, PRINT_CMD, NONE, INT_CMD } 3508 ,{jjPRINT_INTVEC,PRINT_CMD, NONE, INTVEC_CMD } 3509 ,{jjPRINT_INTMAT,PRINT_CMD, NONE, INTMAT_CMD } 3510 ,{jjPRINT_GEN, PRINT_CMD, NONE, STRING_CMD } 3511 ,{jjPRINT_GEN, PRINT_CMD, NONE, POLY_CMD } 3512 ,{jjPRINT_V, PRINT_CMD, NONE, VECTOR_CMD } 3513 ,{jjPRINT_GEN, PRINT_CMD, NONE, IDEAL_CMD } 3514 ,{jjPRINT_MA, PRINT_CMD, NONE, MATRIX_CMD } 3515 ,{jjPRINT_LIST, PRINT_CMD, NONE, LIST_CMD } 3516 ,{jjPRINT_GEN, PRINT_CMD, NONE, RESOLUTION_CMD } 3508 ,{jjPRINT, PRINT_CMD, NONE, LIST_CMD} 3509 ,{jjPRINT, PRINT_CMD, NONE, DEF_CMD} 3517 3510 ,{jjidMinEmbedding, PRUNE_CMD, XS(MODUL_CMD), MODUL_CMD } 3518 3511 ,{kQHWeight, QHWEIGHT_CMD, INTVEC_CMD, IDEAL_CMD } … … 3524 3517 ,{jjL2R, RESOLUTION_CMD, RESOLUTION_CMD, LIST_CMD } 3525 3518 ,{jjDUMMY, RESOLUTION_CMD, RESOLUTION_CMD, RESOLUTION_CMD } 3519 ,{jjDUMMY, RING_CMD, RING_CMD, RING_CMD} 3526 3520 ,{jjWRONG, ROWS_CMD, 0, POLY_CMD } 3527 3521 ,{jjpMaxComp, ROWS_CMD, XS(INT_CMD), VECTOR_CMD } … … 5318 5312 iiOp=op; 5319 5313 int i=iiTabIndex(dArithTab1,JJTAB1LEN,op); 5314 int ti = i; 5320 5315 while (dArith1[i].cmd==op) 5321 5316 { … … 5351 5346 int ai; 5352 5347 leftv an = (leftv)Alloc0(sizeof(sleftv)); 5353 i= iiTabIndex(dArithTab1,JJTAB1LEN,op);5348 i=ti; 5354 5349 //Print("fuer %c , typ: %s\n",op,Tok2Cmdname(at)); 5355 5350 while (dArith1[i].cmd==op) … … 5385 5380 else 5386 5381 { 5382 if (an->Next() != NULL) 5383 { 5384 res->next = (leftv)Alloc(sizeof(sleftv)); 5385 failed=iiExprArith1(res->next,an->next,op); 5386 } 5387 5387 // everything ok, clean up and return 5388 5388 an->CleanUp(); 5389 5389 Free((ADDRESS)an,sizeof(sleftv)); 5390 5390 a->CleanUp(); 5391 return FALSE;5391 return failed; 5392 5392 } 5393 5393 } … … 5406 5406 else 5407 5407 { 5408 i= iiTabIndex(dArithTab1,JJTAB1LEN,op);5408 i=ti; 5409 5409 char *s = iiTwoOps(op); 5410 5410 Werror("%s(`%s`) is not supported" … … 5801 5801 int e=len; 5802 5802 int p=len/2; 5803 while ( a!=e)5803 do 5804 5804 { 5805 5805 if (op==dArithTab[p].cmd) return dArithTab[p].start; 5806 else if (op<dArithTab[p].cmd) 5807 { e=p; p=a+(e-a)/2;} 5808 else 5809 { a=p; p=p+(e-p)/2; } 5810 } 5811 #endif 5806 if (op<dArithTab[p].cmd) e=p-1; 5807 else a = p+1; 5808 p=a+(e-a)/2; 5809 } 5810 while ( a <= e); 5811 5812 #endif 5813 assume(0); 5812 5814 return -1; 5813 5815 } -
Singular/ipprint.cc
rb45d97 ra79a128 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipprint.cc,v 1. 9 1999-04-17 12:30:18 SingularExp $ */4 /* $Id: ipprint.cc,v 1.10 1999-04-17 14:58:49 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: interpreter: printing … … 18 18 #include "ipshell.h" 19 19 #include "ipprint.h" 20 #include "ideals.h" 20 21 21 22 /*2 22 23 * print for: int, string, poly, vector, ideal 23 24 */ 24 BOOLEAN jjPRINT_GEN(leftv res, leftv u)25 {26 char *s=u->String();27 if (s==NULL) return TRUE;28 PrintS(s);29 PrintLn();30 FreeL((ADDRESS)s);31 return FALSE;32 }33 34 /*235 * print for: list36 */37 BOOLEAN jjPRINT_LIST(leftv res, leftv u)38 {39 u->Print();40 return FALSE;41 }42 43 25 /*2 44 26 * print for: intvec 45 27 */ 46 BOOLEAN jjPRINT_INTVEC(leftv res,leftv u)28 static BOOLEAN ipPrint_INTVEC(leftv u) 47 29 { 48 30 intvec *v=(intvec *)u->Data(); … … 55 37 * print for: intmat 56 38 */ 57 BOOLEAN jjPRINT_INTMAT(leftv res,leftv u)39 static BOOLEAN ipPrint_INTMAT(leftv u) 58 40 { 59 41 intvec *v=(intvec *)u->Data(); … … 73 55 * internal print for: matrix 74 56 */ 75 void jjPRINT_MA0(matrix m, const char *name)57 static void ipPrint_MA0(matrix m, const char *name) 76 58 { 77 59 if (MATCOLS(m)>0) … … 196 178 * print for: matrix 197 179 */ 198 BOOLEAN jjPRINT_MA(leftv res,leftv u)180 static BOOLEAN ipPrint_MA(leftv u) 199 181 { 200 182 matrix m=(matrix)u->Data(); 201 jjPRINT_MA0(m,u->Fullname());183 ipPrint_MA0(m,u->Fullname()); 202 184 return FALSE; 203 185 } … … 206 188 * print for: vector 207 189 */ 208 BOOLEAN jjPRINT_V(leftv res,leftv u)190 static BOOLEAN ipPrint_V(leftv u) 209 191 { 210 192 polyset m=NULL; … … 232 214 } 233 215 216 BOOLEAN jjPRINT(leftv res, leftv u) 217 { 218 switch(u->Typ()) 219 { 220 case INTVEC_CMD: 221 return ipPrint_INTVEC(u); 222 223 case INTMAT_CMD: 224 return ipPrint_INTMAT(u); 225 226 case MATRIX_CMD: 227 return ipPrint_MA(u); 228 229 case IDEAL_CMD: 230 { 231 char* s = u->String(); 232 PrintS(s); 233 PrintLn(); 234 FreeL(s); 235 return FALSE; 236 } 237 238 case MODUL_CMD: 239 { 240 matrix m = idModule2Matrix(idCopy((ideal) u->Data())); 241 ipPrint_MA0(m, u->Fullname()); 242 idDelete((ideal *) &m); 243 return FALSE; 244 } 245 246 case VECTOR_CMD: 247 return ipPrint_V(u); 248 249 default: 250 u->Print(); 251 return FALSE; 252 } 253 } 254 255 234 256 /*2 235 257 * dbprint … … 252 274 hh=h->next; 253 275 h->next=NULL; 254 if ( iiExprArith1(res,h,PRINT_CMD)) return TRUE;276 if (jjPRINT(res, h)) return TRUE; 255 277 h->next=hh; 256 278 h=hh; … … 260 282 } 261 283 284 static void ipPrintBetti(leftv u) 285 { 286 int i,j; 287 intvec * betti=(intvec *)u->Data(); 288 // head line -------------------------------------------------------- 289 PrintS(" "); // 6 spaces for no. and : 290 for(j=0;j<betti->cols();j++) Print(" %5d",j); // 6 spaces pro column 291 PrintS("\n------"); // 6 spaces for no. and : 292 for(j=0;j<betti->cols();j++) PrintS("------"); // 6 spaces pro column 293 PrintLn(); 294 // the table -------------------------------------------------------- 295 for(i=0;i<betti->rows();i++) 296 { 297 Print("%5d:",i); 298 for(j=1;j<=betti->cols();j++) 299 { 300 Print(" %5d",IMATELEM(*betti,i+1,j)); 301 } 302 PrintLn(); 303 } 304 // sum -------------------------------------------------------------- 305 PrintS("------"); // 6 spaces for no. and : 306 for(j=0;j<betti->cols();j++) PrintS("------"); // 6 spaces pro column 307 PrintS("\ntotal:"); 308 for(j=0;j<betti->cols();j++) 309 { 310 int s=0; 311 for(i=0;i<betti->rows();i++) 312 { 313 s+=IMATELEM(*betti,i+1,j+1); 314 } 315 Print(" %5d",s); // 6 spaces pro column 316 } 317 PrintLn(); 318 } 319 320 262 321 /*2 263 322 * print(...,"format") … … 268 327 if ((u->Typ()==INTMAT_CMD)&&(strcmp((char *)v->Data(),"betti")==0)) 269 328 { 270 int i,j; 271 intvec * betti=(intvec *)u->Data(); 272 // head line -------------------------------------------------------- 273 PrintS(" "); // 6 spaces for no. and : 274 for(j=0;j<betti->cols();j++) Print(" %5d",j); // 6 spaces pro column 275 PrintS("\n------"); // 6 spaces for no. and : 276 for(j=0;j<betti->cols();j++) PrintS("------"); // 6 spaces pro column 277 PrintLn(); 278 // the table -------------------------------------------------------- 279 for(i=0;i<betti->rows();i++) 280 { 281 Print("%5d:",i); 282 for(j=1;j<=betti->cols();j++) 283 { 284 Print(" %5d",IMATELEM(*betti,i+1,j)); 285 } 286 PrintLn(); 287 } 288 // sum -------------------------------------------------------------- 289 PrintS("------"); // 6 spaces for no. and : 290 for(j=0;j<betti->cols();j++) PrintS("------"); // 6 spaces pro column 291 PrintS("\ntotal:"); 292 for(j=0;j<betti->cols();j++) 293 { 294 int s=0; 295 for(i=0;i<betti->rows();i++) 296 { 297 s+=IMATELEM(*betti,i+1,j+1); 298 } 299 Print(" %5d",s); // 6 spaces pro column 300 } 301 PrintLn(); 329 ipPrintBetti(u); 330 res->data = NULL; 331 res->rtyp = NONE; 302 332 return FALSE; 303 333 } 304 334 /* ======================== end betti ================================= */ 305 335 306 return jjPRINT_GEN(res,u); 307 } 336 if (strcmp((char *)v->Data(),"%s") == 0) 337 { 338 res->data = (char*) u->String(); 339 } 340 else if (strcmp((char *)v->Data(),"%;") == 0) 341 { 342 SPrintStart(); 343 u->Print(); 344 res->data = SPrintEnd(); 345 } 346 else if (strcmp((char *)v->Data(),"%p") == 0) 347 { 348 SPrintStart(); 349 iiExprArith1(res, u, PRINT_CMD); 350 res->data = SPrintEnd(); 351 } 352 else if (strcmp((char *)v->Data(),"%b") == 0 && (u->Typ()==INTMAT_CMD)) 353 { 354 SPrintStart(); 355 ipPrintBetti(u); 356 res->data = SPrintEnd(); 357 } 358 else 359 { 360 res->data = u->String(); 361 } 362 363 res->rtyp = STRING_CMD; 364 return FALSE; 365 } 366 367 368 369 370 371 372 373 374 375 376 377 378 379 -
Singular/ipprint.h
rb45d97 ra79a128 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: ipprint.h,v 1. 3 1997-04-09 12:19:50 SingularExp $ */6 /* $Id: ipprint.h,v 1.4 1999-04-17 14:58:50 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT: interpreter: printing … … 10 10 #include "structs.h" 11 11 12 BOOLEAN jjPRINT_GEN(leftv res, leftv u); 13 BOOLEAN jjPRINT_INTVEC(leftv res, leftv u); 14 BOOLEAN jjPRINT_INTMAT(leftv res, leftv u); 15 BOOLEAN jjPRINT_MA(leftv res, leftv u); 16 void jjPRINT_MA0(matrix m, const char *name); 17 BOOLEAN jjPRINT_V(leftv res, leftv u); 18 BOOLEAN jjPRINT_LIST(leftv res, leftv u); 12 BOOLEAN jjPRINT(leftv res, leftv u); 13 BOOLEAN jjPRINT_FORMAT(leftv res, leftv u, leftv v); 19 14 BOOLEAN jjDBPRINT(leftv res, leftv u); 20 BOOLEAN jjPRINT_FORMAT(leftv res, leftv u, leftv v);21 15 #endif 22 16 -
Singular/ipshell.cc
rb45d97 ra79a128 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipshell.cc,v 1.4 0 1999-04-17 12:30:18 SingularExp $ */4 /* $Id: ipshell.cc,v 1.41 1999-04-17 14:58:50 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: … … 498 498 int j,jj = MATCOLS(im); 499 499 poly *pp = im->m; 500 char *s=StringSet ("");500 char *s=StringSetS(""); 501 501 502 502 for (i=0; i<ii; i++) -
Singular/lists.cc
rb45d97 ra79a128 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: lists.cc,v 1.1 3 1999-04-16 07:53:39obachman Exp $ */4 /* $Id: lists.cc,v 1.14 1999-04-17 14:58:51 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: handling of the list type … … 354 354 } 355 355 356 char* lString(lists l )356 char* lString(lists l, BOOLEAN typed, int dim) 357 357 { 358 358 if (l->nr == -1) return mstrdup(""); -
Singular/lists.h
rb45d97 ra79a128 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: lists.h,v 1. 7 1999-04-16 07:53:40obachman Exp $ */6 /* $Id: lists.h,v 1.8 1999-04-17 14:58:52 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT: handling of the list type … … 56 56 BOOLEAN lAdd(leftv res, leftv u, leftv v); 57 57 BOOLEAN lRingDependend(lists L); 58 char* lString(lists L);58 char* lString(lists l, BOOLEAN typed = FALSE, int dim = 1); 59 59 60 60 -
Singular/misc.cc
rb45d97 ra79a128 656 656 BITSET tmp; 657 657 int i; 658 StringSet ("");658 StringSetS(""); 659 659 if ((test!=0)||(verbose!=0)) 660 660 { … … 684 684 } 685 685 PrintTCLS('O',StringAppendS("")); 686 StringSet ("");686 StringSetS(""); 687 687 } 688 688 else … … 700 700 BITSET tmp; 701 701 702 StringSet ("//options:");702 StringSetS("//options:"); 703 703 if ((test!=0)||(verbose!=0)) 704 704 { … … 743 743 char * versionString() 744 744 { 745 StringSet ("\t");745 StringSetS("\t"); 746 746 #ifdef HAVE_FACTORY 747 747 StringAppend("factory(%s),", factoryVersion); -
Singular/mod2.h.in
rb45d97 ra79a128 81 81 /* Define if you have the getwd function. */ 82 82 #undef HAVE_GETWD 83 /* Define if you have snprintf */ 84 #undef HAVE_VSNPRINTF 83 85 /* Define if you have sbrk */ 84 86 #undef HAVE_SBRK -
Singular/subexpr.cc
rb45d97 ra79a128 638 638 } 639 639 640 char * sleftv::String(void *d, BOOLEAN func)640 char * sleftv::String(void *d, BOOLEAN typed, int dim) 641 641 { 642 642 #ifdef SIQ … … 669 669 s=(char *)AllocL(MAX_INT_LEN+2); 670 670 sprintf(s,"%d",(int)d); 671 return s;671 break; 672 672 case STRING_CMD: 673 if (d != NULL) return mstrdup((char*)d); 674 return mstrdup(""); 673 if (d != NULL) s = mstrdup((char*)d); 674 else s = mstrdup(""); 675 break; 675 676 case POLY_CMD: 676 677 case VECTOR_CMD: 677 s = pString((poly)d);678 s = mstrdup(pString((poly)d)); 678 679 break; 679 680 case NUMBER_CMD: … … 700 701 } 701 702 s = StringAppendS(""); 703 s = mstrdup(s); 702 704 break; 703 705 case MATRIX_CMD: 704 s= iiStringMatrix((matrix)d,1);706 s= mstrdup(iiStringMatrix((matrix)d,dim)); 705 707 break; 706 708 case MODUL_CMD: 707 709 case IDEAL_CMD: 708 710 case MAP_CMD: 709 s= iiStringMatrix((matrix)d,1);711 s= mstrdup(iiStringMatrix((matrix)d,dim)); 710 712 break; 711 713 case INTVEC_CMD: … … 713 715 { 714 716 intvec *v=(intvec *)d; 715 return v->String(1); 717 s = v->String(dim); 718 break; 716 719 } 717 720 case RING_CMD: 718 721 { 719 return rString((ring)d); 722 s = rString((ring)d); 723 break; 720 724 } 721 725 case QRING_CMD: … … 726 730 sprintf(s, "%s,(%s)", r, i); 727 731 FreeL(r); 728 return s; 729 } 730 732 break; 733 } 731 734 case RESOLUTION_CMD: 732 735 { 733 736 lists l = syConvRes((syStrategy)d); 734 s = lString(l );737 s = lString(l, typed, dim); 735 738 l->Clean(); 736 return (s);739 break; 737 740 } 738 741 case PROC_CMD: … … 740 743 procinfo* pi = (procinfo*) d; 741 744 if((pi->language == LANG_SINGULAR) && (pi->data.s.body!=NULL)) 742 returnmstrdup(pi->data.s.body);745 s = mstrdup(pi->data.s.body); 743 746 else 744 return mstrdup(""); 747 s = mstrdup(""); 748 break; 745 749 } 746 750 747 751 case LINK_CMD: 748 752 { 749 return slString((si_link) d); 750 } 751 case DEF_CMD: 752 { 753 return mstrdup(""); 753 s = slString((si_link) d); 754 break; 754 755 } 755 756 756 757 case LIST_CMD: 757 758 { 758 return lString((lists) d);759 s = lString((lists) d, typed, dim); 759 760 } 760 761 default: … … 764 765 return mstrdup(""); 765 766 } /* end switch: (Typ()) */ 766 return mstrdup(s); 767 768 return s; 767 769 } 768 770 return mstrdup(""); -
Singular/subexpr.h
rb45d97 ra79a128 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: subexpr.h,v 1.1 6 1999-04-16 07:53:44 obachman Exp $ */6 /* $Id: subexpr.h,v 1.17 1999-04-17 14:58:54 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT: handling of leftv … … 60 60 void Print(leftv store=NULL,int spaces=0); 61 61 void CleanUp(); 62 char * String(void *d=NULL, BOOLEAN func = FALSE);62 char * String(void *d=NULL, BOOLEAN typed = FALSE, int dim = 1); 63 63 void Copy(leftv e); 64 64 void * CopyD();
Note: See TracChangeset
for help on using the changeset viewer.