Changeset 73a7ff in git
- Timestamp:
- May 30, 2006, 9:28:21 AM (17 years ago)
- Branches:
- (u'spielwiese', '91fdef05f09f54b8d58d92a472e9c4a43aa4656f')
- Children:
- d45ad9b4fc43037b47292cb6d24fc9e6f9f539df
- Parents:
- 79da9b20f112d01ae5c92f2e7576c6e09b756c2d
- Location:
- Singular
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/iparith.cc
r79da9b r73a7ff 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: iparith.cc,v 1. 399 2006-05-29 12:34:41Singular Exp $ */4 /* $Id: iparith.cc,v 1.400 2006-05-30 07:28:20 Singular Exp $ */ 5 5 6 6 /* … … 639 639 } 640 640 } 641 static BOOLEAN jjPOWER_BI(leftv res, leftv u, leftv v) 642 { 643 int e=(int)(long)v->Data(); 644 number n=(number)u->Data(); 645 if (e>=0) 646 { 647 nlPower(n,e,(number*)&res->data); 648 } 649 else 650 { 651 WerrorS("exponent must be non-negative"); 652 return TRUE; 653 } 654 if (u!=NULL) return jjOP_REST(res,u,v); 655 return FALSE; 656 } 641 657 static BOOLEAN jjPOWER_N(leftv res, leftv u, leftv v) 642 658 { 643 659 int e=(int)(long)v->Data(); 644 number n=(number)u->CopyD(NUMBER_CMD); 660 number n=(number)u->Data(); 661 int d=0; 645 662 if (e<0) 646 663 { 647 number m=nInvers(n); 648 nDelete(&n); 649 n=m; 664 n=nInvers(n); 650 665 e=-e; 666 d=1; 651 667 } 652 668 nPower(n,e,(number*)&res->data); 653 nDelete(&n);669 if (d) nDelete(&n); 654 670 if (u!=NULL) return jjOP_REST(res,u,v); 655 671 return FALSE; … … 2838 2854 ,{jjMOD_N, INTMOD_CMD, NUMBER_CMD, NUMBER_CMD, NUMBER_CMD ALLOW_PLURAL} 2839 2855 ,{jjPOWER_I, '^', INT_CMD, INT_CMD, INT_CMD ALLOW_PLURAL} 2856 ,{jjPOWER_BI, '^', BIGINT_CMD, BIGINT_CMD, INT_CMD ALLOW_PLURAL} 2840 2857 ,{jjPOWER_N, '^', NUMBER_CMD, NUMBER_CMD, INT_CMD ALLOW_PLURAL} 2841 2858 ,{jjPOWER_P, '^', POLY_CMD, POLY_CMD, INT_CMD ALLOW_PLURAL} … … 4413 4430 static BOOLEAN jjnInt(leftv res, leftv u) 4414 4431 { 4415 number n=(number)u-> CopyD(NUMBER_CMD);4432 number n=(number)u->Data(); 4416 4433 res->data=(char *)nInt(n); 4417 nDelete(&n); 4434 return FALSE; 4435 } 4436 static BOOLEAN jjnlInt(leftv res, leftv u) 4437 { 4438 number n=(number)u->Data(); 4439 res->data=(char *)nlInt(n); 4418 4440 return FALSE; 4419 4441 } … … 4444 4466 ,{jjBETTI, BETTI_CMD, INTMAT_CMD, IDEAL_CMD ALLOW_PLURAL} 4445 4467 ,{jjBETTI, BETTI_CMD, INTMAT_CMD, MODUL_CMD ALLOW_PLURAL} 4468 ,{jjDUMMY, BIGINT_CMD, BIGINT_CMD, BIGINT_CMD ALLOW_PLURAL} 4446 4469 ,{jjCHAR, CHARACTERISTIC_CMD, INT_CMD, RING_CMD ALLOW_PLURAL} 4447 4470 ,{jjCHAR, CHARACTERISTIC_CMD, INT_CMD, QRING_CMD ALLOW_PLURAL} … … 4530 4553 ,{jjINDEPSET, INDEPSET_CMD, INTVEC_CMD, IDEAL_CMD NO_PLURAL} 4531 4554 ,{jjDUMMY, INT_CMD, INT_CMD, INT_CMD ALLOW_PLURAL} 4555 ,{jjnlInt, INT_CMD, INT_CMD, BIGINT_CMD ALLOW_PLURAL} 4532 4556 ,{jjnInt, INT_CMD, INT_CMD, NUMBER_CMD ALLOW_PLURAL} 4533 4557 ,{jjP2I, INT_CMD, INT_CMD, POLY_CMD ALLOW_PLURAL} -
Singular/ipassign.cc
r79da9b r73a7ff 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: ipassign.cc,v 1.8 1 2005-10-24 12:21:41 Singular Exp $ */4 /* $Id: ipassign.cc,v 1.82 2006-05-30 07:28:21 Singular Exp $ */ 5 5 6 6 /* … … 26 26 #include "ring.h" 27 27 #include "subexpr.h" 28 #include "lists.h" 28 29 #include "numbers.h" 29 #include "lists.h"30 //#include "modulop.h" 30 31 #include "longalg.h" 31 32 #include "stairc.h" … … 283 284 if (res->data!=NULL) nDelete((number *)&res->data); 284 285 nNormalize(p); 286 res->data=(void *)p; 287 jiAssignAttr(res,a); 288 return FALSE; 289 } 290 static BOOLEAN jiA_BIGINT(leftv res, leftv a, Subexpr e) 291 { 292 number p=(number)a->CopyD(BIGINT_CMD); 293 if (res->data!=NULL) nlDelete((number *)&res->data,NULL); 285 294 res->data=(void *)p; 286 295 jiAssignAttr(res,a); … … 602 611 ,{jiA_INTVEC, INTMAT_CMD, INTMAT_CMD } 603 612 ,{jiA_NUMBER, NUMBER_CMD, NUMBER_CMD } 613 ,{jiA_BIGINT, BIGINT_CMD, BIGINT_CMD } 604 614 ,{jiA_LIST_RES, LIST_CMD, RESOLUTION_CMD } 605 615 ,{jiA_LIST, LIST_CMD, LIST_CMD }
Note: See TracChangeset
for help on using the changeset viewer.