亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zz_px.h

?? 密碼大家Shoup寫的數論算法c語言實現
?? H
?? 第 1 頁 / 共 3 頁
字號:
   vec_ZZ_p tracevec;  // mutable   // but these will remain public   ZZ_pXModulus(const ZZ_pX& ff);   const ZZ_pX& val() const { return f; }   operator const ZZ_pX& () const { return f; }};inline long deg(const ZZ_pXModulus& F) { return F.n; }void build(ZZ_pXModulus& F, const ZZ_pX& f);// deg(f) > 0.void rem21(ZZ_pX& x, const ZZ_pX& a, const ZZ_pXModulus& F);// x = a % f// deg(a) <= 2(n-1), where n = F.n = deg(f)void rem(ZZ_pX& x, const ZZ_pX& a, const ZZ_pXModulus& F);// x = a % f, no restrictions on deg(a);  makes repeated calls to rem21inline ZZ_pX operator%(const ZZ_pX& a, const ZZ_pXModulus& F)   { ZZ_pX x; rem(x, a, F); NTL_OPT_RETURN(ZZ_pX, x); }inline ZZ_pX& operator%=(ZZ_pX& x, const ZZ_pXModulus& F)   { rem(x, x, F); return x; } void DivRem(ZZ_pX& q, ZZ_pX& r, const ZZ_pX& a, const ZZ_pXModulus& F);void div(ZZ_pX& q, const ZZ_pX& a, const ZZ_pXModulus& F);inline ZZ_pX operator/(const ZZ_pX& a, const ZZ_pXModulus& F)   { ZZ_pX x; div(x, a, F); NTL_OPT_RETURN(ZZ_pX, x); }inline ZZ_pX& operator/=(ZZ_pX& x, const ZZ_pXModulus& F)   { div(x, x, F); return x; } void MulMod(ZZ_pX& x, const ZZ_pX& a, const ZZ_pX& b, const ZZ_pXModulus& F);// x = (a * b) % f// deg(a), deg(b) < ninline ZZ_pX MulMod(const ZZ_pX& a, const ZZ_pX& b, const ZZ_pXModulus& F)   { ZZ_pX x; MulMod(x, a, b, F); NTL_OPT_RETURN(ZZ_pX, x); }void SqrMod(ZZ_pX& x, const ZZ_pX& a, const ZZ_pXModulus& F);// x = a^2 % f// deg(a) < ninline ZZ_pX SqrMod(const ZZ_pX& a, const ZZ_pXModulus& F)   { ZZ_pX x; SqrMod(x, a, F); NTL_OPT_RETURN(ZZ_pX, x); }void PowerMod(ZZ_pX& x, const ZZ_pX& a, const ZZ& e, const ZZ_pXModulus& F);// x = a^e % f, e >= 0inline ZZ_pX PowerMod(const ZZ_pX& a, const ZZ& e, const ZZ_pXModulus& F)   { ZZ_pX x; PowerMod(x, a, e, F); NTL_OPT_RETURN(ZZ_pX, x); }inline void PowerMod(ZZ_pX& x, const ZZ_pX& a, long e, const ZZ_pXModulus& F)   { PowerMod(x, a, ZZ_expo(e), F); }inline ZZ_pX PowerMod(const ZZ_pX& a, long e, const ZZ_pXModulus& F)   { ZZ_pX x; PowerMod(x, a, e, F); NTL_OPT_RETURN(ZZ_pX, x); }void PowerXMod(ZZ_pX& x, const ZZ& e, const ZZ_pXModulus& F);// x = X^e % f, e >= 0inline ZZ_pX PowerXMod(const ZZ& e, const ZZ_pXModulus& F)   { ZZ_pX x; PowerXMod(x, e, F); NTL_OPT_RETURN(ZZ_pX, x); }inline void PowerXMod(ZZ_pX& x, long e, const ZZ_pXModulus& F)   { PowerXMod(x, ZZ_expo(e), F); }inline ZZ_pX PowerXMod(long e, const ZZ_pXModulus& F)   { ZZ_pX x; PowerXMod(x, e, F); NTL_OPT_RETURN(ZZ_pX, x); }void PowerXPlusAMod(ZZ_pX& x, const ZZ_p& a, const ZZ& e, const ZZ_pXModulus& F);// x = (X + a)^e % f, e >= 0inline ZZ_pX PowerXPlusAMod(const ZZ_p& a, const ZZ& e, const ZZ_pXModulus& F)   { ZZ_pX x; PowerXPlusAMod(x, a, e, F); NTL_OPT_RETURN(ZZ_pX, x); }inline void PowerXPlusAMod(ZZ_pX& x, const ZZ_p& a, long e, const ZZ_pXModulus& F)   { PowerXPlusAMod(x, a, ZZ_expo(e), F); }inline ZZ_pX PowerXPlusAMod(const ZZ_p& a, long e, const ZZ_pXModulus& F)   { ZZ_pX x; PowerXPlusAMod(x, a, e, F); NTL_OPT_RETURN(ZZ_pX, x); }// If you need to compute a * b % f for a fixed b, but for many a's// (for example, computing powers of b modulo f), it is// much more efficient to first build a ZZ_pXMultiplier B for b,// and then use the routine below.class ZZ_pXMultiplier {public:   ZZ_pXMultiplier() : UseFFT(0)  { }   ZZ_pXMultiplier(const ZZ_pX& b, const ZZ_pXModulus& F);   ~ZZ_pXMultiplier() { }   // the following members may become private in the future   ZZ_pX b;      long UseFFT;   FFTRep B1;    FFTRep B2;    // but this will remain public   const ZZ_pX& val() const { return b; }};void build(ZZ_pXMultiplier& B, const ZZ_pX& b, const ZZ_pXModulus& F);void MulMod(ZZ_pX& x, const ZZ_pX& a, const ZZ_pXMultiplier& B,                                      const ZZ_pXModulus& F);inline ZZ_pX MulMod(const ZZ_pX& a, const ZZ_pXMultiplier& B,                                          const ZZ_pXModulus& F)   { ZZ_pX x; MulMod(x, a, B, F); NTL_OPT_RETURN(ZZ_pX, x); }// x = (a * b) % f/*******************************************************              Evaluation and related problems********************************************************/void BuildFromRoots(ZZ_pX& x, const vec_ZZ_p& a);// computes the polynomial (X-a[0]) ... (X-a[n-1]), where n = a.length()inline ZZ_pX BuildFromRoots(const vec_ZZ_p& a)   { ZZ_pX x; BuildFromRoots(x, a); NTL_OPT_RETURN(ZZ_pX, x); }void eval(ZZ_p& b, const ZZ_pX& f, const ZZ_p& a);// b = f(a)inline ZZ_p eval(const ZZ_pX& f, const ZZ_p& a)   { ZZ_p x; eval(x, f, a); NTL_OPT_RETURN(ZZ_p, x); }void eval(vec_ZZ_p& b, const ZZ_pX& f, const vec_ZZ_p& a);//  b[i] = f(a[i])inline vec_ZZ_p eval(const ZZ_pX& f, const vec_ZZ_p& a)   { vec_ZZ_p x; eval(x, f, a); NTL_OPT_RETURN(vec_ZZ_p, x); }void interpolate(ZZ_pX& f, const vec_ZZ_p& a, const vec_ZZ_p& b);// computes f such that f(a[i]) = b[i]inline ZZ_pX interpolate(const vec_ZZ_p& a, const vec_ZZ_p& b)   { ZZ_pX x; interpolate(x, a, b); NTL_OPT_RETURN(ZZ_pX, x); }/*****************************************************************                       vectors of ZZ_pX's*****************************************************************/NTL_vector_decl(ZZ_pX,vec_ZZ_pX)NTL_eq_vector_decl(ZZ_pX,vec_ZZ_pX)NTL_io_vector_decl(ZZ_pX,vec_ZZ_pX)/**********************************************************         Modular Composition and Minimal Polynomials***********************************************************/// algorithms for computing g(h) mod fvoid CompMod(ZZ_pX& x, const ZZ_pX& g, const ZZ_pX& h, const ZZ_pXModulus& F);// x = g(h) mod finline ZZ_pX CompMod(const ZZ_pX& g, const ZZ_pX& h,                            const ZZ_pXModulus& F)   { ZZ_pX x; CompMod(x, g, h, F); NTL_OPT_RETURN(ZZ_pX, x); }void Comp2Mod(ZZ_pX& x1, ZZ_pX& x2, const ZZ_pX& g1, const ZZ_pX& g2,              const ZZ_pX& h, const ZZ_pXModulus& F);// xi = gi(h) mod f (i=1,2)void Comp3Mod(ZZ_pX& x1, ZZ_pX& x2, ZZ_pX& x3,               const ZZ_pX& g1, const ZZ_pX& g2, const ZZ_pX& g3,              const ZZ_pX& h, const ZZ_pXModulus& F);// xi = gi(h) mod f (i=1..3)// The routine build (see below) which is implicitly called// by the various compose and UpdateMap routines builds a table// of polynomials.  // If ZZ_pXArgBound > 0, then the table is limited in// size to approximamtely that many KB.// If ZZ_pXArgBound <= 0, then it is ignored, and space is allocated// so as to maximize speed.// Initially, ZZ_pXArgBound = 0.// If a single h is going to be used with many g's// then you should build a ZZ_pXArgument for h,// and then use the compose routine below.// build computes and stores h, h^2, ..., h^m mod f.// After this pre-computation, composing a polynomial of degree // roughly n with h takes n/m multiplies mod f, plus n^2// scalar multiplies.// Thus, increasing m increases the space requirement and the pre-computation// time, but reduces the composition time.// If ZZ_pXArgBound > 0, a table of size less than m may be built.struct ZZ_pXArgument {   vec_ZZ_pX H;};extern long ZZ_pXArgBound;void build(ZZ_pXArgument& H, const ZZ_pX& h, const ZZ_pXModulus& F, long m);// m must be > 0, otherwise an error is raisedvoid CompMod(ZZ_pX& x, const ZZ_pX& g, const ZZ_pXArgument& H,              const ZZ_pXModulus& F);inline ZZ_pX CompMod(const ZZ_pX& g, const ZZ_pXArgument& H, const ZZ_pXModulus& F)   { ZZ_pX x; CompMod(x, g, H, F); NTL_OPT_RETURN(ZZ_pX, x); }#ifndef NTL_TRANSITIONvoid UpdateMap(vec_ZZ_p& x, const vec_ZZ_p& a,               const ZZ_pXMultiplier& B, const ZZ_pXModulus& F);inline vec_ZZ_pUpdateMap(const vec_ZZ_p& a,           const ZZ_pXMultiplier& B, const ZZ_pXModulus& F)   { vec_ZZ_p x; UpdateMap(x, a, B, F);      NTL_OPT_RETURN(vec_ZZ_p, x); }#endif/* computes (a, b), (a, (b*X)%f), ..., (a, (b*X^{n-1})%f),   where ( , ) denotes the vector inner product.   This is really a "transposed" MulMod by B.*/void PlainUpdateMap(vec_ZZ_p& x, const vec_ZZ_p& a,                    const ZZ_pX& b, const ZZ_pX& f);// same as above, but uses only classical arithmeticvoid ProjectPowers(vec_ZZ_p& x, const vec_ZZ_p& a, long k,                   const ZZ_pX& h, const ZZ_pXModulus& F);inline vec_ZZ_p ProjectPowers(const vec_ZZ_p& a, long k,                   const ZZ_pX& h, const ZZ_pXModulus& F){   vec_ZZ_p x;   ProjectPowers(x, a, k, h, F);   NTL_OPT_RETURN(vec_ZZ_p, x);}// computes (a, 1), (a, h), ..., (a, h^{k-1} % f)// this is really a "transposed" compose.void ProjectPowers(vec_ZZ_p& x, const vec_ZZ_p& a, long k,                   const ZZ_pXArgument& H, const ZZ_pXModulus& F);inline vec_ZZ_p ProjectPowers(const vec_ZZ_p& a, long k,                   const ZZ_pXArgument& H, const ZZ_pXModulus& F){   vec_ZZ_p x;   ProjectPowers(x, a, k, H, F);   NTL_OPT_RETURN(vec_ZZ_p, x);}// same as above, but uses a pre-computed ZZ_pXArgumentinline void project(ZZ_p& x, const vec_ZZ_p& a, const ZZ_pX& b)   { InnerProduct(x, a, b.rep); }inline ZZ_p project(const vec_ZZ_p& a, const ZZ_pX& b)   {  ZZ_p x; project(x, a, b); NTL_OPT_RETURN(ZZ_p, x); }void MinPolySeq(ZZ_pX& h, const vec_ZZ_p& a, long m);// computes the minimum polynomial of a linealy generated sequence;// m is a bound on the degree of the polynomial;// required: a.length() >= 2*minline ZZ_pX MinPolySeq(const vec_ZZ_p& a, long m)   { ZZ_pX x; MinPolySeq(x, a, m); NTL_OPT_RETURN(ZZ_pX, x); }void ProbMinPolyMod(ZZ_pX& h, const ZZ_pX& g, const ZZ_pXModulus& F, long m);inline ZZ_pX ProbMinPolyMod(const ZZ_pX& g, const ZZ_pXModulus& F, long m)   { ZZ_pX x; ProbMinPolyMod(x, g, F, m); NTL_OPT_RETURN(ZZ_pX, x); }inline void ProbMinPolyMod(ZZ_pX& h, const ZZ_pX& g, const ZZ_pXModulus& F)   { ProbMinPolyMod(h, g, F, F.n); }inline ZZ_pX ProbMinPolyMod(const ZZ_pX& g, const ZZ_pXModulus& F)   { ZZ_pX x; ProbMinPolyMod(x, g, F); NTL_OPT_RETURN(ZZ_pX, x); }// computes the monic minimal polynomial if (g mod f).// m = a bound on the degree of the minimal polynomial.// If this argument is not supplied, it defaults to deg(f).// The algorithm is probabilistic, always returns a divisor of// the minimal polynomial, and returns a proper divisor with// probability at most m/p.void MinPolyMod(ZZ_pX& h, const ZZ_pX& g, const ZZ_pXModulus& F, long m);inline ZZ_pX MinPolyMod(const ZZ_pX& g, const ZZ_pXModulus& F, long m)   { ZZ_pX x; MinPolyMod(x, g, F, m); NTL_OPT_RETURN(ZZ_pX, x); }inline void MinPolyMod(ZZ_pX& h, const ZZ_pX& g, const ZZ_pXModulus& F)   { MinPolyMod(h, g, F, F.n); }inline ZZ_pX MinPolyMod(const ZZ_pX& g, const ZZ_pXModulus& F)   { ZZ_pX x; MinPolyMod(x, g, F); NTL_OPT_RETURN(ZZ_pX, x); }// same as above, but guarantees that result is correctvoid IrredPolyMod(ZZ_pX& h, const ZZ_pX& g, const ZZ_pXModulus& F, long m);inline ZZ_pX IrredPolyMod(const ZZ_pX& g, const ZZ_pXModulus& F, long m)   { ZZ_pX x; IrredPolyMod(x, g, F, m); NTL_OPT_RETURN(ZZ_pX, x); }inline void IrredPolyMod(ZZ_pX& h, const ZZ_pX& g, const ZZ_pXModulus& F)   { IrredPolyMod(h, g, F, F.n); }inline ZZ_pX IrredPolyMod(const ZZ_pX& g, const ZZ_pXModulus& F)   { ZZ_pX x; IrredPolyMod(x, g, F); NTL_OPT_RETURN(ZZ_pX, x); }// same as above, but assumes that f is irreducible, // or at least that the minimal poly of g is itself irreducible.// The algorithm is deterministic (and is always correct)./*****************************************************************                   Traces, norms, resultants******************************************************************/void TraceVec(vec_ZZ_p& S, const ZZ_pX& f);inline vec_ZZ_p TraceVec(const ZZ_pX& f)   { vec_ZZ_p x; TraceVec(x, f); NTL_OPT_RETURN(vec_ZZ_p, x); }void FastTraceVec(vec_ZZ_p& S, const ZZ_pX& f);void PlainTraceVec(vec_ZZ_p& S, const ZZ_pX& f);void TraceMod(ZZ_p& x, const ZZ_pX& a, const ZZ_pXModulus& F);inline ZZ_p TraceMod(const ZZ_pX& a, const ZZ_pXModulus& F)   { ZZ_p x; TraceMod(x, a, F); NTL_OPT_RETURN(ZZ_p, x); }void TraceMod(ZZ_p& x, const ZZ_pX& a, const ZZ_pX& f);inline ZZ_p TraceMod(const ZZ_pX& a, const ZZ_pX& f)   { ZZ_p x; TraceMod(x, a, f); NTL_OPT_RETURN(ZZ_p, x); }void ComputeTraceVec(const ZZ_pXModulus& F);void NormMod(ZZ_p& x, const ZZ_pX& a, const ZZ_pX& f);inline ZZ_p NormMod(const ZZ_pX& a, const ZZ_pX& f)   { ZZ_p x; NormMod(x, a, f); NTL_OPT_RETURN(ZZ_p, x); }void resultant(ZZ_p& rres, const ZZ_pX& a, const ZZ_pX& b);inline ZZ_p resultant(const ZZ_pX& a, const ZZ_pX& b)   { ZZ_p x; resultant(x, a, b); NTL_OPT_RETURN(ZZ_p, x); }void CharPolyMod(ZZ_pX& g, const ZZ_pX& a, const ZZ_pX& f);// g = char poly of (a mod f)inline ZZ_pX CharPolyMod(const ZZ_pX& a, const ZZ_pX& f)   { ZZ_pX x; CharPolyMod(x, a, f); NTL_OPT_RETURN(ZZ_pX, x); }NTL_CLOSE_NNS#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产999精品久久| 欧美日韩久久一区二区| 日韩欧美亚洲一区二区| 免费日本视频一区| 欧美—级在线免费片| 日本久久精品电影| 美女一区二区三区| 亚洲欧美日韩一区| 欧美电视剧免费全集观看| 91免费国产在线观看| 免费在线成人网| 亚洲色图19p| 国产亚洲欧美日韩在线一区| 91日韩一区二区三区| 九九九久久久精品| 亚洲综合在线观看视频| 国产色爱av资源综合区| 欧美日产国产精品| 欧美午夜精品电影| 91丨国产丨九色丨pron| 国产99久久久久| 激情综合网天天干| 日本成人在线看| 亚洲大尺度视频在线观看| 亚洲人成亚洲人成在线观看图片| 精品国产一区二区三区不卡| 欧美色爱综合网| 欧美午夜视频网站| 欧美一区二区三区影视| 日韩一级精品视频在线观看| 91精品国产综合久久小美女| 在线观看免费亚洲| 欧美一区二区视频在线观看2022| 欧美精品久久久久久久多人混战| 欧美性大战久久久久久久蜜臀| 精东粉嫩av免费一区二区三区| 亚洲夂夂婷婷色拍ww47| 国产精品羞羞答答xxdd| eeuss鲁片一区二区三区在线看| 91蜜桃免费观看视频| 欧美日韩国产高清一区二区三区 | 亚洲色图一区二区| 亚洲免费av网站| 午夜a成v人精品| 国产福利视频一区二区三区| 色婷婷综合久久久| 久久先锋影音av鲁色资源网| 国产精品麻豆视频| 日韩高清国产一区在线| 国产精品 日产精品 欧美精品| 成人免费毛片aaaaa**| 欧美日韩成人在线一区| 欧美激情综合五月色丁香小说| 亚洲电影你懂得| 95精品视频在线| 中文字幕精品一区二区精品绿巨人| 一区二区三区波多野结衣在线观看| 男男gaygay亚洲| 91精品国产麻豆| 亚洲线精品一区二区三区八戒| 国产精品99久| 亚洲精品一区二区在线观看| 亚洲免费观看高清完整版在线观看熊 | gogogo免费视频观看亚洲一| 欧美一区二区高清| 亚洲va在线va天堂| 色噜噜狠狠成人网p站| 亚洲精品国产一区二区三区四区在线| 久久99热99| 91免费精品国自产拍在线不卡| 亚洲日本一区二区| 91免费在线播放| 亚洲伦在线观看| 欧美色综合天天久久综合精品| 国产精品乱人伦中文| av一区二区三区黑人| 五月婷婷激情综合| 日韩一区二区三区四区| 国产一区91精品张津瑜| 久久久99久久| 色噜噜狠狠色综合欧洲selulu| 亚洲欧美另类小说视频| 欧美日韩午夜精品| 免费国产亚洲视频| 国产欧美日产一区| 91黄色免费版| 日韩高清不卡一区二区三区| 26uuu亚洲综合色| 99热99精品| 国产精品乡下勾搭老头1| 一区二区三区高清不卡| 精品免费国产一区二区三区四区| 国产成a人亚洲精品| 日韩av中文字幕一区二区| 国产欧美一区二区在线| 欧美高清一级片在线| 成人在线视频一区二区| 激情六月婷婷久久| 热久久久久久久| 伊人色综合久久天天人手人婷| 久久免费的精品国产v∧| 日韩欧美在线一区二区三区| 色悠悠亚洲一区二区| 成人午夜在线免费| 色天天综合久久久久综合片| 国产麻豆91精品| 国产成人免费在线观看不卡| 日韩在线卡一卡二| 亚洲成a人片在线观看中文| 亚洲国产精品t66y| 日韩视频中午一区| 日韩久久精品一区| 精品国产髙清在线看国产毛片| 精品视频一区三区九区| 欧美无人高清视频在线观看| 一本久道久久综合中文字幕| 波多野结衣中文字幕一区二区三区| 国模一区二区三区白浆| 国产成人精品免费网站| 91色在线porny| 欧美亚洲国产一区二区三区| 91麻豆蜜桃一区二区三区| 欧美影院一区二区三区| 日韩一区二区三区在线视频| 欧美剧情片在线观看| 欧美电影免费观看完整版| 亚洲国产精品99久久久久久久久 | 久久综合久久综合久久| 欧美高清在线一区| 日韩国产欧美在线播放| 国产精品一区二区在线观看网站| 成人动漫精品一区二区| 欧美日韩免费高清一区色橹橹 | 国产精品你懂的在线| 日韩国产在线观看一区| 成人性生交大片免费看视频在线| 欧美精品123区| 亚洲欧美自拍偷拍色图| 狠狠色综合日日| 欧美高清视频www夜色资源网| wwww国产精品欧美| 亚洲成人在线网站| 色综合网站在线| 国产亚洲成aⅴ人片在线观看| 亚洲一区二区黄色| 色婷婷久久久久swag精品| 中文字幕二三区不卡| 国产一区二区精品久久| 欧美乱妇20p| 日本午夜精品视频在线观看| 91麻豆成人久久精品二区三区| 欧美喷水一区二区| 亚洲综合丝袜美腿| 欧美丝袜自拍制服另类| 一区二区三区在线观看网站| 91视频在线观看| 视频一区欧美精品| 337p亚洲精品色噜噜| 三级在线观看一区二区 | 91黄色免费网站| 天堂精品中文字幕在线| 日韩一级免费一区| 国产高清视频一区| 亚洲欧美日韩中文播放 | 欧美精品视频www在线观看| 日本sm残虐另类| 国产欧美日韩在线| 色狠狠色狠狠综合| 免费人成黄页网站在线一区二区| 久久人人爽人人爽| 在线精品视频免费播放| 久久精品国产在热久久| 中文字幕免费在线观看视频一区| 99精品欧美一区二区三区小说| 一级精品视频在线观看宜春院 | 久久99精品国产.久久久久| 中文字幕在线一区| 欧美成人综合网站| 欧美日韩精品欧美日韩精品一| 精品综合免费视频观看| 亚洲精品久久久蜜桃| 精品国产伦一区二区三区免费| 成人h版在线观看| 乱中年女人伦av一区二区| 亚洲三级电影全部在线观看高清| 欧美一区二区三区在线| 欧美日韩和欧美的一区二区| 成人一级视频在线观看| 免费视频一区二区| 奇米影视一区二区三区| 亚洲一区二区精品3399| 亚洲男同1069视频| 亚洲欧洲av在线| 一区二区欧美视频| 亚洲国产成人91porn| 亚洲综合免费观看高清完整版在线| 在线91免费看| 91免费看`日韩一区二区| 成人深夜在线观看| 波多野结衣中文字幕一区 |