Changeset 35cfa3 in git
- Timestamp:
- Jan 22, 2008, 10:41:26 AM (15 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- b4295512db55bc6ac6f2916cebb10337102336e4
- Parents:
- ef9d6b431bfae763ec3be1cc7fa8a7ff3a44d0d3
- Location:
- Singular
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/ChangeLog
ref9d6b r35cfa3 71 71 - fixed LIB/involut.lib: problems with ring change : nc_algebra 72 72 73 --------------------------------------------------------- 74 Tue Jan 22 10:40:39 CET 2008 75 more Changes with respect to 3-0-4-1 76 - sqrFree moved from libfac to factory 77 - new command sqrfree 78 -
Singular/iparith.cc
ref9d6b r35cfa3 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: iparith.cc,v 1.46 5 2008-01-21 18:04:48Singular Exp $ */4 /* $Id: iparith.cc,v 1.466 2008-01-22 09:40:03 Singular Exp $ */ 5 5 6 6 /* … … 375 375 { "slimgb", 0, SLIM_GB_CMD , CMD_1}, 376 376 { "sortvec", 0, SORTVEC_CMD , CMD_1}, 377 { "sqrfree", 0, SQR_FREE_CMD , CMD_1}, 377 378 #ifdef OLD_RES 378 379 { "sres", 0, SRES_CMD , CMD_23}, … … 1980 1981 return FALSE; 1981 1982 } 1983 extern int singclap_factorize_retry; 1984 static BOOLEAN jjFAC_P2(leftv res, leftv u,leftv dummy) 1985 { 1986 intvec *v=NULL; 1987 int sw=(int)(long)dummy->Data(); 1988 int fac_sw=sw; 1989 if ((sw<0)||(sw>2)) fac_sw=1; 1990 singclap_factorize_retry=0; 1991 ideal f=singclap_factorize((poly)(u->CopyD()), &v, fac_sw); 1992 if (f==NULL) 1993 return TRUE; 1994 switch(sw) 1995 { 1996 case 0: 1997 case 2: 1998 { 1999 lists l=(lists)omAllocBin(slists_bin); 2000 l->Init(2); 2001 l->m[0].rtyp=IDEAL_CMD; 2002 l->m[0].data=(void *)f; 2003 l->m[1].rtyp=INTVEC_CMD; 2004 l->m[1].data=(void *)v; 2005 res->data=(void *)l; 2006 res->rtyp=LIST_CMD; 2007 return FALSE; 2008 } 2009 case 1: 2010 res->data=(void *)f; 2011 return FALSE; 2012 case 3: 2013 { 2014 poly p=f->m[0]; 2015 int i=IDELEMS(f); 2016 f->m[0]=NULL; 2017 while(i>1) 2018 { 2019 i--; 2020 p=pMult(p,f->m[i]); 2021 f->m[i]=NULL; 2022 } 2023 res->data=(void *)p; 2024 res->rtyp=POLY_CMD; 2025 } 2026 return FALSE; 2027 } 2028 WerrorS("invalid switch"); 2029 return TRUE; 2030 } 1982 2031 static BOOLEAN jjFACSTD2(leftv res, leftv v, leftv w) 1983 2032 { … … 2876 2925 return FALSE; 2877 2926 } 2878 #ifdef HAVE_FACTORY2879 extern int singclap_factorize_retry;2880 static BOOLEAN jjSQR_FREE_DEC(leftv res, leftv u,leftv dummy)2881 {2882 intvec *v=NULL;2883 int sw=(int)(long)dummy->Data();2884 int fac_sw=sw;2885 if ((sw<0)||(sw>2)) fac_sw=1;2886 singclap_factorize_retry=0;2887 ideal f=singclap_factorize((poly)(u->CopyD()), &v, fac_sw);2888 if (f==NULL)2889 return TRUE;2890 switch(sw)2891 {2892 case 0:2893 case 2:2894 {2895 lists l=(lists)omAllocBin(slists_bin);2896 l->Init(2);2897 l->m[0].rtyp=IDEAL_CMD;2898 l->m[0].data=(void *)f;2899 l->m[1].rtyp=INTVEC_CMD;2900 l->m[1].data=(void *)v;2901 res->data=(void *)l;2902 res->rtyp=LIST_CMD;2903 return FALSE;2904 }2905 case 1:2906 res->data=(void *)f;2907 return FALSE;2908 case 3:2909 {2910 poly p=f->m[0];2911 int i=IDELEMS(f);2912 f->m[0]=NULL;2913 while(i>1)2914 {2915 i--;2916 p=pMult(p,f->m[i]);2917 f->m[i]=NULL;2918 }2919 res->data=(void *)p;2920 res->rtyp=POLY_CMD;2921 }2922 return FALSE;2923 }2924 WerrorS("invalid switch");2925 return TRUE;2926 }2927 #endif2928 2927 static BOOLEAN jjSTATUS2(leftv res, leftv u, leftv v) 2929 2928 { … … 3256 3255 #ifdef HAVE_FACTORY 3257 3256 ,{jjEXTGCD_P, EXTGCD_CMD, LIST_CMD, POLY_CMD, POLY_CMD NO_PLURAL} 3258 ,{jj SQR_FREE_DEC,FAC_CMD,IDEAL_CMD, POLY_CMD, INT_CMD NO_PLURAL}3259 ,{jjFACSTD2, FACSTD_CMD,LIST_CMD, IDEAL_CMD, IDEAL_CMD NO_PLURAL}3257 ,{jjFAC_P2, FAC_CMD, IDEAL_CMD, POLY_CMD, INT_CMD NO_PLURAL} 3258 ,{jjFACSTD2, FACSTD_CMD, LIST_CMD, IDEAL_CMD, IDEAL_CMD NO_PLURAL} 3260 3259 #else 3261 3260 ,{jjWRONG2, EXTGCD_CMD, LIST_CMD, POLY_CMD, POLY_CMD NO_PLURAL} … … 4404 4403 return FALSE; 4405 4404 } 4405 #ifdef HAVE_FACTORY 4406 extern int singclap_factorize_retry; 4407 static BOOLEAN jjSQR_FREE(leftv res, leftv u) 4408 { 4409 intvec *v=NULL; 4410 singclap_factorize_retry=0; 4411 ideal f=singclap_sqrfree((poly)(u->CopyD())); 4412 if (f==NULL) 4413 return TRUE; 4414 res->data=(void *)f; 4415 return FALSE; 4416 } 4417 #endif 4406 4418 #if 1 4407 4419 static BOOLEAN jjSYZYGY(leftv res, leftv v) … … 4413 4425 } 4414 4426 #else 4415 // activate, if idSyz ha dle moduke weights correctly !4427 // activate, if idSyz handle module weights correctly ! 4416 4428 static BOOLEAN jjSYZYGY(leftv res, leftv v) 4417 4429 { … … 5071 5083 ,{jjSort_Id, SORTVEC_CMD, INTVEC_CMD, IDEAL_CMD ALLOW_PLURAL} 5072 5084 ,{jjSort_Id, SORTVEC_CMD, INTVEC_CMD, MODUL_CMD ALLOW_PLURAL} 5085 ,{jjSQR_FREE, SQR_FREE_CMD, IDEAL_CMD, POLY_CMD NO_PLURAL} 5073 5086 ,{jjSTD, STD_CMD, IDEAL_CMD, IDEAL_CMD ALLOW_PLURAL} 5074 5087 ,{jjSTD, STD_CMD, MODUL_CMD, MODUL_CMD ALLOW_PLURAL} -
Singular/tok.h
ref9d6b r35cfa3 7 7 * ABSTRACT: tokens, types for interpreter; general macros 8 8 */ 9 /* $Id: tok.h,v 1.6 8 2007-11-16 15:33:51Singular Exp $ */9 /* $Id: tok.h,v 1.69 2008-01-22 09:40:03 Singular Exp $ */ 10 10 11 11 #ifndef MYYSTYPE … … 128 128 SIMPLEX_CMD, 129 129 SLIM_GB_CMD, 130 SQR_FREE_ DEC_CMD,130 SQR_FREE_CMD, 131 131 STATUS_CMD, 132 132 STRING_CMD,
Note: See TracChangeset
for help on using the changeset viewer.