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

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

?? g_lip.h

?? 密碼大家Shoup寫的數論算法c語言實現
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifdef NTL_SINGLE_MUL#error "do not set NTL_SINGLE_MUL when NTL_GMP_LIP is set"#endif#if 1typedef void *_ntl_gbigint;#else/* * This way of defining the bigint handle type is a bit non-standard, * but better for debugging. */struct _ntl_gbigint_is_opaque { int _x_; };typedef struct _ntl_gbigint_is_opaque * _ntl_gbigint;#endif#define NTL_SP_NBITS NTL_NBITS_MAX#define NTL_SP_BOUND (1L << NTL_SP_NBITS)#define NTL_SP_FBOUND ((double) NTL_SP_BOUND)#define NTL_WSP_NBITS (NTL_BITS_PER_LONG-2)#define NTL_WSP_BOUND (1L << NTL_WSP_NBITS)/* define the following so an error is raised */#define NTL_RADIX ......#define NTL_NBITSH ......#define NTL_RADIXM ......#define NTL_RADIXROOT ......#define NTL_RADIXROOTM ......#define NTL_FRADIX_INV ......#if (defined(__cplusplus) && !defined(NTL_CXX_ONLY))extern "C" {#endif/***********************************************************************   Basic Functions***********************************************************************/        void _ntl_gsadd(_ntl_gbigint a, long d, _ntl_gbigint *b);       /* *b = a + d */    void _ntl_gadd(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *c);       /*  *c = a + b */    void _ntl_gsub(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *c);       /* *c = a - b */    void _ntl_gsubpos(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *c);       /* *c = a - b; assumes a >= b >= 0 */    void _ntl_gsmul(_ntl_gbigint a, long d, _ntl_gbigint *b);       /* *b = d * a */    void _ntl_gmul(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *c);       /* *c = a * b */    void _ntl_gsq(_ntl_gbigint a, _ntl_gbigint *c);       /* *c = a * a */    long _ntl_gsdiv(_ntl_gbigint a, long b, _ntl_gbigint *q);       /* (*q) = floor(a/b) and a - floor(a/b)*(*q) is returned;          error is raised if b == 0;          if b does not divide a, then sign(*q) == sign(b) */    void _ntl_gdiv(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *q, _ntl_gbigint *r);       /* (*q) = floor(a/b) and (*r) = a - floor(a/b)*(*q);          error is raised if b == 0;          if b does not divide a, then sign(*q) == sign(b) */    void _ntl_gmod(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *r);       /* same as _ntl_gdiv, but only remainder is computed */    long _ntl_gsmod(_ntl_gbigint a, long d);       /* same as _ntl_gsdiv, but only remainder is computed */    void _ntl_gquickmod(_ntl_gbigint *r, _ntl_gbigint b);       /* *r = *r % b; 	  The division is performed in place (but may sometimes	  assumes b > 0 and *r >= 0;          cause *r to grow by one digit) *//********************************************************************   Shifting and bit manipulation*********************************************************************/    void _ntl_glshift(_ntl_gbigint n, long k, _ntl_gbigint *a);       /* *a = sign(n) * (|n| << k);          shift is in reverse direction for negative k */    void _ntl_grshift(_ntl_gbigint n, long k, _ntl_gbigint *a);       /* *a = sign(n) * (|n| >> k);          shift is in reverse direction for negative k */        long _ntl_gmakeodd(_ntl_gbigint *n);       /*          if (n != 0)              *n = m;              return (k such that n == 2 ^ k * m with m odd);          else              return (0);         */    long _ntl_gnumtwos(_ntl_gbigint n);        /* return largest e such that 2^e divides n, or zero if n is zero */    long _ntl_godd(_ntl_gbigint a);       /* returns 1 if n is odd and 0 if it is even */    long _ntl_gbit(_ntl_gbigint a, long p);       /* returns p-th bit of a, where the low order bit is indexed by 0;          p out of range returns 0 */    long _ntl_gsetbit(_ntl_gbigint *a, long p);       /* returns original value of p-th bit of |a|, and replaces          p-th bit of a by 1 if it was zero;          error if p < 0 */    long _ntl_gswitchbit(_ntl_gbigint *a, long p);       /* returns original value of p-th bit of |a|, and switches          the value of p-th bit of a;          p starts counting at 0;          error if p < 0 */     void _ntl_glowbits(_ntl_gbigint a, long k, _ntl_gbigint *b);        /* places k low order bits of |a| in b */      long _ntl_gslowbits(_ntl_gbigint a, long k);        /* returns k low order bits of |a| */    long _ntl_gweights(long a);        /* returns Hamming weight of |a| */    long _ntl_gweight(_ntl_gbigint a);        /* returns Hamming weight of |a| */    void _ntl_gand(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *c);        /* c gets bit pattern `bits of |a|` and `bits of |b|` */    void _ntl_gor(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *c);        /* c gets bit pattern `bits of |a|` inclusive or `bits of |b|` */    void _ntl_gxor(_ntl_gbigint a, _ntl_gbigint b, _ntl_gbigint *c);        /* c gets bit pattern `bits of |a|` exclusive or `bits of |b|` *//************************************************************************   Comparison*************************************************************************/    long _ntl_gcompare(_ntl_gbigint a, _ntl_gbigint b);       /*          if (a > b)              return (1);          if (a == b)              return (0);          if (a < b)              return (-1);         */    long _ntl_gscompare(_ntl_gbigint a, long b);       /* single-precision version of the above */    long _ntl_giszero (_ntl_gbigint a);       /* test for 0 */    long _ntl_gsign(_ntl_gbigint a);       /*           if (a > 0)              return (1);          if (a == 0)              return (0);          if (a < 0)              return (-1);        */    void _ntl_gabs(_ntl_gbigint *a);       /* *a = |a| */    void _ntl_gnegate(_ntl_gbigint *a);       /* *a = -a */    void _ntl_gcopy(_ntl_gbigint a, _ntl_gbigint *b);       /* *b = a;  */    void _ntl_gswap(_ntl_gbigint *a, _ntl_gbigint *b);       /* swap a and b (by swaping pointers) */    long _ntl_g2log(_ntl_gbigint a);       /* number of bits in |a|; returns 0 if a = 0 */    long _ntl_g2logs(long a);        /* single-precision version of the above *//********************************************************************   Conversion*********************************************************************/            void _ntl_gzero(_ntl_gbigint *a);       /* *a = 0;  */    void _ntl_gone(_ntl_gbigint *a);       /* *a = 1 */    void _ntl_gintoz(long d, _ntl_gbigint *a);       /* *a = d;  */    void _ntl_guintoz(unsigned long d, _ntl_gbigint *a);       /* *a = d;  space is allocated  */    long _ntl_gtoint(_ntl_gbigint a);       /* converts a to a long;  overflow results in value          mod 2^{NTL_BITS_PER_LONG}. */    unsigned long _ntl_gtouint(_ntl_gbigint a);       /* converts a to a long;  overflow results in value          mod 2^{NTL_BITS_PER_LONG}. */       double _ntl_gdoub(_ntl_gbigint n);       /* converts a to a double;  no overflow check */    long _ntl_ground_correction(_ntl_gbigint a, long k, long residual);       /* k >= 1, |a| >= 2^k, and residual is 0, 1, or -1.          The result is what we should add to (a >> k) to round          x = a/2^k to the nearest integer using IEEE-like rounding rules          (i.e., round to nearest, and round to even to break ties).          The result is either 0 or sign(a).          If residual is not zero, it is as if x were replaced by          x' = x + residual*2^{-(k+1)}.          This can be used to break ties when x is exactly          half way between two integers. */    double _ntl_glog(_ntl_gbigint a);       /* computes log(a), protecting against overflow */    void _ntl_gdoubtoz(double a, _ntl_gbigint *x);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一级视频在线观看| 懂色av一区二区三区蜜臀| 久久久亚洲国产美女国产盗摄| 99精品在线观看视频| 麻豆91在线播放| 亚洲精选一二三| 久久久精品日韩欧美| 欧美高清你懂得| 91麻豆精品秘密| 福利一区在线观看| 蜜臀va亚洲va欧美va天堂 | 成人午夜电影网站| 青青草原综合久久大伊人精品优势| 国产精品毛片久久久久久久| 日韩欧美中文字幕制服| 在线视频综合导航| 97精品久久久午夜一区二区三区 | 男人操女人的视频在线观看欧美 | 久久99最新地址| 亚洲成人av在线电影| 亚洲欧美一区二区不卡| 久久久高清一区二区三区| 日韩欧美国产一区二区在线播放| 欧美日韩色一区| 在线亚洲一区二区| 99久久99久久精品免费观看| 国产成人免费av在线| 精品在线亚洲视频| 美脚の诱脚舐め脚责91| 午夜精品福利一区二区蜜股av| 亚洲欧美日韩国产中文在线| 国产精品日产欧美久久久久| 久久久久一区二区三区四区| 欧美不卡激情三级在线观看| 91精品国产一区二区三区香蕉| 在线观看精品一区| 欧美午夜片在线观看| 色老汉av一区二区三区| 在线观看日韩av先锋影音电影院| 在线一区二区观看| 欧美日韩国产乱码电影| 欧美福利电影网| 欧美一级一区二区| 欧美一区日韩一区| 日韩女优av电影在线观看| 26uuu久久天堂性欧美| 久久伊人蜜桃av一区二区| 久久亚洲捆绑美女| 国产精品理论在线观看| 亚洲视频每日更新| 亚洲午夜激情av| 亚洲午夜影视影院在线观看| 日韩精品欧美精品| 久久aⅴ国产欧美74aaa| 国产不卡视频在线播放| 不卡大黄网站免费看| 91黄视频在线| 欧美一区二区在线免费播放| 日韩欧美亚洲一区二区| 久久日韩粉嫩一区二区三区| 国产欧美视频一区二区三区| 国产精品大尺度| 亚洲1区2区3区4区| 国产一区二区精品久久| hitomi一区二区三区精品| 在线免费观看不卡av| 欧美日韩国产首页| 国产三级久久久| 夜色激情一区二区| 久久国产免费看| 成人午夜私人影院| 欧美在线观看禁18| 精品国产乱码久久久久久影片| 欧美高清在线视频| 午夜精品在线视频一区| 国产精品自拍在线| 色老综合老女人久久久| 精品国产伦一区二区三区免费| 国产精品欧美久久久久一区二区| 亚洲线精品一区二区三区八戒| 美女mm1313爽爽久久久蜜臀| 99热在这里有精品免费| 日韩一区二区麻豆国产| 国产精品无人区| 日一区二区三区| 懂色av一区二区三区免费观看| 欧美剧在线免费观看网站| 久久久久久久久久电影| 亚洲aⅴ怡春院| av毛片久久久久**hd| 日韩视频在线一区二区| 一区二区三区四区在线免费观看| 另类综合日韩欧美亚洲| 日本韩国一区二区三区| 久久人人97超碰com| 天堂va蜜桃一区二区三区| 成人一区二区视频| 日韩欧美在线123| 亚洲自拍与偷拍| 成人av网站在线观看| 欧美一级欧美三级在线观看| 亚洲人成精品久久久久| 国产成人免费在线视频| 欧美一区国产二区| 亚洲最大色网站| 成人动漫在线一区| 久久男人中文字幕资源站| 日日夜夜一区二区| 在线观看免费成人| 国产精品家庭影院| 国产成人精品影视| 精品粉嫩超白一线天av| 午夜婷婷国产麻豆精品| 99这里只有久久精品视频| 久久亚洲精精品中文字幕早川悠里| 香蕉久久一区二区不卡无毒影院| 99国产一区二区三精品乱码| 国产日本欧美一区二区| 蜜桃视频免费观看一区| 欧美日韩高清影院| 亚洲一区二区中文在线| 91毛片在线观看| 亚洲色图第一区| 成人av手机在线观看| 久久久99精品久久| 韩国精品久久久| 欧美电影精品一区二区| 日本视频在线一区| 在线不卡欧美精品一区二区三区| 亚洲免费观看高清完整版在线| 成人午夜av影视| 国产精品三级久久久久三级| 国产成人免费网站| 国产免费成人在线视频| 国产成人日日夜夜| 国产精品久久久久影院老司| av欧美精品.com| 亚洲欧洲成人精品av97| jlzzjlzz欧美大全| 亚洲同性gay激情无套| 99在线精品观看| 一区二区三区在线观看视频 | 欧美精品 国产精品| 午夜精品视频在线观看| 欧美区在线观看| 奇米精品一区二区三区四区| 欧美一区二区日韩一区二区| 美脚の诱脚舐め脚责91| 亚洲精品一区在线观看| 国产精品18久久久久久久久久久久 | 日本不卡免费在线视频| 欧美一区二区三区在线看 | 欧美日韩精品一区二区三区四区| 亚洲国产cao| 亚洲香肠在线观看| 亚洲国产高清在线观看视频| 欧美日韩和欧美的一区二区| heyzo一本久久综合| 国产美女视频一区| 丝袜美腿亚洲色图| 亚洲综合男人的天堂| 亚洲精品自拍动漫在线| 精品国产乱码久久久久久牛牛 | 豆国产96在线|亚洲| 欧美激情综合五月色丁香小说| 成人美女在线观看| 亚洲欧美偷拍卡通变态| 欧美日韩国产一区| 国产精品一二三在| 亚洲一区中文日韩| 日韩午夜在线观看| a4yy欧美一区二区三区| 五月天丁香久久| 国产夜色精品一区二区av| 91啪亚洲精品| 奇米色一区二区| 国产精品久久99| 欧美一区二区福利视频| 国产成人免费视频网站| 亚洲国产欧美另类丝袜| 2023国产精品| 在线免费观看日韩欧美| 国产一区二区三区在线观看精品 | 制服丝袜日韩国产| 国产精品主播直播| 亚洲午夜免费视频| 国产三级精品三级在线专区| 欧美日本一区二区在线观看| 激情都市一区二区| 一区二区三区在线视频免费| 精品黑人一区二区三区久久| 91在线观看成人| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲一区二区三区在线看| 久久蜜臀精品av| 欧美久久一区二区| 成人爱爱电影网址| 国内精品伊人久久久久av一坑| 亚洲免费观看高清完整版在线观看 | av电影天堂一区二区在线观看|