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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gf2x.h

?? 大數(shù)運(yùn)算類
?? H
?? 第 1 頁 / 共 2 頁
字號:

#ifndef NTL_GF2X__H
#define NTL_GF2X__H

#include <NTL/vector.h>
#include <NTL/ZZ.h>
#include <NTL/WordVector.h>
#include <NTL/vec_GF2.h>

NTL_OPEN_NNS


class GF2X {
public:

WordVector xrep;

typedef vec_GF2 VectorBaseType;


GF2X() { }
~GF2X() { }

GF2X(INIT_SIZE_TYPE, long n);

GF2X& operator=(const GF2X& a) { xrep = a.xrep; return *this; }

inline GF2X& operator=(GF2 a);
inline GF2X& operator=(long a);

void normalize();

static const GF2X& zero();

void kill() { xrep.kill(); }

void SetMaxLength(long n);

static long HexOutput;

inline GF2X(long i, GF2 c);
inline GF2X(long i, long c);

GF2X(GF2X& x, INIT_TRANS_TYPE) : xrep(x.xrep, INIT_TRANS) { }

};


long IsZero(const GF2X& a);

long IsOne(const GF2X& a); 

long IsX(const GF2X& a);

GF2 coeff(const GF2X& a, long i);

GF2 LeadCoeff(const GF2X& a);

GF2 ConstTerm(const GF2X& a);


inline void clear(GF2X& x) 
{ x.xrep.ZeroLength(); }

void set(GF2X& x);

void SetX(GF2X& x);

void SetCoeff(GF2X& x, long i);

void SetCoeff(GF2X& x, long i, GF2 a);
void SetCoeff(GF2X& x, long i, long a);

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

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

void swap(GF2X& a, GF2X& b);

long deg(const GF2X& aa);

long weight(const GF2X& a);
   
long operator==(const GF2X& a, const GF2X& b);

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

long operator==(const GF2X& a, GF2 b);
long operator==(const GF2X& a, long b);

inline long operator==(GF2 a, const GF2X& b) { return b == a; }
inline long operator==(long a, const GF2X& b) { return b == a; }

inline long operator!=(const GF2X& a, GF2 b) { return !(a == b); }
inline long operator!=(const GF2X& a, long b) { return !(a == b); }
inline long operator!=(GF2 a, const GF2X& b) { return !(a == b); }
inline long operator!=(long a, const GF2X& b) { return !(a == b); }


NTL_SNS istream & operator>>(NTL_SNS istream& s, GF2X& a);

NTL_SNS ostream& operator<<(NTL_SNS ostream& s, const GF2X& a);




void random(GF2X& x, long n);
inline GF2X random_GF2X(long n)
   { GF2X x; random(x, n); NTL_OPT_RETURN(GF2X, x); }




void add(GF2X& x, const GF2X& a, const GF2X& b);
void add(GF2X& x, const GF2X& a, GF2 b);
void add(GF2X& x, const GF2X& a, long b);

inline void add(GF2X& x, GF2 a, const GF2X& b) { add(x, b, a); }
inline void add(GF2X& x, long a, const GF2X& b) { add(x, b, a); }

inline void sub(GF2X& x, const GF2X& a, const GF2X& b) { add(x, a, b); }
inline void sub(GF2X& x, const GF2X& a, GF2 b) { add(x, a, b); }
inline void sub(GF2X& x, const GF2X& a, long b) { add(x, a, b); }
inline void sub(GF2X& x, GF2 a, const GF2X& b) { add(x, a, b); }
inline void sub(GF2X& x, long a, const GF2X& b) { add(x, a, b); }

inline void negate(GF2X& x, const GF2X& a) { x = a; }

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

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

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

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

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


inline GF2X operator-(const GF2X& a, const GF2X& b)
   { GF2X x; sub(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator-(const GF2X& a, GF2 b)
   { GF2X x; sub(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator-(const GF2X& a, long b)
   { GF2X x; sub(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator-(GF2 a, const GF2X& b)
   { GF2X x; sub(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator-(long a, const GF2X& b)
   { GF2X x; sub(x, a, b); NTL_OPT_RETURN(GF2X, x); }


inline GF2X& operator+=(GF2X& x, const GF2X& b)
   { add(x, x, b); return x; }

inline GF2X& operator+=(GF2X& x, GF2 b)
   { add(x, x, b); return x; }

inline GF2X& operator+=(GF2X& x, long b)
   { add(x, x, b); return x; }

inline GF2X& operator-=(GF2X& x, const GF2X& b)
   { sub(x, x, b); return x; }

inline GF2X& operator-=(GF2X& x, GF2 b)
   { sub(x, x, b); return x; }

inline GF2X& operator-=(GF2X& x, long b)
   { sub(x, x, b); return x; }


inline GF2X operator-(const GF2X& a)
   { GF2X x; negate(x, a); NTL_OPT_RETURN(GF2X, x); }

inline GF2X& operator++(GF2X& x) { add(x, x, 1); return x; }
inline void operator++(GF2X& x, int) { add(x, x, 1); }
inline GF2X& operator--(GF2X& x) { sub(x, x, 1); return x; }
inline void operator--(GF2X& x, int) { sub(x, x, 1); }


void mul(GF2X& c, const GF2X& a, const GF2X& b);

void mul(GF2X& x, const GF2X& a, GF2 b);
void mul(GF2X& x, const GF2X& a, long b);

inline void mul(GF2X& x, GF2 a, const GF2X& b) { mul(x, b, a); }
inline void mul(GF2X& x, long a, const GF2X& b) { mul(x, b, a); }

void MulByX(GF2X& x, const GF2X& a);
inline GF2X MulByX(const GF2X& a) 
   { GF2X x; MulByX(x, a); NTL_OPT_RETURN(GF2X, x); }


void sqr(GF2X& c, const GF2X& a);

inline GF2X sqr(const GF2X& a)
   { GF2X x; sqr(x, a); NTL_OPT_RETURN(GF2X, x); }

void trunc(GF2X& x, const GF2X& a, long m);
inline GF2X trunc(const GF2X& a, long m)
   { GF2X x; trunc(x, a, m); NTL_OPT_RETURN(GF2X, x); }


inline GF2X operator*(const GF2X& a, const GF2X& b)
   { GF2X x; mul(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator*(const GF2X& a, GF2 b)
   { GF2X x; mul(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator*(const GF2X& a, long b)
   { GF2X x; mul(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator*(GF2 a, const GF2X& b)
   { GF2X x; mul(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X operator*(long a, const GF2X& b)
   { GF2X x; mul(x, a, b); NTL_OPT_RETURN(GF2X, x); }

inline GF2X& operator*=(GF2X& x, const GF2X& b)
   { mul(x, x, b); return x; }

inline GF2X& operator*=(GF2X& x, GF2 b)
   { mul(x, x, b); return x; }

inline GF2X& operator*=(GF2X& x, long b)
   { mul(x, x, b); return x; }

void power(GF2X& x, const GF2X& a, long e);  // x = a^e (e >= 0)
inline GF2X power(const GF2X& a, long e)
   { GF2X x; power(x, a, e); NTL_OPT_RETURN(GF2X, x); }



NTL_vector_decl(GF2X,vec_GF2X)

NTL_io_vector_decl(GF2X,vec_GF2X)

NTL_eq_vector_decl(GF2X,vec_GF2X)


void LeftShift(GF2X& c, const GF2X& a, long n);
inline GF2X LeftShift(const GF2X& a, long n)
   {  GF2X x; LeftShift(x, a, n); NTL_OPT_RETURN(GF2X, x); }

void ShiftAdd(GF2X& c, const GF2X& a, long n);


void RightShift(GF2X& c, const GF2X& a, long n);
inline GF2X RightShift(const GF2X& a, long n)
   {  GF2X x; RightShift(x, a, n); NTL_OPT_RETURN(GF2X, x); }


#ifndef NTL_TRANSITION

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

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

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

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

#endif



void CopyReverse(GF2X& c, const GF2X& a, long hi);
// c[0..hi] = reverse(a[0..hi]), with zero fill as necessary

inline void reverse(GF2X& c, const GF2X& a, long hi)
{  CopyReverse(c, a, hi); }

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

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


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

void InvTrunc(GF2X& c, const GF2X& a, long e);


inline GF2X InvTrunc(const GF2X& a, long e)
   { GF2X x; InvTrunc(x, a, e); NTL_OPT_RETURN(GF2X, x); }


class GF2XModulus {

public:
   GF2XModulus();
   ~GF2XModulus();

   GF2XModulus(const GF2XModulus&);  
   GF2XModulus& operator=(const GF2XModulus&); 

   GF2XModulus(const GF2X& ff);

   GF2X f;   // the modulus

   operator const GF2X& () const { return f; }
   const GF2X& val() const { return f; }

   long n; //  deg(f)
   long sn; //  f.xrep.length()
   long posn; //  n - NTL_BITS_PER_LONG*(sn-1);

   long k3; // used for trinomials and pentanomials
   long k2; 
   long k1;

   long size; // word length of residues

   long WordLength() const { return size; }

   _ntl_ulong msk; // mask of high bits of residues

   long method; 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区不卡| 亚洲成人av在线电影| 中文字幕日韩欧美一区二区三区| 久久午夜免费电影| 国产精品福利一区| 午夜精品福利在线| 国产乱子轮精品视频| www.在线欧美| 欧美日韩1区2区| 亚洲精品一区二区三区在线观看| 国产日韩欧美麻豆| 夜夜嗨av一区二区三区四季av | 国产宾馆实践打屁股91| 99久久婷婷国产综合精品电影| 欧美亚洲高清一区二区三区不卡| 精品欧美一区二区在线观看 | 成人免费av资源| 91激情五月电影| 精品福利在线导航| 自拍av一区二区三区| 青青草国产精品亚洲专区无| 亚洲亚洲精品在线观看| 国产一区二区三区蝌蚪| 91美女视频网站| 精品久久久久久久人人人人传媒| 中文字幕一区二区三区在线播放| 日韩精品电影在线观看| 成人小视频免费观看| 91精品国产欧美一区二区18| 国产精品亲子伦对白| 老司机精品视频线观看86| 色欧美日韩亚洲| 久久精品在这里| 午夜精品福利视频网站| 91在线视频18| 久久久精品免费网站| 日韩国产欧美在线播放| 99九九99九九九视频精品| 精品日产卡一卡二卡麻豆| 亚洲成人自拍网| 99riav久久精品riav| 久久免费午夜影院| 免费视频最近日韩| 在线一区二区三区| 国产精品久久久久久久久晋中 | 91精品午夜视频| 一区二区三区91| 成人动漫精品一区二区| 精品va天堂亚洲国产| 亚洲va欧美va人人爽| 99v久久综合狠狠综合久久| 久久综合九色综合久久久精品综合| 成年人网站91| www.在线欧美| 国产精品网友自拍| 国产麻豆一精品一av一免费| 91精品一区二区三区久久久久久| 亚洲午夜av在线| 色综合久久久久综合99| 亚洲国产高清在线| 国产99精品国产| 国产亚洲成av人在线观看导航| 午夜伊人狠狠久久| 欧美色中文字幕| 一区二区三区美女| 91亚洲精品久久久蜜桃网站| 国产夜色精品一区二区av| 精品亚洲国内自在自线福利| 欧美一区国产二区| 日韩成人一级大片| 制服.丝袜.亚洲.中文.综合| 午夜在线电影亚洲一区| 欧美午夜精品久久久久久孕妇| 亚洲丝袜精品丝袜在线| 99久久久久久| 自拍偷拍亚洲激情| 日本高清不卡aⅴ免费网站| 亚洲视频中文字幕| 色老头久久综合| 一区二区三区电影在线播| 在线观看一区不卡| 亚洲成人777| 欧美一区二区日韩一区二区| 奇米精品一区二区三区四区| 欧美群妇大交群的观看方式| 日韩av在线发布| 日韩欧美视频在线| 久久精品国产亚洲aⅴ | 日韩1区2区日韩1区2区| 91.成人天堂一区| 麻豆91精品视频| 日韩久久久精品| 国产宾馆实践打屁股91| 成人免费小视频| 欧美天堂亚洲电影院在线播放| 亚洲亚洲精品在线观看| 91精品国产综合久久久久| 久久国产精品99久久久久久老狼| 日韩欧美一区在线| 国产福利一区二区三区视频| 国产精品进线69影院| 色吧成人激情小说| 日韩国产欧美在线观看| 日韩一区二区免费在线电影| 国产一区二区三区香蕉| 亚洲欧洲日本在线| 欧美三级视频在线播放| 免费人成在线不卡| 国产亚洲美州欧州综合国| 成人开心网精品视频| 亚洲欧美偷拍三级| 8x福利精品第一导航| 国产精品白丝av| 亚洲精品视频在线观看免费| 欧美日韩综合在线| 国内精品视频一区二区三区八戒| 中文字幕欧美国产| 欧美日韩国产一区| 国产成人综合亚洲网站| 亚洲欧美偷拍三级| 精品三级在线观看| 91久久精品一区二区| 日本亚洲免费观看| 欧美国产在线观看| 欧美日韩视频一区二区| 国产一区91精品张津瑜| 中文字幕一区二区三区在线不卡| 在线播放/欧美激情| 国产成人高清在线| 天天色图综合网| 国产精品丝袜黑色高跟| 4438成人网| av午夜精品一区二区三区| 蜜桃视频第一区免费观看| 亚洲男同性恋视频| 久久久久综合网| 国产精品午夜在线| 韩国精品免费视频| 91香蕉视频污在线| 国产精品高潮呻吟| 日韩不卡一区二区三区| 激情六月婷婷综合| 91麻豆精品在线观看| 欧美一二三在线| 日本一区二区电影| 亚洲成人av一区二区三区| 国产精品白丝av| 欧美一区二视频| 亚洲精品中文字幕在线观看| 天天影视涩香欲综合网 | 欧美日韩亚洲综合一区二区三区 | 日韩欧美在线1卡| 色综合一区二区| 国产高清视频一区| 美女在线视频一区| 亚洲成人黄色影院| 成人免费小视频| 国产亚洲一区二区三区在线观看| 欧美精品乱码久久久久久按摩 | 亚洲日本乱码在线观看| 久久久亚洲精华液精华液精华液| 777欧美精品| 成人午夜电影小说| 亚洲欧美视频在线观看| 久久一日本道色综合| 欧美白人最猛性xxxxx69交| 欧美日韩一区二区不卡| 一本大道久久a久久综合| 成人黄色a**站在线观看| 国产麻豆欧美日韩一区| 免费av成人在线| 日韩二区在线观看| 午夜精品视频一区| 亚洲午夜免费电影| 亚洲自拍偷拍综合| 亚洲精品美国一| 亚洲免费资源在线播放| 国产精品灌醉下药二区| 国产精品青草综合久久久久99| 久久久久久久性| 99视频精品在线| 亚洲欧美一区二区三区久本道91 | 国产成人精品午夜视频免费| 免费高清在线一区| 老司机精品视频一区二区三区| 日韩不卡一二三区| 奇米综合一区二区三区精品视频| 亚洲高清久久久| 一区二区三区**美女毛片| 免费观看在线综合| 亚洲成av人片www| 亚欧色一区w666天堂| 午夜精品久久久久久久| 日韩精品免费视频人成| 日本特黄久久久高潮| 麻豆精品一区二区三区| 久久99精品久久久久久动态图| 久久99久久99小草精品免视看| 久久国产精品第一页| 国产iv一区二区三区|