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

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

?? lzz_pxfactoring.h

?? 一個比較通用的大數運算庫
?? H
字號:


#ifndef NTL_zz_pXFactoring__H
#define NTL_zz_pXFactoring__H

#include <NTL/lzz_p.h>
#include <NTL/lzz_pX.h>
#include <NTL/pair_lzz_pX_long.h>

NTL_OPEN_NNS



/************************************************************

                      factorization routines 

************************************************************/





void SquareFreeDecomp(vec_pair_zz_pX_long& u, const zz_pX& f);
inline vec_pair_zz_pX_long SquareFreeDecomp(const zz_pX& f)
   { vec_pair_zz_pX_long x; SquareFreeDecomp(x, f); return x; }


// Performs square-free decomposition.
// f must be monic.
// If f = prod_i g_i^i, then u is set to a lest of pairs (g_i, i).
// The list is is increasing order of i, with trivial terms
// (i.e., g_i = 1) deleted.



void FindRoots(vec_zz_p& x, const zz_pX& f);
inline vec_zz_p FindRoots(const zz_pX& f)
   { vec_zz_p x; FindRoots(x, f); return x; }


// f is monic, and has deg(f) distinct roots.
// returns the list of roots

void FindRoot(zz_p& root, const zz_pX& f);
inline zz_p FindRoot(const zz_pX& f)
   { zz_p x; FindRoot(x, f); return x; }


// finds a single root of ff.
// assumes that f is monic and splits into distinct linear factors


void SFBerlekamp(vec_zz_pX& factors, const zz_pX& f, long verbose=0);
inline vec_zz_pX SFBerlekamp(const zz_pX& f, long verbose=0)
   { vec_zz_pX x; SFBerlekamp(x, f, verbose); return x; }


// Assumes f is square-free and monic.
// returns list of factors of f.
// Uses "Berlekamp" appraoch.


void berlekamp(vec_pair_zz_pX_long& factors, const zz_pX& f, long verbose=0);
inline vec_pair_zz_pX_long berlekamp(const zz_pX& f, long verbose=0)
   { vec_pair_zz_pX_long x; berlekamp(x, f, verbose); return x; }


// returns a list of factors, with multiplicities.
// f must be monic.
// Uses "Berlekamp" appraoch.





extern long zz_pX_BlockingFactor;
// Controls GCD blocking for DDF.


void DDF(vec_pair_zz_pX_long& factors, const zz_pX& f, const zz_pX& h,
         long verbose=0);
inline vec_pair_zz_pX_long DDF(const zz_pX& f, const zz_pX& h,
         long verbose=0)
   { vec_pair_zz_pX_long x; DDF(x, f, h, verbose); return x; }


// Performs distinct-degree factorization.
// Assumes f is monic and square-free,  and h  = X^p mod f
// Obsolete: see NewDDF, below.


extern long zz_pX_GCDTableSize; /* = 4 */
// Controls GCD blocking for NewDDF


void NewDDF(vec_pair_zz_pX_long& factors, const zz_pX& f, const zz_pX& h,
         long verbose=0);
inline vec_pair_zz_pX_long NewDDF(const zz_pX& f, const zz_pX& h,
         long verbose=0)
   { vec_pair_zz_pX_long x; NewDDF(x, f, h, verbose); return x; }


// same as above, but uses baby-step/giant-step method


void EDF(vec_zz_pX& factors, const zz_pX& f, const zz_pX& b,
         long d, long verbose=0);

inline vec_zz_pX EDF(const zz_pX& f, const zz_pX& b,
         long d, long verbose=0)
   { vec_zz_pX x; EDF(x, f, b, d, verbose); return x; }


// Performs equal-degree factorization.
// f is monic, square-free, and all irreducible factors have same degree.
// b = X^p mod f.
// d = degree of irreducible factors of f
// Space for the trace-map computation can be controlled via ComposeBound.



void RootEDF(vec_zz_pX& factors, const zz_pX& f, long verbose=0);
inline vec_zz_pX RootEDF(const zz_pX& f, long verbose=0)
   { vec_zz_pX x; RootEDF(x, f, verbose); return x; }


// EDF for d==1

void SFCanZass(vec_zz_pX& factors, const zz_pX& f, long verbose=0);
inline vec_zz_pX SFCanZass(const zz_pX& f, long verbose=0)
   { vec_zz_pX x; SFCanZass(x, f, verbose); return x; }


// Assumes f is square-free.
// returns list of factors of f.
// Uses "Cantor/Zassenhaus" approach.



void SFCanZass1(vec_pair_zz_pX_long& u, zz_pX& h, const zz_pX& f, 
                long verbose=0);

// Not intended for general use.

void SFCanZass2(vec_zz_pX& factors, const vec_pair_zz_pX_long& u,
                const zz_pX& h, long verbose=0);

// Not intended for general use.


void CanZass(vec_pair_zz_pX_long& factors, const zz_pX& f, long verbose=0);

inline vec_pair_zz_pX_long CanZass(const zz_pX& f, long verbose=0)
   { vec_pair_zz_pX_long x; CanZass(x, f, verbose); return x; }


// returns a list of factors, with multiplicities.
// f must be monic.
// Uses "Cantor/Zassenhaus" approach.




void mul(zz_pX& f, const vec_pair_zz_pX_long& v);
inline zz_pX mul(const vec_pair_zz_pX_long& v)
   { zz_pX x; mul(x, v); return x; }


// multiplies polynomials, with multiplicities


/*************************************************************

            irreducible poly's:  tests and constructions

**************************************************************/

long ProbIrredTest(const zz_pX& f, long iter=1);

// performs a fast, probabilistic irreduciblity test
// the test can err only if f is reducible, and the
// error probability is bounded by p^{-iter}.

long DetIrredTest(const zz_pX& f);

// performs a recursive deterministic irreducibility test
// fast in the worst-case (when input is irreducible).

long IterIrredTest(const zz_pX& f);

// performs an iterative deterministic irreducibility test,
// based on DDF.  Fast on average (when f has a small factor).

void BuildIrred(zz_pX& f, long n);
inline zz_pX BuildIrred_zz_pX(long n)
   { zz_pX x; BuildIrred(x, n); NTL_OPT_RETURN(zz_pX, x); }


// Build a monic irreducible poly of degree n.

void BuildRandomIrred(zz_pX& f, const zz_pX& g);
inline zz_pX BuildRandomIrred(const zz_pX& g)
   { zz_pX x; BuildRandomIrred(x, g); NTL_OPT_RETURN(zz_pX, x); }


// g is a monic irreducible polynomial.
// constructs a random monic irreducible polynomial f of the same degree.


long ComputeDegree(const zz_pX& h, const zz_pXModulus& F);

// f = F.f is assumed to be an "equal degree" polynomial
// h = X^p mod f
// the common degree of the irreducible factors of f is computed
// This routine is useful in counting points on elliptic curves

long ProbComputeDegree(const zz_pX& h, const zz_pXModulus& F);

// same as above, but uses a slightly faster probabilistic algorithm
// the return value may be 0 or may be too big, but for large p
// (relative to n), this happens with very low probability.



void TraceMap(zz_pX& w, const zz_pX& a, long d, const zz_pXModulus& F,
              const zz_pX& b);

inline zz_pX TraceMap(const zz_pX& a, long d, const zz_pXModulus& F,
              const zz_pX& b)
   { zz_pX x; TraceMap(x, a, d, F, b); return x; }


// w = a+a^q+...+^{q^{d-1}} mod f;
// it is assumed that d >= 0, and b = X^q mod f, q a power of p
// Space allocation can be controlled via ComposeBound (see "zz_pX.h")



void PowerCompose(zz_pX& w, const zz_pX& a, long d, const zz_pXModulus& F);
inline zz_pX PowerCompose(const zz_pX& a, long d, const zz_pXModulus& F)
   { zz_pX x; PowerCompose(x, a, d, F); return x; }


// w = X^{q^d} mod f;
// it is assumed that d >= 0, and b = X^q mod f, q a power of p
// Space allocation can be controlled via ComposeBound (see "zz_pX.h")

NTL_CLOSE_NNS

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲第一成年网| 91精选在线观看| 激情六月婷婷综合| 日本欧美肥老太交大片| 亚洲高清免费视频| 亚洲男人的天堂在线观看| 欧美国产激情一区二区三区蜜月 | 久久你懂得1024| 精品国偷自产国产一区| 欧美tickling挠脚心丨vk| 精品久久久久香蕉网| 久久久久久综合| 欧美激情一二三区| 中文字幕综合网| 一区二区三区视频在线看| 悠悠色在线精品| 亚洲影视在线观看| 男人的j进女人的j一区| 精品午夜久久福利影院| 国产精品系列在线播放| 96av麻豆蜜桃一区二区| 91精品福利视频| 91精品免费观看| 欧美精品一区二| 国产精品理论在线观看| 亚洲欧美日韩综合aⅴ视频| 欧美激情资源网| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧美日韩国产综合| 尤物在线观看一区| 亚洲综合成人网| 亚洲国产视频直播| 亚洲成av人片观看| 日本视频一区二区三区| 蜜桃av一区二区三区电影| 久久99国产精品久久99果冻传媒| 奇米亚洲午夜久久精品| 精品一区精品二区高清| 国产乱对白刺激视频不卡| 国产91精品一区二区麻豆亚洲| 国产精品系列在线播放| 99视频精品全部免费在线| 色综合天天天天做夜夜夜夜做| 欧美在线视频全部完| 欧美精品高清视频| 久久香蕉国产线看观看99| 日韩欧美久久一区| 精品国产一区久久| 国产亚洲一区二区三区四区| 国产精品久久午夜| 亚洲电影第三页| 九九精品一区二区| 成人免费黄色大片| 色八戒一区二区三区| 51久久夜色精品国产麻豆| 2024国产精品| 国产欧美一区二区精品秋霞影院| 久久综合丝袜日本网| 亚洲一级二级三级在线免费观看| 亚洲第一搞黄网站| 国产精品888| 精品视频999| 日韩午夜激情av| 亚洲人成网站色在线观看| 日韩精品亚洲一区二区三区免费| 国产精品自拍毛片| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 99视频精品在线| 91 com成人网| 国产精品全国免费观看高清| 亚洲大片精品永久免费| 国产成人精品免费| 日韩一区二区三区三四区视频在线观看| 国产精品国产馆在线真实露脸| 亚洲人成7777| 亚洲一二三区视频在线观看| 国产成人一区在线| 欧美另类久久久品| 综合欧美亚洲日本| 国产一区视频导航| 51精品国自产在线| 亚洲欧美日韩人成在线播放| 国产精品自拍一区| 欧美午夜片在线观看| 一区二区三区中文字幕精品精品| 国产乱码一区二区三区| 欧美巨大另类极品videosbest| 欧美高清在线精品一区| 久久成人羞羞网站| 91麻豆精品国产91久久久使用方法 | 欧美美女视频在线观看| 亚洲欧洲在线观看av| 国产很黄免费观看久久| 欧美一区永久视频免费观看| 夜夜精品浪潮av一区二区三区| 处破女av一区二区| 欧美精品一区二区三区久久久| 夜夜亚洲天天久久| 在线影院国内精品| 亚洲欧美国产三级| 九九在线精品视频| 欧美大胆一级视频| 玖玖九九国产精品| 日韩精品一区二区三区四区视频| 日韩av电影免费观看高清完整版 | 欧美日韩国产综合视频在线观看| 一二三区精品福利视频| 一本到三区不卡视频| 三级欧美韩日大片在线看| 69堂国产成人免费视频| 日韩av高清在线观看| 精品国产污网站| 国产在线一区观看| 中文字幕精品综合| 色综合色综合色综合色综合色综合 | 日本欧美在线观看| 精品国产免费久久| 色综合久久久久久久久久久| 一区二区激情视频| 91精品国产综合久久久久久| 日韩va亚洲va欧美va久久| 精品国产一区二区三区不卡| 国产91在线观看| 亚洲欧洲日韩在线| 在线看国产一区| 裸体一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w| 国产一区二区网址| 亚洲免费成人av| 9191国产精品| 91色乱码一区二区三区| 亚洲国产视频一区| 欧美va在线播放| 成人国产一区二区三区精品| 亚洲精品五月天| 欧美一区二区成人| 国产精品亚洲一区二区三区在线| 一区二区三区成人在线视频| 6080午夜不卡| 国产伦精一区二区三区| 亚洲国产中文字幕在线视频综合 | 日韩美女一区二区三区四区| 成人小视频在线| 天天亚洲美女在线视频| 中文字幕中文字幕一区二区| 7777精品久久久大香线蕉| 成人aaaa免费全部观看| 日韩 欧美一区二区三区| 欧美日韩免费观看一区二区三区 | 国产精品久久久久7777按摩| 91精品国产综合久久小美女| 色综合久久九月婷婷色综合| 国产精品996| 天天色图综合网| 一区二区久久久| 国产日韩欧美综合一区| 91精品午夜视频| 91精品国产一区二区三区蜜臀 | 99re成人在线| 久久国产精品一区二区| 亚洲妇女屁股眼交7| 中文字幕一区二区日韩精品绯色| 日韩欧美一级二级三级久久久| 色88888久久久久久影院野外| 国产精品一二三在| 国产在线国偷精品免费看| 日韩国产精品大片| 亚洲在线视频免费观看| 国产精品成人免费精品自在线观看| 欧美三级韩国三级日本三斤| 欧美午夜宅男影院| 色综合久久综合中文综合网| 高清在线不卡av| 久久99精品久久久久| 全部av―极品视觉盛宴亚洲| 亚洲网友自拍偷拍| 一区二区三区精品| 一区二区久久久久| 一区二区三区蜜桃| 亚洲一区二区三区精品在线| 亚洲激情综合网| 亚洲视频1区2区| 天天综合色天天综合| 日韩在线一区二区三区| 午夜久久久久久| 婷婷久久综合九色综合伊人色| 麻豆国产精品官网| 激情丁香综合五月| 国产成a人无v码亚洲福利| 国产高清亚洲一区| 处破女av一区二区| 欧美日韩国产另类一区| 91精品婷婷国产综合久久性色| 欧美电影影音先锋| 日韩免费视频线观看| 欧美大肚乱孕交hd孕妇| 国产三级欧美三级日产三级99| 国产午夜精品理论片a级大结局 | 久久免费精品国产久精品久久久久 | 这里只有精品电影|