Changeset 9a92d9 in git
- Timestamp:
- Mar 31, 2005, 1:45:00 PM (18 years ago)
- Branches:
- (u'spielwiese', '8d54773d6c9e2f1d2593a28bc68b7eeab54ed529')
- Children:
- 1903b7f98b7252fcf5bf02cbecaa4d79d4d87556
- Parents:
- e707b8e1bd2fb81722355c5ae845fef978f73085
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/fast_mult.cc
re707b8 r9a92d9 480 480 static void MC_iterate(poly f, int n, ring r, int f_len,number* facult, int* exp,poly* f_terms,kBucket_pt erg_bucket,int pos,int sum, number coef, poly & zw, poly tmp, poly** term_pot){ 481 481 int i; 482 482 483 483 if (pos<f_len-1){ 484 484 poly zw_l=NULL; 485 number new_coef; 485 486 for(i=0;i<=n-sum;i++){ 486 487 exp[pos]=i; 487 number new_coef=n_IntDiv(coef,facult[i],r); 488 if(i==0){ 489 new_coef=n_Copy(coef,r); 490 } 491 else { 492 number old=new_coef; 493 number old_rest=n_Init(n-sum-(i-1),r); 494 new_coef=n_Mult(new_coef,old_rest,r); 495 n_Delete(&old_rest,r); 496 n_Delete(&old,r); 497 number i_number=n_Init(i,r); 498 old=new_coef; 499 new_coef=n_IntDiv(new_coef,i_number,r); 500 n_Delete(&old,r); 501 n_Delete(&i_number,r); 502 } 503 //new_coef is 504 //(n ) 505 //(exp[0]..exp[pos] 0 0 0 rest) 488 506 poly zw_real=NULL; 489 507 MC_iterate(f, n, r, f_len,facult, exp,f_terms,erg_bucket,pos+1,sum+i,new_coef,zw_real,tmp,term_pot); … … 494 512 zw_l=zw_real; 495 513 } 496 n_Delete(& new_coef,r); 497 } 514 //n_Delete(& new_coef,r); 515 } 516 n_Delete(&new_coef,r); 498 517 if (pos==f_len-2){ 499 518 int len=n-sum+1; … … 505 524 i=n-sum; 506 525 exp[pos]=i; 507 number new_coef=n _IntDiv(coef,facult[i],r);526 number new_coef=nCopy(coef);//n_IntDiv(coef,facult[i],r); //really consumed??????? 508 527 buildTermAndAdd(n,facult,f_terms,exp,f_len,erg_bucket,r, new_coef,zw, tmp,term_pot); 509 528 // n_Delete(& new_coef,r); … … 554 573 poly zw=NULL; 555 574 poly tmp=p_Init(r); 556 MC_iterate(f,n,r,f_len,&facult[0], &exp[0], &f_terms[0],erg_bucket,0,0,facult[n],zw,tmp, term_potences); 557 558 559 575 number one=n_Init(1,r); 576 MC_iterate(f,n,r,f_len,&facult[0], &exp[0], &f_terms[0],erg_bucket,0,0,one/*facult[n]*/,zw,tmp, term_potences); 577 578 579 n_Delete(&one,r); 560 580 561 581
Note: See TracChangeset
for help on using the changeset viewer.