Ignore:
Timestamp:
Mar 20, 2015, 12:19:21 PM (9 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
1697dc3a51e8bd47a7d5ba881bd2c289db77aae7c37482ecbeafe4b1c2572f031ec6a0fd5b4d085b
Parents:
0b51f6a84259fb2407bab08b6cd743bf83f0e420
Message:
experimental: chinese remainder with caching inverses

(switch on by system("cache_chinrem",1),   )
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/ext_fields/transext.cc

    r0b51f6a ra1f17b  
    23342334}
    23352335
    2336 number  ntChineseRemainder(number *x, number *q,int rl, BOOLEAN sym,const coeffs cf)
     2336number  ntChineseRemainder(number *x, number *q,int rl, BOOLEAN sym,CFArray &inv_cache,const coeffs cf)
    23372337{
    23382338  fraction result = (fraction)omAlloc0Bin(fractionObjectBin);
     
    23432343
    23442344  for(i=0;i<rl;i++) P[i]=p_Copy(NUM((fraction)(x[i])),cf->extRing);
    2345   NUM(result)=p_ChineseRemainder(P,X,q,rl,cf->extRing);
     2345  NUM(result)=p_ChineseRemainder(P,X,q,rl,inv_cache,cf->extRing);
    23462346
    23472347  for(i=0;i<rl;i++)
     
    23502350    if (P[i]==NULL) P[i]=p_One(cf->extRing);
    23512351  }
    2352   DEN(result)=p_ChineseRemainder(P,X,q,rl,cf->extRing);
     2352  DEN(result)=p_ChineseRemainder(P,X,q,rl,inv_cache,cf->extRing);
    23532353
    23542354  omFreeSize(X,rl*sizeof(number));
Note: See TracChangeset for help on using the changeset viewer.