- Timestamp:
- May 29, 2006, 2:35:09 PM (18 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
- Children:
- f06d10c42ba650766e1cc962deb5435f3c72d9f3
- Parents:
- 03b1a7285ca5db618ee83e8eec33fc10554e6992
- Location:
- Singular
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/iparith.cc
r03b1a72 rd7626fe 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: iparith.cc,v 1.39 8 2006-05-19 10:38:53 brickenExp $ */4 /* $Id: iparith.cc,v 1.399 2006-05-29 12:34:41 Singular Exp $ */ 5 5 6 6 /* … … 164 164 { "bareiss", 0, BAREISS_CMD , CMD_123}, 165 165 { "betti", 0, BETTI_CMD , CMD_12}, 166 { "bigint", 0, BIGINT_CMD , ROOT_DECL}, 166 167 #ifdef HAVE_PLURAL 167 168 { "bracket", 0, BRACKET_CMD , CMD_2}, … … 790 791 return jjPLUSMINUS_Gen(res,u,v); 791 792 } 793 static BOOLEAN jjPLUS_BI(leftv res, leftv u, leftv v) 794 { 795 res->data = (char *)(nlAdd((number)u->Data(), (number)v->Data())); 796 return jjPLUSMINUS_Gen(res,u,v); 797 } 792 798 static BOOLEAN jjPLUS_N(leftv res, leftv u, leftv v) 793 799 { … … 863 869 return jjPLUSMINUS_Gen(res,u,v); 864 870 } 871 static BOOLEAN jjMINUS_BI(leftv res, leftv u, leftv v) 872 { 873 res->data = (char *)(nlSub((number)u->Data(), (number)v->Data())); 874 return jjPLUSMINUS_Gen(res,u,v); 875 } 865 876 static BOOLEAN jjMINUS_N(leftv res, leftv u, leftv v) 866 877 { … … 906 917 return FALSE; 907 918 } 919 static BOOLEAN jjTIMES_BI(leftv res, leftv u, leftv v) 920 { 921 res->data = (char *)(nlMult( (number)u->Data(), (number)v->Data())); 922 if ((v->next!=NULL) || (u->next!=NULL)) 923 return jjOP_REST(res,u,v); 924 return FALSE; 925 } 908 926 static BOOLEAN jjTIMES_N(leftv res, leftv u, leftv v) 909 927 { … … 1076 1094 } 1077 1095 res->data=(void *)r; 1096 return FALSE; 1097 } 1098 static BOOLEAN jjDIV_BI(leftv res, leftv u, leftv v) 1099 { 1100 number q=(number)v->Data(); 1101 if (nlIsZero(q)) 1102 { 1103 WerrorS(ii_div_by_0); 1104 return TRUE; 1105 } 1106 q = nlIntDiv((number)u->Data(),q); 1107 nlNormalize(q); 1108 res->data = (char *)q; 1078 1109 return FALSE; 1079 1110 } … … 2644 2675 assumeStdFlag(u); 2645 2676 ideal i1=(ideal)(u->Data()); 2646 ideal i0=idInit(1,i1->rank); 2647 i0->m[0]=(poly)v->Data(); 2677 ideal i0; 2678 int r=v->Typ(); 2679 if ((/*v->Typ()*/r==POLY_CMD) ||(r==VECTOR_CMD)) 2680 { 2681 i0=idInit(1,i1->rank); 2682 i0->m[0]=(poly)v->Data(); 2683 } 2684 else /*IDEAL*/ 2685 { 2686 i0=(ideal)v->Data(); 2687 } 2648 2688 i1=idSimpleAdd(i1,i0); 2649 i0->m[0]=NULL;2689 memset(i0->m,0,sizeof(poly)*IDELEMS(i0)); 2650 2690 idDelete(&i0); 2651 2691 intvec *w=(intvec *)atGet(u,"isHomog",INTVEC_CMD); … … 2719 2759 {jjCOLCOL, COLONCOLON, ANY_TYPE, DEF_CMD, DEF_CMD ALLOW_PLURAL} 2720 2760 ,{jjPLUS_I, '+', INT_CMD, INT_CMD, INT_CMD ALLOW_PLURAL} 2761 ,{jjPLUS_BI, '+', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD ALLOW_PLURAL} 2721 2762 ,{jjPLUS_N, '+', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD ALLOW_PLURAL} 2722 2763 ,{jjPLUS_P, '+', POLY_CMD, POLY_CMD, POLY_CMD ALLOW_PLURAL} … … 2740 2781 ,{jjRSUM, '+', QRING_CMD, QRING_CMD, QRING_CMD ALLOW_PLURAL} 2741 2782 ,{jjMINUS_I, '-', INT_CMD, INT_CMD, INT_CMD ALLOW_PLURAL} 2783 ,{jjMINUS_BI, '-', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD ALLOW_PLURAL} 2742 2784 ,{jjMINUS_N, '-', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD ALLOW_PLURAL} 2743 2785 ,{jjMINUS_P, '-', POLY_CMD, POLY_CMD, POLY_CMD ALLOW_PLURAL} … … 2750 2792 ,{jjMINUS_IV, '-', INTMAT_CMD, INTMAT_CMD, INTMAT_CMD ALLOW_PLURAL} 2751 2793 ,{jjTIMES_I, '*', INT_CMD, INT_CMD, INT_CMD ALLOW_PLURAL} 2794 ,{jjTIMES_BI, '*', BIGINT_CMD, BIGINT_CMD, BIGINT_CMD ALLOW_PLURAL} 2752 2795 ,{jjTIMES_N, '*', NUMBER_CMD, NUMBER_CMD, NUMBER_CMD ALLOW_PLURAL} 2753 2796 ,{jjTIMES_P, '*', POLY_CMD, POLY_CMD, POLY_CMD ALLOW_PLURAL} … … 2783 2826 ,{jjOP_IV_I, '/', INTMAT_CMD, INTMAT_CMD, INT_CMD ALLOW_PLURAL} 2784 2827 ,{jjDIVMOD_I, INTDIV_CMD, INT_CMD, INT_CMD, INT_CMD ALLOW_PLURAL} 2828 ,{jjDIV_BI, INTDIV_CMD, BIGINT_CMD, BIGINT_CMD, BIGINT_CMD ALLOW_PLURAL} 2785 2829 ,{jjOP_IV_I, INTDIV_CMD, INTVEC_CMD, INTVEC_CMD, INT_CMD ALLOW_PLURAL} 2786 2830 ,{jjOP_IV_I, INTDIV_CMD, INTMAT_CMD, INTMAT_CMD, INT_CMD ALLOW_PLURAL} … … 3019 3063 ,{jjSTD_1, STD_CMD, IDEAL_CMD, IDEAL_CMD, POLY_CMD ALLOW_PLURAL} 3020 3064 ,{jjSTD_1, STD_CMD, MODUL_CMD, MODUL_CMD, VECTOR_CMD ALLOW_PLURAL} 3065 ,{jjSTD_1, STD_CMD, IDEAL_CMD, IDEAL_CMD, IDEAL_CMD ALLOW_PLURAL} 3066 ,{jjSTD_1, STD_CMD, MODUL_CMD, MODUL_CMD, MODUL_CMD ALLOW_PLURAL} 3021 3067 ,{jjSTD_HILB, STD_CMD, IDEAL_CMD, IDEAL_CMD, INTVEC_CMD NO_PLURAL} 3022 3068 ,{jjSTD_HILB, STD_CMD, MODUL_CMD, MODUL_CMD, INTVEC_CMD NO_PLURAL} … … 4043 4089 case INTMAT_CMD: res->data=omStrDup("intmat"); break; 4044 4090 case NUMBER_CMD: res->data=omStrDup("number"); break; 4091 case BIGINT_CMD: res->data=omStrDup("bigint"); break; 4045 4092 case LIST_CMD: res->data=omStrDup("list"); break; 4046 4093 case PACKAGE_CMD: res->data=omStrDup("package"); break; -
Singular/tok.h
r03b1a72 rd7626fe 7 7 * ABSTRACT: tokens, types for interpreter; general macros 8 8 */ 9 /* $Id: tok.h,v 1.6 3 2005-05-18 15:59:37Singular Exp $ */9 /* $Id: tok.h,v 1.64 2006-05-29 12:34:41 Singular Exp $ */ 10 10 11 11 #ifndef MYYSTYPE … … 45 45 ATTRIB_CMD, 46 46 BAREISS_CMD, 47 BIGINT_CMD, 47 48 BRACKET_CMD, 48 49 BREAKPOINT_CMD,
Note: See TracChangeset
for help on using the changeset viewer.