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

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

?? lzz_pex.h

?? 一個比較通用的大數運算庫
?? H
?? 第 1 頁 / 共 3 頁
字號:

#ifndef NTL_zz_pEX__H
#define NTL_zz_pEX__H

#include <NTL/vec_lzz_pE.h>

NTL_OPEN_NNS

class zz_pEX {

public:

vec_zz_pE rep;


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

          Constructors, Destructors, and Assignment

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


zz_pEX()
//  initial value 0

   { }


zz_pEX(INIT_SIZE_TYPE, long n) { rep.SetMaxLength(n); }

~zz_pEX() { }

void normalize();
// strip leading zeros

void SetMaxLength(long n) 
// pre-allocate space for n coefficients.
// Value is unchanged

   { rep.SetMaxLength(n); }


void kill() 
// free space held by this polynomial.  Value becomes 0.

   { rep.kill(); }

static const zz_pEX& zero();

inline zz_pEX(long i, const zz_pE& c);
inline zz_pEX(long i, const zz_p& c);
inline zz_pEX(long i, long c);


inline zz_pEX& operator=(long a);
inline zz_pEX& operator=(const zz_p& a);
inline zz_pEX& operator=(const zz_pE& a);

zz_pEX(zz_pEX& x, INIT_TRANS_TYPE) : rep(x.rep, INIT_TRANS) { }


};


NTL_SNS istream& operator>>(NTL_SNS istream& s, zz_pEX& x);
NTL_SNS ostream& operator<<(NTL_SNS ostream& s, const zz_pEX& a);




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

                   Some utility routines

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


inline long deg(const zz_pEX& a) { return a.rep.length() - 1; }
// degree of a polynomial.
// note that the zero polynomial has degree -1.

const zz_pE& coeff(const zz_pEX& a, long i);
// zero if i not in range

const zz_pE& LeadCoeff(const zz_pEX& a);
// zero if a == 0

const zz_pE& ConstTerm(const zz_pEX& a);
// zero if a == 0

void SetCoeff(zz_pEX& x, long i, const zz_pE& a);
void SetCoeff(zz_pEX& x, long i, const zz_p& a);
void SetCoeff(zz_pEX& x, long i, long a);
// x[i] = a, error is raised if i < 0

inline zz_pEX::zz_pEX(long i, const zz_pE& a)
   { SetCoeff(*this, i, a); }

inline zz_pEX::zz_pEX(long i, const zz_p& a)
   { SetCoeff(*this, i, a); }

inline zz_pEX::zz_pEX(long i, long a)
   { SetCoeff(*this, i, a); }

void SetCoeff(zz_pEX& x, long i);
// x[i] = 1, error is raised if i < 0

void SetX(zz_pEX& x);
// x is set to the monomial X

long IsX(const zz_pEX& a);
// test if x = X

inline void clear(zz_pEX& x) 
// x = 0

   { x.rep.SetLength(0); }

inline void set(zz_pEX& x)
// x = 1

   { x.rep.SetLength(1); set(x.rep[0]); }

inline void swap(zz_pEX& x, zz_pEX& y)
// swap x & y (only pointers are swapped)

   { swap(x.rep, y.rep); }

void random(zz_pEX& x, long n);
inline zz_pEX random_zz_pEX(long n)
   { zz_pEX x; random(x, n); NTL_OPT_RETURN(zz_pEX, x); }
// generate a random polynomial of degree < n 

void trunc(zz_pEX& x, const zz_pEX& a, long m);
inline zz_pEX trunc(const zz_pEX& a, long m)
   { zz_pEX x; trunc(x, a, m);  NTL_OPT_RETURN(zz_pEX, x); }
// x = a % X^m

void RightShift(zz_pEX& x, const zz_pEX& a, long n);
inline zz_pEX RightShift(const zz_pEX& a, long n)
   { zz_pEX x; RightShift(x, a, n);  NTL_OPT_RETURN(zz_pEX, x); }
// x = a/X^n

void LeftShift(zz_pEX& x, const zz_pEX& a, long n);
inline zz_pEX LeftShift(const zz_pEX& a, long n)
   { zz_pEX x; LeftShift(x, a, n);  NTL_OPT_RETURN(zz_pEX, x); }
// x = a*X^n

#ifndef NTL_TRANSITION

inline zz_pEX operator>>(const zz_pEX& a, long n)
   { zz_pEX x; RightShift(x, a, n); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX operator<<(const zz_pEX& a, long n)
   { zz_pEX x; LeftShift(x, a, n); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX& operator<<=(zz_pEX& x, long n)
   { LeftShift(x, x, n); return x; }

inline zz_pEX& operator>>=(zz_pEX& x, long n)
   { RightShift(x, x, n); return x; }

#endif



void diff(zz_pEX& x, const zz_pEX& a);
inline zz_pEX diff(const zz_pEX& a)
   { zz_pEX x; diff(x, a);  NTL_OPT_RETURN(zz_pEX, x); }
// x = derivative of a



void MakeMonic(zz_pEX& x);

void reverse(zz_pEX& c, const zz_pEX& a, long hi);

inline zz_pEX reverse(const zz_pEX& a, long hi)
   { zz_pEX x; reverse(x, a, hi); NTL_OPT_RETURN(zz_pEX, x); }

inline void reverse(zz_pEX& c, const zz_pEX& a)
{  reverse(c, a, deg(a)); }

inline zz_pEX reverse(const zz_pEX& a)
   { zz_pEX x; reverse(x, a); NTL_OPT_RETURN(zz_pEX, x); }

inline void VectorCopy(vec_zz_pE& x, const zz_pEX& a, long n)
   { VectorCopy(x, a.rep, n); }

inline vec_zz_pE VectorCopy(const zz_pEX& a, long n)
   { return VectorCopy(a.rep, n); }






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

                        conversion routines

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



void conv(zz_pEX& x, long a);

void conv(zz_pEX& x, const ZZ& a);

void conv(zz_pEX& x, const zz_p& a);
void conv(zz_pEX& x, const zz_pX& a);
void conv(zz_pEX& x, const zz_pE& a);


void conv(zz_pEX& x, const vec_zz_pE& a);

inline zz_pEX to_zz_pEX(long a)
   { zz_pEX x; conv(x, a); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX to_zz_pEX(const ZZ& a)
   { zz_pEX x; conv(x, a); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX to_zz_pEX(const zz_p& a)
   { zz_pEX x; conv(x, a); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX to_zz_pEX(const zz_pX& a)
   { zz_pEX x; conv(x, a); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX to_zz_pEX(const zz_pE& a)
   { zz_pEX x; conv(x, a); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX to_zz_pEX(const vec_zz_pE& a)
   { zz_pEX x; conv(x, a); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX& zz_pEX::operator=(long a)
   { conv(*this, a); return *this; }

inline zz_pEX& zz_pEX::operator=(const zz_p& a)
   { conv(*this, a); return *this; }

inline zz_pEX& zz_pEX::operator=(const zz_pE& a)
   { conv(*this, a); return *this; }


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

                        Comparison

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

long IsZero(const zz_pEX& a); 

long IsOne(const zz_pEX& a);

inline long operator==(const zz_pEX& a, const zz_pEX& b)
{ return a.rep == b.rep; }

long operator==(const zz_pEX& a, long b);
long operator==(const zz_pEX& a, const zz_p& b);
long operator==(const zz_pEX& a, const zz_pE& b);

inline long operator==(long a, const zz_pEX& b)
   { return (b == a); }
inline long operator==(const zz_p& a, const zz_pEX& b)
   { return (b == a); }
inline long operator==(const zz_pE& a, const zz_pEX& b)
   { return (b == a); }

inline long operator!=(const zz_pEX& a, const zz_pEX& b)
   { return !(a == b); }
inline long operator!=(const zz_pEX& a, long b)
   { return !(a == b); }
inline long operator!=(const zz_pEX& a, const zz_p& b)
   { return !(a == b); }
inline long operator!=(const zz_pEX& a, const zz_pE& b)
   { return !(a == b); }
inline long operator!=(const long a, const zz_pEX& b)
   { return !(a == b); }
inline long operator!=(const zz_p& a, const zz_pEX& b)
   { return !(a == b); }
inline long operator!=(const zz_pE& a, const zz_pEX& b)
   { return !(a == b); }


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

                         Addition

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

void add(zz_pEX& x, const zz_pEX& a, const zz_pEX& b);

void sub(zz_pEX& x, const zz_pEX& a, const zz_pEX& b);

void negate(zz_pEX& x, const zz_pEX& a);

// scalar versions

void add(zz_pEX & x, const zz_pEX& a, long b); 
void add(zz_pEX & x, const zz_pEX& a, const zz_p& b); 
void add(zz_pEX & x, const zz_pEX& a, const zz_pE& b); 

inline void add(zz_pEX& x, const zz_pE& a, const zz_pEX& b)
   { add(x, b, a); }
inline void add(zz_pEX& x, const zz_p& a, const zz_pEX& b)
   { add(x, b, a); }
inline void add(zz_pEX& x, long a, const zz_pEX& b)
   { add(x, b, a); }

void sub(zz_pEX & x, const zz_pEX& a, long b); 
void sub(zz_pEX & x, const zz_pEX& a, const zz_p& b); 
void sub(zz_pEX & x, const zz_pEX& a, const zz_pE& b); 

void sub(zz_pEX& x, const zz_pE& a, const zz_pEX& b);
void sub(zz_pEX& x, const zz_p& a, const zz_pEX& b);
void sub(zz_pEX& x, long a, const zz_pEX& b);



inline zz_pEX operator+(const zz_pEX& a, const zz_pEX& b)
   { zz_pEX x; add(x, a, b); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX operator+(const zz_pEX& a, const zz_pE& b)
   { zz_pEX x; add(x, a, b); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX operator+(const zz_pEX& a, const zz_p& b)
   { zz_pEX x; add(x, a, b); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX operator+(const zz_pEX& a, long b)
   { zz_pEX x; add(x, a, b); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX operator+(const zz_pE& a, const zz_pEX& b)
   { zz_pEX x; add(x, a, b); NTL_OPT_RETURN(zz_pEX, x); }

inline zz_pEX operator+(const zz_p& a, const zz_pEX& b)
   { zz_pEX x; add(x, a, b); NTL_OPT_RETURN(zz_pEX, x); }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲婷婷综合久久一本伊一区| 99re亚洲国产精品| 精品日韩欧美在线| 久久电影网站中文字幕| 国产亚洲欧洲一区高清在线观看| 国产乱色国产精品免费视频| 日本一区二区成人| 色素色在线综合| 日韩不卡一二三区| 久久久久久久久久久99999| av亚洲精华国产精华| 亚洲精品视频自拍| 91精品在线麻豆| 国产精品自拍网站| 中文字幕亚洲精品在线观看 | 国产在线精品视频| 欧美国产一区二区在线观看| 色天天综合久久久久综合片| 日本va欧美va欧美va精品| 国产亚洲福利社区一区| 色呦呦日韩精品| 久久99热99| 成人欧美一区二区三区| 日韩视频一区在线观看| 高清国产午夜精品久久久久久| 亚洲欧美aⅴ...| 日韩视频一区在线观看| av在线播放不卡| 日本vs亚洲vs韩国一区三区 | 日韩欧美aaaaaa| 99精品视频在线观看免费| 久久99国产精品久久| 综合分类小说区另类春色亚洲小说欧美| 91国模大尺度私拍在线视频| 激情五月激情综合网| 亚洲最大成人综合| 久久久www免费人成精品| 欧美吻胸吃奶大尺度电影| 国产91在线看| 老司机精品视频线观看86| 亚洲美女视频在线观看| 精品国产一区二区三区久久久蜜月| 99久久久久久| 国产精品夜夜嗨| 日韩电影在线一区| 亚洲综合色区另类av| 日本一区二区三区在线不卡| 日韩亚洲欧美中文三级| 欧美亚洲国产bt| caoporen国产精品视频| 国产乱码精品一区二区三区av | 欧美精品久久久久久久多人混战| 粗大黑人巨茎大战欧美成人| 蜜桃视频免费观看一区| 亚洲国产一区二区在线播放| 国产精品麻豆久久久| 久久久www成人免费毛片麻豆| 欧美日本韩国一区二区三区视频| 色呦呦一区二区三区| 97久久人人超碰| 成人福利视频在线看| 国产美女精品人人做人人爽 | 国模娜娜一区二区三区| 日韩精品欧美成人高清一区二区| 亚洲人xxxx| 亚洲精品乱码久久久久久久久 | 国产视频在线观看一区二区三区 | 亚洲成a人v欧美综合天堂下载 | 欧美日韩在线直播| 在线看一区二区| 色www精品视频在线观看| 丁香激情综合五月| 丁香激情综合五月| 成人aaaa免费全部观看| 成人av动漫网站| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精彩视频一区二区三区| 蜜桃视频一区二区| 激情综合色综合久久| 久久国产福利国产秒拍| 国产精品一区2区| 蜜桃视频免费观看一区| 激情小说欧美图片| 丁香婷婷综合网| 国产风韵犹存在线视精品| 国产99精品视频| 99视频精品免费视频| 91看片淫黄大片一级在线观看| 91亚洲男人天堂| 欧美亚洲国产一区二区三区va| 欧美日韩精品一区二区三区蜜桃 | 日本黄色一区二区| 欧美日韩国产中文| 日韩欧美成人一区| 久久久精品欧美丰满| 国产精品传媒入口麻豆| 一区二区三区精品视频在线| 日韩激情在线观看| 国产乱对白刺激视频不卡| 成人激情电影免费在线观看| 色综合久久久久网| 欧美日韩国产片| 日韩久久精品一区| 国产精品久久影院| 午夜视频一区在线观看| 韩国精品主播一区二区在线观看 | 色噜噜狠狠色综合欧洲selulu| 欧美性大战久久久久久久| 欧美一区二区三区爱爱| 国产日韩欧美制服另类| 一区二区三区精品视频| 老汉av免费一区二区三区| 成人精品一区二区三区中文字幕| 91精品福利视频| 精品日本一线二线三线不卡| 成人免费在线观看入口| 蜜臀av性久久久久蜜臀aⅴ| 成人深夜在线观看| 91精品视频网| 中文字幕五月欧美| 男女性色大片免费观看一区二区 | 高清国产一区二区| 欧美日韩电影一区| 国产精品视频你懂的| 日韩黄色在线观看| 99re66热这里只有精品3直播| 欧美剧情电影在线观看完整版免费励志电影| 欧美不卡一二三| 亚洲黄色片在线观看| 韩国欧美国产一区| 欧美老年两性高潮| 17c精品麻豆一区二区免费| 久久av老司机精品网站导航| 色婷婷精品久久二区二区蜜臂av| 精品黑人一区二区三区久久| 亚洲伦在线观看| 国产大片一区二区| 91精品国产综合久久香蕉的特点| 亚洲欧美综合网| 国产成a人亚洲精品| 日韩三级av在线播放| 亚洲线精品一区二区三区| 99热在这里有精品免费| 久久久精品日韩欧美| 久久99精品国产麻豆婷婷| 精品视频色一区| 亚洲黄色免费电影| 成人av免费在线播放| 国产偷v国产偷v亚洲高清| 美国十次综合导航| 欧美美女一区二区在线观看| 亚洲另类春色校园小说| 99精品欧美一区| 国产精品的网站| 国产福利不卡视频| 国产亚洲一区二区三区| 国产麻豆精品一区二区| 精品99999| 国内成人精品2018免费看| 欧美成va人片在线观看| 精品影视av免费| 日韩一区二区高清| 秋霞午夜鲁丝一区二区老狼| 欧美精品一卡两卡| 日韩综合在线视频| 91精品国产欧美一区二区| 日韩福利视频导航| 日韩视频一区在线观看| 美女视频黄久久| 精品欧美黑人一区二区三区| 国内外成人在线视频| 久久久不卡影院| 不卡一区二区在线| 亚洲欧美精品午睡沙发| 色一情一伦一子一伦一区| 亚洲午夜一二三区视频| 欧美日韩亚洲综合在线| 日本va欧美va精品| 精品卡一卡二卡三卡四在线| 国产精品综合一区二区三区| 国产欧美精品国产国产专区 | 韩国三级电影一区二区| www久久久久| 不卡的av中国片| 亚洲另类在线一区| 91超碰这里只有精品国产| 蜜桃精品视频在线| 国产欧美在线观看一区| 99久久精品一区| 午夜精品成人在线视频| 日韩欧美国产精品| 成人国产精品免费观看视频| 怡红院av一区二区三区| 欧美高清性hdvideosex| 久久99久久99小草精品免视看| 国产三级欧美三级| 欧美探花视频资源| 久久精品999| 亚洲免费观看在线观看| 91精品国产综合久久国产大片|