Changeset 7028cd in git
- Timestamp:
- Oct 4, 2016, 3:55:46 PM (8 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 307c218553724983c9c153d9c59e48cabb736455
- Parents:
- 13fcd43bdff18bca81a901df63fe90d0f0f3d178
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/extra.cc
r13fcd4 r7028cd 334 334 } 335 335 else 336 #if 0 337 if(strcmp(sys_cmd,"power1")==0) 338 { 339 res->rtyp=POLY_CMD; 340 poly f=(poly)h->CopyD(); 341 poly g=pPower(f,2000); 342 res->data=(void *)g; 343 return FALSE; 344 } 345 else 346 if(strcmp(sys_cmd,"power2")==0) 347 { 348 res->rtyp=POLY_CMD; 349 poly f=(poly)h->Data(); 350 poly g=pOne(); 351 for(int i=0;i<2000;i++) 352 g=pMult(g,pCopy(f)); 353 res->data=(void *)g; 354 return FALSE; 355 } 356 if(strcmp(sys_cmd,"power3")==0) 357 { 358 res->rtyp=POLY_CMD; 359 poly f=(poly)h->Data(); 360 poly p2=pMult(pCopy(f),pCopy(f)); 361 poly p4=pMult(pCopy(p2),pCopy(p2)); 362 poly p8=pMult(pCopy(p4),pCopy(p4)); 363 poly p16=pMult(pCopy(p8),pCopy(p8)); 364 poly p32=pMult(pCopy(p16),pCopy(p16)); 365 poly p64=pMult(pCopy(p32),pCopy(p32)); 366 poly p128=pMult(pCopy(p64),pCopy(p64)); 367 poly p256=pMult(pCopy(p128),pCopy(p128)); 368 poly p512=pMult(pCopy(p256),pCopy(p256)); 369 poly p1024=pMult(pCopy(p512),pCopy(p512)); 370 poly p1536=pMult(p1024,p512); 371 poly p1792=pMult(p1536,p256); 372 poly p1920=pMult(p1792,p128); 373 poly p1984=pMult(p1920,p64); 374 poly p2000=pMult(p1984,p16); 375 res->data=(void *)p2000; 376 pDelete(&p2); 377 pDelete(&p4); 378 pDelete(&p8); 379 //pDelete(&p16); 380 pDelete(&p32); 381 //pDelete(&p64); 382 //pDelete(&p128); 383 //pDelete(&p256); 384 //pDelete(&p512); 385 //pDelete(&p1024); 386 //pDelete(&p1536); 387 //pDelete(&p1792); 388 //pDelete(&p1920); 389 //pDelete(&p1984); 390 return FALSE; 391 } 392 else 393 #endif 336 /*========reduce procedure like the global one but with jet bounds=======*/ 337 if(strcmp(sys_cmd,"reduce_bound")==0) 338 { 339 poly p; 340 ideal pid; 341 ideal q; 342 int bound; 343 int htype; 344 const short t1[]={3,POLY_CMD,IDEAL_CMD,INT_CMD}; 345 const short t2[]={3,IDEAL_CMD,IDEAL_CMD,INT_CMD}; 346 const short t3[]={3,VECTOR_CMD,MODUL_CMD,INT_CMD}; 347 const short t4[]={3,VECTOR_CMD,MODUL_CMD,INT_CMD}; 348 if (iiCheckTypes(h,t1,0)) 349 { 350 p = (poly)h->CopyD(); 351 htype = POLY_CMD; 352 q = (ideal)h-->next->CopyD(); 353 bound = (long)h->next->next->CopyD(); 354 } 355 else if (iiCheckTypes(h,t2,0)) 356 { 357 pid = (ideal)h->CopyD(); 358 htype = IDEAL_CMD; 359 q = (ideal)h-->next->CopyD(); 360 bound = (long)h->next->next->CopyD(); 361 } 362 else if (iiCheckTypes(h,t3,0)) 363 { 364 p = (poly)h->CopyD(); 365 htype = VECTOR_CMD; 366 q = (ideal)h-->next->CopyD(); 367 bound = (long)h->next->next->CopyD(); 368 } 369 else if (iiCheckTypes(h,t4,1)) 370 { 371 pid = (ideal)h->CopyD(); 372 htype = IDEAL_CMD; 373 q = (ideal)h-->next->CopyD(); 374 bound = (long)h->next->next->CopyD(); 375 } 376 else return TRUE; 377 res->rtyp = htype; 378 if(htype == POLY_CMD || htype == VECTOR_CMD) 379 res->data = (char *)kNFBound(q,currRing->qideal,p,bound); 380 if(htype == IDEAL_CMD || htype == MODUL_CMD) 381 res->data = (char *)kNFBound(q,currRing->qideal,pid,bound); 382 return FALSE; 383 } 384 else 394 385 /*==================== uname ==================================*/ 395 386 if(strcmp(sys_cmd,"uname")==0) … … 3825 3816 } 3826 3817 else 3827 /*========reduce procedure like the global one but with jet bounds=================*/ 3828 if(strcmp(sys_cmd,"reduce_bound")==0) 3829 { 3830 poly p; 3831 ideal pid; 3832 ideal q; 3833 int bound; 3834 int htype; 3835 if(h!= NULL && (h->Typ() == POLY_CMD) || (h->Typ() == VECTOR_CMD) 3836 || (h->Typ() == IDEAL_CMD) || (h->Typ() == MODUL_CMD)) 3837 { 3838 if(h->Typ() == POLY_CMD) 3839 { 3840 p = (poly)h->CopyD(); 3841 htype = POLY_CMD; 3842 } 3843 if(h->Typ() == VECTOR_CMD) 3844 { 3845 p = (poly)h->CopyD(); 3846 htype = VECTOR_CMD; 3847 } 3848 if(h->Typ() == IDEAL_CMD) 3849 { 3850 pid = (ideal)h->CopyD(); 3851 htype = IDEAL_CMD; 3852 } 3853 if(h->Typ() == MODUL_CMD) 3854 { 3855 pid = (ideal)h->CopyD(); 3856 htype = MODUL_CMD; 3857 } 3858 h=h->next; 3859 } 3860 else return TRUE; 3861 if(h!= NULL && (h->Typ() == IDEAL_CMD || h->Typ() == MODUL_CMD) ) 3862 { 3863 q = (ideal)h->CopyD(); 3864 h=h->next; 3865 } 3866 else return TRUE; 3867 if(h!= NULL && h->Typ() == INT_CMD) 3868 { 3869 bound = (long)h->CopyD(); 3870 } 3871 else return TRUE; 3872 res->rtyp = htype; 3873 if(htype == POLY_CMD || htype == VECTOR_CMD) 3874 res->data = (char *)kNFBound(q,currRing->qideal,p,bound); 3875 if(htype == IDEAL_CMD || htype == MODUL_CMD) 3876 res->data = (char *)kNFBound(q,currRing->qideal,pid,bound); 3877 return FALSE; 3878 } 3879 else 3818 /*==================== power* ==================================*/ 3819 #if 0 3820 if(strcmp(sys_cmd,"power1")==0) 3821 { 3822 res->rtyp=POLY_CMD; 3823 poly f=(poly)h->CopyD(); 3824 poly g=pPower(f,2000); 3825 res->data=(void *)g; 3826 return FALSE; 3827 } 3828 else 3829 if(strcmp(sys_cmd,"power2")==0) 3830 { 3831 res->rtyp=POLY_CMD; 3832 poly f=(poly)h->Data(); 3833 poly g=pOne(); 3834 for(int i=0;i<2000;i++) 3835 g=pMult(g,pCopy(f)); 3836 res->data=(void *)g; 3837 return FALSE; 3838 } 3839 if(strcmp(sys_cmd,"power3")==0) 3840 { 3841 res->rtyp=POLY_CMD; 3842 poly f=(poly)h->Data(); 3843 poly p2=pMult(pCopy(f),pCopy(f)); 3844 poly p4=pMult(pCopy(p2),pCopy(p2)); 3845 poly p8=pMult(pCopy(p4),pCopy(p4)); 3846 poly p16=pMult(pCopy(p8),pCopy(p8)); 3847 poly p32=pMult(pCopy(p16),pCopy(p16)); 3848 poly p64=pMult(pCopy(p32),pCopy(p32)); 3849 poly p128=pMult(pCopy(p64),pCopy(p64)); 3850 poly p256=pMult(pCopy(p128),pCopy(p128)); 3851 poly p512=pMult(pCopy(p256),pCopy(p256)); 3852 poly p1024=pMult(pCopy(p512),pCopy(p512)); 3853 poly p1536=pMult(p1024,p512); 3854 poly p1792=pMult(p1536,p256); 3855 poly p1920=pMult(p1792,p128); 3856 poly p1984=pMult(p1920,p64); 3857 poly p2000=pMult(p1984,p16); 3858 res->data=(void *)p2000; 3859 pDelete(&p2); 3860 pDelete(&p4); 3861 pDelete(&p8); 3862 //pDelete(&p16); 3863 pDelete(&p32); 3864 //pDelete(&p64); 3865 //pDelete(&p128); 3866 //pDelete(&p256); 3867 //pDelete(&p512); 3868 //pDelete(&p1024); 3869 //pDelete(&p1536); 3870 //pDelete(&p1792); 3871 //pDelete(&p1920); 3872 //pDelete(&p1984); 3873 return FALSE; 3874 } 3875 else 3876 #endif 3880 3877 /*==================== Error =================*/ 3881 3878 Werror( "(extended) system(\"%s\",...) %s", sys_cmd, feNotImplemented );
Note: See TracChangeset
for help on using the changeset viewer.