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

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

?? zzx.txt

?? 數(shù)值算法庫for Unix
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
/**************************************************************************\MODULE: ZZXSUMMARY:The class ZZX implements polynomials in ZZ[X], i.e., univariatepolynomials with integer coefficients.Polynomial multiplication is implemented using one of 4 differentalgorithms:1) classical 2) Karatsuba3) Schoenhage & Strassen --- performs an FFT by working     modulo a "Fermat number" of appropriate size...     good for polynomials with huge coefficients     and moderate degree4) CRT/FFT --- performs an FFT by working modulo several     small primes...good for polynomials with moderate coefficients     and huge degree.The choice of algorithm is somewhat heuristic, and may not always beperfect.Many thanks to Juergen Gerhard <jngerhar@plato.uni-paderborn.de> forpointing out the deficiency in the NTL-1.0 ZZX arithmetic, and forcontributing the Schoenhage/Strassen code.Extensive use is made of modular algorithms to enhance performance(e.g., the GCD algorithm and amny others).\**************************************************************************/#include <NTL/vec_ZZ.h>#include "zz_pX.h"#include <NTL/ZZ_pX.h>class ZZX {public:   ZZX(); // initial value 0   ZZX(const ZZX& a); // copy   ZZX& operator=(const ZZX& a); // assignment   ZZX& operator=(const ZZ& a);   ZZX& operator=(long a);   ~ZZX();   ZZX(long i, const ZZ& c); // initial value X^i*c   ZZX(long i, long c);    // ...};/**************************************************************************\                                  Comparison\**************************************************************************/long operator==(const ZZX& a, const ZZX& b);long operator!=(const ZZX& a, const ZZX& b);long IsZero(const ZZX& a);  // test for 0long IsOne(const ZZX& a);  // test for 1// PROMOTIONS: operators ==, != promote {long, ZZ} to ZZX on (a, b)./**************************************************************************\                                   Addition\**************************************************************************/// operator notation:ZZX operator+(const ZZX& a, const ZZX& b);ZZX operator-(const ZZX& a, const ZZX& b);ZZX operator-(const ZZX& a); // unary -ZZX& operator+=(ZZX& x, const ZZX& a);ZZX& operator-=(ZZX& x, const ZZX& a);ZZX& operator++(ZZX& x);  // prefixvoid operator++(ZZX& x, int);  // postfixZZX& operator--(ZZX& x);  // prefixvoid operator--(ZZX& x, int);  // postfix// procedural versions:void add(ZZX& x, const ZZX& a, const ZZX& b); // x = a + bvoid sub(ZZX& x, const ZZX& a, const ZZX& b); // x = a - bvoid negate(ZZX& x, const ZZX& a); // x = -a// PROMOTIONS: binary +, - and procedures add, sub promote {long, ZZ} // to ZZX on (a, b)./**************************************************************************\                               Multiplication\**************************************************************************/// operator notation:ZZX operator*(const ZZX& a, const ZZX& b);ZZX& operator*=(ZZX& x, const ZZX& a);// procedural versions:void mul(ZZX& x, const ZZX& a, const ZZX& b); // x = a * bvoid sqr(ZZX& x, const ZZX& a); // x = a^2ZZX sqr(const ZZX& a);// PROMOTIONS: operator * and procedure mul promote {long, ZZ} to ZZX // on (a, b)./**************************************************************************\                               Shift OperationsLeftShift by n means multiplication by X^nRightShift by n means division by X^nA negative shift amount reverses the direction of the shift.\**************************************************************************/// operator notation:ZZX operator<<(const ZZX& a, long n);ZZX operator>>(const ZZX& a, long n);ZZX& operator<<=(ZZX& x, long n);ZZX& operator>>=(ZZX& x, long n);// procedural versions:void LeftShift(ZZX& x, const ZZX& a, long n); ZZX LeftShift(const ZZX& a, long n);void RightShift(ZZX& x, const ZZX& a, long n); ZZX RightShift(const ZZX& a, long n); /**************************************************************************\                                  Division\**************************************************************************/// Given polynomials a, b in ZZ[X], there exist polynomials// q, r in QQ[X] such that a = b*q + r, deg(r) < deg(b).// These routines return q and/or r if q and/or r lie(s) in ZZ[X],// and otherwise raise an error.  // Note that if the leading coefficient of b is 1 or -1, // then q and r always lie in ZZ[X], and no error can occur.// For example, you can write f/2 for a ZZX f.  If all coefficients// of f are even, the result is f with a factor of two removed;// otherwise, an error is raised.  More generally, f/g will be// evaluate q in ZZ[X] such that f = q*g if such a q exists,// and will otherwise raise an error.// See also below the routines for pseudo-division and division// predicates for routines that are perhaps more useful in// some situations.// operator notation: ZZX operator/(const ZZX& a, const ZZX& b);ZZX operator/(const ZZX& a, const ZZ& b);ZZX operator/(const ZZX& a, long b);ZZX operator%(const ZZX& a, const ZZX& b);ZZX& operator/=(ZZX& x, const ZZX& b);ZZX& operator/=(ZZX& x, const ZZ& b);ZZX& operator/=(ZZX& x, long b);ZZX& operator%=(ZZX& x, const ZZX& b);// procedural versions:void DivRem(ZZX& q, ZZX& r, const ZZX& a, const ZZX& b);// computes q, r such that a = b q + r and deg(r) < deg(b).// requires LeadCoeff(b) is a unit (+1, -1); otherwise,// an error is raised.void div(ZZX& q, const ZZX& a, const ZZX& b);void div(ZZX& q, const ZZX& a, const ZZ& b);void div(ZZX& q, const ZZX& a, long b);// same as DivRem, but only computes qvoid rem(ZZX& r, const ZZX& a, const ZZX& b);// same as DivRem, but only computes r// divide predicates:long divide(ZZX& q, const ZZX& a, const ZZX& b);long divide(ZZX& q, const ZZX& a, const ZZ& b);long divide(ZZX& q, const ZZX& a, long b);// if b | a, sets q = a/b and returns 1; otherwise returns 0long divide(const ZZX& a, const ZZX& b);long divide(const ZZX& a, const ZZ& b);long divide(const ZZX& a, long b);// if b | a, returns 1; otherwise returns 0// These algorithms employ a modular approach, performing the division// modulo small primes (reconstructing q via the CRT).  It is// usually much faster than the general division routines above// (especially when b does not divide a).void content(ZZ& d, const ZZX& f);ZZ content(const ZZX& f);// d = content of f, sign(d) == sign(LeadCoeff(f)); content(0) == 0void PrimitivePart(ZZX& pp, const ZZX& f);ZZX PrimitivePart(const ZZX& f); // pp = primitive part of f, LeadCoeff(pp) >= 0; PrimitivePart(0) == 0// pseudo-division:void PseudoDivRem(ZZX& q, ZZX& r, const ZZX& a, const ZZX& b);// performs pseudo-division: computes q and r with deg(r) < deg(b),// and LeadCoeff(b)^(deg(a)-deg(b)+1) a = b q + r.  Only the classical// algorithm is used.void PseudoDiv(ZZX& q, const ZZX& a, const ZZX& b);ZZX PseudoDiv(const ZZX& a, const ZZX& b);// same as PseudoDivRem, but only computes qvoid PseudoRem(ZZX& r, const ZZX& a, const ZZX& b);ZZX PseudoRem(const ZZX& a, const ZZX& b);// same as PseudoDivRem, but only computes r/**************************************************************************\                                  GCD's

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新高清无码专区| 国产精品一区专区| 国产在线视频精品一区| 91久久一区二区| 2014亚洲片线观看视频免费| 亚洲黄色小视频| 国产成人精品免费网站| 欧美一级一区二区| 亚洲免费观看高清完整版在线| 激情文学综合插| 在线成人免费观看| 一区二区三区免费观看| 成人av网在线| 日本一区二区三区免费乱视频 | 日韩色视频在线观看| 亚洲自拍偷拍麻豆| 91社区在线播放| 中文字幕av不卡| 韩国av一区二区三区| 欧美变态凌虐bdsm| 秋霞午夜av一区二区三区| 欧美色区777第一页| 亚洲乱码中文字幕综合| 不卡欧美aaaaa| 亚洲国产成人私人影院tom| 韩国三级电影一区二区| 精品国产青草久久久久福利| 青娱乐精品视频在线| 欧美性做爰猛烈叫床潮| 亚洲一区二区三区四区中文字幕| 99re6这里只有精品视频在线观看| 久久美女艺术照精彩视频福利播放 | 风流少妇一区二区| 久久久精品日韩欧美| 国产精品一区二区91| 欧美国产一区二区| 成人av免费网站| 亚洲另类色综合网站| 欧美日韩极品在线观看一区| 香蕉成人伊视频在线观看| 这里只有精品电影| 蜜臀av国产精品久久久久| 精品国内二区三区| 国产成人免费在线视频| 国产精品美女久久久久久久久| 成人国产亚洲欧美成人综合网 | 不卡的电影网站| 亚洲黄色小说网站| 91精品国产高清一区二区三区| 日韩不卡免费视频| 久久久久青草大香线综合精品| 国产电影一区二区三区| 中文字幕中文字幕在线一区 | 亚洲乱码国产乱码精品精的特点| 91麻豆成人久久精品二区三区| 一区二区在线观看免费视频播放| 欧美日韩一区二区三区在线| 日本一不卡视频| 国产亚洲一区二区三区| 日本久久一区二区| 免费欧美日韩国产三级电影| 国产欧美日产一区| 欧美日韩午夜在线| 久久99久久久久| 中文字幕在线观看一区| 在线观看91精品国产麻豆| 国产成人精品网址| 午夜电影久久久| 国产精品久久久久久久久免费相片| 色婷婷狠狠综合| 国产真实精品久久二三区| 亚洲另类春色校园小说| 精品福利一区二区三区| 91久久国产最好的精华液| 精品一区二区三区在线播放| 日韩久久一区二区| 欧美成人a视频| 91国偷自产一区二区开放时间| 激情综合网av| 亚洲福利视频一区| 国产精品福利一区二区三区| 日韩精品一区二区三区在线播放 | 欧美精品日韩精品| 99久久精品免费看国产免费软件| 日本欧美肥老太交大片| 亚洲综合小说图片| 国产午夜久久久久| 日韩一区二区三免费高清| 一本到三区不卡视频| 国产精品香蕉一区二区三区| 丝袜脚交一区二区| 亚洲精品国产a| 亚洲国产激情av| www成人在线观看| 欧美一区二区女人| 欧美性极品少妇| av在线一区二区三区| 久久国产三级精品| 奇米亚洲午夜久久精品| 亚洲www啪成人一区二区麻豆| 亚洲欧美日韩国产成人精品影院 | 精品久久久久久无| 欧美日韩国产首页| 精品视频在线看| 欧美视频在线一区| 91国在线观看| 色天使久久综合网天天| 99riav久久精品riav| 成人av电影在线网| 国产成人精品免费在线| 国产成人在线视频免费播放| 国产伦精品一区二区三区在线观看| 日本不卡的三区四区五区| 天天影视网天天综合色在线播放| 亚洲一二三四在线观看| 亚洲国产精品精华液网站| 亚洲在线视频网站| 亚洲国产精品久久不卡毛片 | 欧美一区二区三区免费大片| 欧美二区三区91| 91精品国产91久久久久久最新毛片 | 懂色av一区二区三区蜜臀| 精品一区二区在线看| 精品一区二区三区免费| 国内精品伊人久久久久av影院 | 中文天堂在线一区| 中日韩av电影| 亚洲男人天堂av网| 亚洲第一激情av| 日日欢夜夜爽一区| 久久精品av麻豆的观看方式| 狠狠色丁香久久婷婷综合丁香| 国产在线播放一区| 成人永久免费视频| 色妞www精品视频| 欧美日韩精品电影| 久久久精品影视| 亚洲欧美日韩国产成人精品影院| 亚洲成人自拍一区| 国产在线精品一区二区夜色| 成人丝袜高跟foot| 欧美私模裸体表演在线观看| 欧美绝品在线观看成人午夜影视| 日韩久久久久久| 欧美高清在线精品一区| 亚洲国产欧美一区二区三区丁香婷| 蜜臀av国产精品久久久久| 成人在线综合网站| 51久久夜色精品国产麻豆| 国产日韩av一区| 亚洲成av人影院| 丁香激情综合国产| 欧美午夜宅男影院| 国产日韩欧美制服另类| 亚洲成人免费电影| 国产一区欧美一区| 欧美性受极品xxxx喷水| 日本一区二区免费在线| 婷婷开心激情综合| 成人亚洲一区二区一| 欧美日韩成人高清| 国产精品国产三级国产aⅴ中文 | 精品久久久久久最新网址| 亚洲精品乱码久久久久久黑人| 久久99热这里只有精品| 欧美最猛性xxxxx直播| 欧美精品一区二区三区在线| 亚洲综合成人在线| 成人性生交大片免费看中文| 3d成人动漫网站| 自拍偷自拍亚洲精品播放| 国产一区二区网址| 6080yy午夜一二三区久久| 亚洲视频在线观看一区| 国内外成人在线| 欧美日韩一区二区欧美激情| 国产精品不卡视频| 国产成人综合网站| 精品欧美久久久| 午夜视频一区二区| 91久久香蕉国产日韩欧美9色| 日本一区二区三区国色天香| 国模娜娜一区二区三区| 欧美电影在线免费观看| 亚洲成人av在线电影| 色婷婷av久久久久久久| 综合久久综合久久| 成人a免费在线看| 国产日韩视频一区二区三区| 韩国女主播成人在线| 精品sm在线观看| 欧美aⅴ一区二区三区视频| 欧美日韩视频在线第一区| 亚洲男帅同性gay1069| 99国产精品久久| 亚洲精品精品亚洲| 色噜噜久久综合| 亚洲国产va精品久久久不卡综合| 一本色道a无线码一区v| 亚洲精品国产一区二区精华液|