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

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

?? vec_gf2.h

?? 一個(gè)比較通用的大數(shù)運(yùn)算庫(kù)
?? H
字號(hào):

#ifndef NTL_vec_GF2__H
#define NTL_vec_GF2__H

#include <NTL/WordVector.h>
#include <NTL/GF2.h>

NTL_OPEN_NNS

class vec_GF2;

class subscript_GF2 {
public:
   vec_GF2& v;
   long i;

   subscript_GF2(vec_GF2& vv, long ii) : v(vv), i(ii) { }

   inline const subscript_GF2& operator=(const subscript_GF2&) const;
   inline const subscript_GF2& operator=(GF2) const;
   inline const subscript_GF2& operator=(long) const;

   inline operator GF2() const;
};

class const_subscript_GF2 {
public:
   const vec_GF2& v;
   long i;

   const_subscript_GF2(const vec_GF2& vv, long ii) : v(vv), i(ii) { }

   inline operator GF2() const;

private:
   void operator=(const const_subscript_GF2&); // disabled

};
   

class vec_GF2 {

public:

// these should be private, but they are not

   WordVector rep;

   long _len;  // length (in bits)
   long _maxlen;  // (MaxLength << 1) | (fixed)

   // invariants: rep.length() "tracks" length() ( = _len)
   //             All bits in positions >= length are zero.

   // Note:       rep.MaxLength() may exceed the value
   //             indicated by MaxLength().
   

//the following are "really" public


   vec_GF2() : _len(0), _maxlen(0) {}
   vec_GF2(INIT_SIZE_TYPE, long n) : _len(0), _maxlen(0) { SetLength(n); }
   vec_GF2(const vec_GF2& a) : _len(0), _maxlen(0) { *this = a; }

   vec_GF2& operator=(const vec_GF2& a);

   ~vec_GF2() {}

   void kill();

   void SetLength(long n);
   void SetMaxLength(long n);
   void FixLength(long n);

   long length() const { return _len; }
   long MaxLength() const { return _maxlen >> 1; }  
   long allocated() const { return rep.MaxLength() * NTL_BITS_PER_LONG; }
   long fixed() const { return _maxlen & 1; }


   vec_GF2(vec_GF2& x, INIT_TRANS_TYPE) : 
      rep(x.rep, INIT_TRANS), _len(x._len), _maxlen(x._maxlen) { }

   GF2 get(long i) const;
   void put(long i, GF2 a);
   void put(long i, long a) { put(i, to_GF2(a)); }

   subscript_GF2 operator[](long i) 
      { return subscript_GF2(*this, i); }

   subscript_GF2 operator()(long i) 
      { return subscript_GF2(*this, i-1); }

   const_subscript_GF2 operator[](long i) const 
      { return const_subscript_GF2(*this, i); }

   const_subscript_GF2 operator()(long i) const 
      { return const_subscript_GF2(*this, i-1); }

};

inline subscript_GF2::operator GF2() const
{
   return v.get(i);
}

inline const_subscript_GF2::operator GF2() const
{
   return v.get(i);
}

inline const subscript_GF2& 
   subscript_GF2::operator=(const subscript_GF2& a) const
   { v.put(i, a.v.get(a.i));  return *this; }

inline const subscript_GF2& 
   subscript_GF2::operator=(GF2 a) const
   { v.put(i, a);  return *this; }

inline const subscript_GF2& 
   subscript_GF2::operator=(long a) const
   { v.put(i, a);  return *this; }

inline const subscript_GF2& operator+=(const subscript_GF2& x, GF2 b)
   { x = x + b; return x; }  

inline const subscript_GF2& operator+=(const subscript_GF2& x, long b)
   { x = x + b; return x; }  

inline const subscript_GF2& operator-=(const subscript_GF2& x, GF2 b)
   { x = x - b; return x; }  

inline const subscript_GF2& operator-=(const subscript_GF2& x, long b)
   { x = x - b; return x; }  

inline const subscript_GF2& operator*=(const subscript_GF2& x, GF2 b)
   { x = x * b; return x; }  

inline const subscript_GF2& operator*=(const subscript_GF2& x, long b)
   { x = x * b; return x; }  

inline const subscript_GF2& operator/=(const subscript_GF2& x, GF2 b)
   { x = x / b; return x; }  

inline const subscript_GF2& operator/=(const subscript_GF2& x, long b)
   { x = x / b; return x; }  

inline const subscript_GF2& operator++(const subscript_GF2& x) 
   { x = x + 1; return x; }

inline void operator++(const subscript_GF2& x, int) 
   { x = x + 1; }

inline const subscript_GF2& operator--(const subscript_GF2& x) 
   { x = x - 1; return x; }

inline void operator--(const subscript_GF2& x, int) 
   { x = x - 1; }

void swap(vec_GF2& x, vec_GF2& y);
void append(vec_GF2& v, GF2 a);
void append(vec_GF2& v, const vec_GF2& a);

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

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

void shift(vec_GF2& x, const vec_GF2& a, long n);
// x = a shifted n places, i.e., if l = a.length(),
//    x.length() = l, x[i] = a[i-n] for 0 <= i-n < l,
//    and x[i] = 0 for all other i such that 0 <= i < l.

inline vec_GF2 shift(const vec_GF2& a, long n)
   { vec_GF2 x; shift(x, a, n); NTL_OPT_RETURN(vec_GF2, x); }

void reverse(vec_GF2& x, const vec_GF2& a);

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

void random(vec_GF2& x, long n);
inline vec_GF2 random_vec_GF2(long n)
   { vec_GF2 x; random(x, n); NTL_OPT_RETURN(vec_GF2, x); }

long weight(const vec_GF2& a);

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

inline void mul(vec_GF2& x, const vec_GF2& a, long b)
   { mul(x, a, to_GF2(b)); }
inline void mul(vec_GF2& x, long a, const vec_GF2& b)
   { mul(x, b, a); }

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

inline void sub(vec_GF2& x, const vec_GF2& a, const vec_GF2& b)
   { add(x, a, b); }

void clear(vec_GF2& x);

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

inline void InnerProduct(GF2& x, const vec_GF2& a, const vec_GF2& b)
   { x = to_GF2(InnerProduct(a.rep, b.rep)); }

long IsZero(const vec_GF2& a);

vec_GF2 operator+(const vec_GF2& a, const vec_GF2& b);

vec_GF2 operator-(const vec_GF2& a, const vec_GF2& b);

inline vec_GF2 operator-(const vec_GF2& a)
   { return a; }

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

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

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

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


inline GF2 operator*(const vec_GF2& a, const vec_GF2& b)
   { return to_GF2(InnerProduct(a.rep, b.rep)); }

// assignment operator notation:

inline vec_GF2& operator+=(vec_GF2& x, const vec_GF2& a)
{ 
   add(x, x, a);
   return x;
}

inline vec_GF2& operator-=(vec_GF2& x, const vec_GF2& a)
{ 
   sub(x, x, a);
   return x;
}

inline vec_GF2& operator*=(vec_GF2& x, GF2 a)
{ 
   mul(x, x, a);
   return x;
}

inline vec_GF2& operator*=(vec_GF2& x, long a)
{ 
   mul(x, x, a);
   return x;
}

void VectorCopy(vec_GF2& x, const vec_GF2& a, long n);
inline vec_GF2 VectorCopy(const vec_GF2& a, long n)
   { vec_GF2 x; VectorCopy(x, a, n); NTL_OPT_RETURN(vec_GF2, x); }

NTL_CLOSE_NNS


#endif


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本精品视频一区二区| 韩国欧美国产一区| 欧美日韩不卡在线| 蜜桃精品视频在线观看| 久久久噜噜噜久噜久久综合| 国产精品 欧美精品| 自拍偷拍国产亚洲| 欧美日韩二区三区| 国内精品国产成人国产三级粉色| 国产欧美日韩在线看| 色诱亚洲精品久久久久久| 亚洲一区在线视频| 精品国产一区二区三区av性色| 成人在线综合网| 亚洲成av人片在线观看| 久久综合色鬼综合色| av电影在线不卡| 首页国产丝袜综合| 国产丝袜美腿一区二区三区| 97久久精品人人爽人人爽蜜臀| 日韩精品福利网| 国产欧美一区二区精品忘忧草| 欧洲精品一区二区| 精品一区二区av| 樱花影视一区二区| 亚洲精品在线网站| 欧洲一区在线观看| 国产一区二区三区不卡在线观看| 亚洲色大成网站www久久九九| 26uuu久久天堂性欧美| 亚洲欧洲无码一区二区三区| 国产91精品一区二区麻豆亚洲| 亚洲精品成人精品456| 精品美女在线播放| 色狠狠av一区二区三区| 国产一区二区三区美女| 亚洲成a人片在线观看中文| 国产欧美久久久精品影院| 欧美久久久久久久久中文字幕| 国产91精品欧美| 麻豆91在线看| 亚洲综合精品自拍| 中文字幕第一区第二区| 欧美videos大乳护士334| 色哦色哦哦色天天综合| 高清在线成人网| 麻豆精品视频在线观看视频| 一区二区三区日韩欧美精品| 国产亚洲精品中文字幕| 欧美大尺度电影在线| 在线中文字幕一区二区| 91在线国内视频| 国产高清精品久久久久| 免费观看日韩av| 亚洲a一区二区| 亚洲国产成人av网| 亚洲欧洲日韩av| 国产亚洲va综合人人澡精品| 日韩精品一区二区三区老鸭窝| 欧美福利视频一区| 欧美性色综合网| 日本韩国视频一区二区| 91丨porny丨户外露出| 成人精品在线视频观看| 成熟亚洲日本毛茸茸凸凹| 国产精品一区二区免费不卡 | 欧美日韩高清影院| 色综合久久99| 91年精品国产| 99国产精品久久久久久久久久久| 成人手机电影网| 韩国三级中文字幕hd久久精品| 秋霞午夜av一区二区三区| 美女视频一区二区三区| 美国精品在线观看| 国内精品写真在线观看| 国产一区二区三区日韩| 国产精品99久久久久久似苏梦涵| 精品一区二区三区在线观看国产| 奇米四色…亚洲| 久久精品国产第一区二区三区| 久久激情五月激情| 国产精品正在播放| 成人app在线观看| 色狠狠色狠狠综合| 欧美精选一区二区| 日韩女优av电影| 国产性做久久久久久| 国产精品久久福利| 亚洲成人免费看| 日本不卡视频一二三区| 精品一区二区三区欧美| 国产白丝精品91爽爽久久| 波多野洁衣一区| 日本福利一区二区| 日韩一区二区在线观看| 久久久久久免费毛片精品| 亚洲欧洲在线观看av| 亚洲一区二区欧美| 卡一卡二国产精品| 成人教育av在线| 欧美日韩视频一区二区| 欧美精品一区二| 亚洲欧美一区二区三区极速播放 | 欧美图区在线视频| 精品理论电影在线| 国产精品久久久久影院色老大| 亚洲美女视频一区| 美腿丝袜亚洲一区| 91小视频免费观看| 3d动漫精品啪啪| 中文幕一区二区三区久久蜜桃| 亚洲国产日韩一区二区| 国产一区二区三区观看| 在线一区二区三区| 久久综合九色综合欧美亚洲| 亚洲码国产岛国毛片在线| 伦理电影国产精品| 91久久久免费一区二区| 久久理论电影网| 五月天激情小说综合| 成人理论电影网| 精品人在线二区三区| 一区二区在线观看视频在线观看| 九九视频精品免费| 欧美日韩的一区二区| 国产精品不卡在线| 韩国理伦片一区二区三区在线播放| 972aa.com艺术欧美| 久久久午夜电影| 日韩不卡一二三区| 91论坛在线播放| 国产欧美一二三区| 韩国女主播成人在线观看| 欧美日韩国产乱码电影| 中文字幕一区二区三区四区不卡| 精品一区二区免费视频| 69精品人人人人| 亚洲男女一区二区三区| 成人一二三区视频| 2023国产精品自拍| 美女精品一区二区| 欧美久久一区二区| 亚洲国产精品久久久久婷婷884| 白白色 亚洲乱淫| 久久久久综合网| 国产主播一区二区三区| 91麻豆精品国产91| 亚洲成国产人片在线观看| 色噜噜久久综合| 亚洲欧洲国产日韩| 97se狠狠狠综合亚洲狠狠| 中文欧美字幕免费| 成人avav影音| 中文字幕一区日韩精品欧美| 国产精品99久久久久久久女警| 精品久久久久一区| 麻豆国产欧美日韩综合精品二区| 制服丝袜中文字幕一区| 性久久久久久久久久久久| 欧美日韩精品高清| 日韩精品视频网| 欧美一级欧美三级| 奇米四色…亚洲| 欧美不卡在线视频| 麻豆精品一区二区综合av| 精品三级在线观看| 国产成人综合亚洲91猫咪| 久久午夜免费电影| 国产盗摄精品一区二区三区在线| 久久精品人人做人人综合 | 717成人午夜免费福利电影| 日韩精品欧美精品| 日韩天堂在线观看| 国产精品18久久久久久久久久久久| 久久久久久久久99精品| 成人一区二区三区在线观看| 自拍偷拍国产精品| 欧美色倩网站大全免费| 日日夜夜一区二区| 日韩欧美精品三级| 国产成人在线电影| 亚洲欧美一区二区视频| 欧美在线观看你懂的| 日本视频一区二区| 国产三级一区二区| 日本丶国产丶欧美色综合| 三级在线观看一区二区| 亚洲精品一区二区三区福利 | 一区二区成人在线| 日韩一级视频免费观看在线| 国产综合久久久久久久久久久久| 国产日产欧产精品推荐色| 色婷婷激情一区二区三区| 天天综合天天综合色| 久久午夜老司机| 欧美综合一区二区| 极品少妇xxxx偷拍精品少妇| 国产精品国产三级国产普通话蜜臀| 91国产视频在线观看|