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

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

?? ctools.h

?? 大數(shù)運(yùn)算類
?? H
字號(hào):

#ifndef NTL_ctools__H
#define NTL_ctools__H

#include <NTL/config.h>
#include <NTL/mach_desc.h>




#define NTL_OVFBND (1L << (NTL_BITS_PER_LONG-4))

/*
 * NTL_OVFBND is the general bound used throughout NTL to keep various
 * integer values comfortably bounded away from an integer overflow
 * condition.  Do not change this value!
 */





#if ((NTL_BITS_PER_SIZE_T-1) < (NTL_BITS_PER_LONG-4))
#define NTL_OVFBND1 (1L << (NTL_BITS_PER_SIZE_T-1))
#else
#define NTL_OVFBND1 NTL_OVFBND
#endif

/*
 * NTL_OVFBND1 is a smaller bound than NTL_OVF when size_t is
 * narrower than long.  This prevents overflow on calls to malloc
 * and realloc.
 */






#define NTL_OVERFLOW(n, a, b) \
   (((b) >= NTL_OVFBND) || (((long) (n)) > 0 && (((a) >= NTL_OVFBND) || \
    (((long) (n)) >= (NTL_OVFBND-((long)(b))+((long)(a))-1)/((long)(a))))))

/*
 * NTL_OVERFLOW(n, a, b) returns 1 if n*a + b >= NTL_OVFBND,
 * and returns 0 otherwise.  The value n is effectively treated as type long,
 * while the values a and b may be *any* integral type.  It is assumed that
 * n >= 0, a > 0, and b >= 0.  Care is taken to ensure that overflow does
 * not occur. If a and b are constants, and n has no side effects,
 * a good optimizing compiler will * translate this into a single test 
 * of the form n >= c, where c is a constant.
 */






#define NTL_OVERFLOW1(n, a, b) \
   (((b) >= NTL_OVFBND1) || (((long) (n)) > 0 && (((a) >= NTL_OVFBND1) || \
    (((long) (n)) >= (NTL_OVFBND1-((long)(b))+((long)(a))-1)/((long)(a))))))

/*
 * NTL_OVERFLOW1 is the same as NTL_OVERFLOW, except that it uses the
 * bound NTL_OVFBND1 instead of NTL_OVFBND.
 */





#define NTL_MALLOC(n, a, b) \
   (NTL_OVERFLOW1(n, a, b) ? ((void *) 0) : \
    ((void *) malloc(((long)(n))*((long)(a)) + ((long)(b)))))

/*
 * NTL_MALLOC(n, a, b) returns 0 if a*n + b >= NTL_OVFBND1, and otherwise
 * returns malloc(n*a + b). 
 * The programmer must ensure that the name "malloc" is visible
 * at the point in the source code where this macro is expanded.
 */






#define NTL_SNS_MALLOC(n, a, b) \
   (NTL_OVERFLOW1(n, a, b) ? ((void *) 0) : \
    ((void *) NTL_SNS malloc(((long)(n))*((long)(a)) + ((long)(b)))))

/*
 * NTL_SNS_MALLOC is the same as NTL_MALLOC, except that the call
 * to malloc is prefixed by NTL_SNS.
 */








#define NTL_REALLOC(p, n, a, b) \
   (NTL_OVERFLOW1(n, a, b) ? ((void *) 0) : \
    ((void *) realloc((p), ((long)(n))*((long)(a)) + ((long)(b)))))

/*
 * NTL_REALLOC(n, a, b) returns 0 if a*n + b >= NTL_OVFBND1, and otherwise
 * returns realloc(p, n*a + b).
 * The programmer must ensure that the name "realloc" is visible
 * at the point in the source code where this macro is expanded.
 */






#define NTL_SNS_REALLOC(p, n, a, b) \
   (NTL_OVERFLOW1(n, a, b) ? ((void *) 0) : \
    ((void *) NTL_SNS realloc((p), ((long)(n))*((long)(a)) + ((long)(b)))))

/*
 * NTL_SNS_REALLOC is the same as NTL_REALLOC, except that the call
 * to realloc is prefixed by NTL_SNS.
 */





#define NTL_MAX_ALLOC_BLOCK (40000)

/*
 * NTL_MAX_ALLOC_BLOCK is the number of bytes that are allocated in
 * a single block in a number of places throughout NTL (for
 * vec_ZZ_p, ZZVec, vec_GF2X, and GF2XVec).
 */


#define NTL_ULONG_TO_LONG(a) \
   ((((unsigned long) a) >> (NTL_BITS_PER_LONG-1)) ? \
    (((long) (((unsigned long) a) - ((unsigned long) NTL_MIN_LONG))) + \
       NTL_MIN_LONG) : \
    ((long) a))

/* 
 * This macro converts from unsigned long to signed long.  It is portable
 * among platforms for which a long has a 2's complement representation
 * of the same width as an unsigned long.  While it avoids assumptions
 * about the behavior of non-standard conversions,  a good optimizing
 * compiler should turn it into the identity function.
 */


#define NTL_UINT_TO_INT(a) \
   ((((unsigned int) a) >> (NTL_BITS_PER_INT-1)) ? \
    (((int) (((unsigned int) a) - ((unsigned int) NTL_MIN_INT))) + \
       NTL_MIN_INT) : \
    ((int) a))

/* 
 * This macro converts from unsigned int to signed int.  It is portable
 * among platforms for which an int has a 2's complement representation
 * of the same width as an unsigned int.  While it avoids assumptions
 * about the behavior of non-standard conversions,  a good optimizing
 * compiler should turn it into the identity function.
 */


#if (defined(__cplusplus) && !defined(NTL_CXX_ONLY))
extern "C" {
#endif

long _ntl_IsFinite(double *p);
/* This forces a double into memory, and tests if it is "normal";
   that means, not NaN, not +/- infinity, not denormalized, etc.
   Forcing into memory is sometimes necessary on machines 
   with "extended" double precision registers (e.g., Intel x86s)
   to force the standard IEEE format. */

void _ntl_ForceToMem(double *p);
/* This is do-nothing routine that has the effect of forcing
   a double into memory (see comment above). */

double _ntl_ldexp(double x, long e);
   
#if (defined(__cplusplus) && !defined(NTL_CXX_ONLY))
}
#endif

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜精品一区二区三区| 日本欧美在线观看| 久久人人爽人人爽| 欧美精品一区二区三区在线| 欧美一级电影网站| 欧美不卡一区二区三区四区| 欧美r级在线观看| 国产无一区二区| 国产精品视频九色porn| 亚洲日本在线a| 樱桃视频在线观看一区| 亚洲国产sm捆绑调教视频| 图片区小说区国产精品视频| 蜜桃视频一区二区三区在线观看| 狠狠色狠狠色综合| 成人高清视频在线| 欧美四级电影网| 精品国产免费一区二区三区香蕉| 久久久亚洲高清| 亚洲欧美区自拍先锋| 偷拍日韩校园综合在线| 国产一区999| 在线影院国内精品| 精品久久一二三区| 国产精品久久久久久一区二区三区| 亚洲欧洲精品一区二区三区 | 一区二区三区在线免费观看| 亚洲一区二区三区四区在线免费观看 | 欧美色手机在线观看| 欧美电影在线免费观看| 国产欧美一区二区在线| 夜夜亚洲天天久久| 精一区二区三区| 色婷婷久久综合| 精品国一区二区三区| 亚洲精品你懂的| 国产精品一区二区久激情瑜伽| 色综合久久久久久久久| 精品美女一区二区| 亚洲一区二区三区四区五区黄| 韩国女主播成人在线观看| 91色porny在线视频| 精品国产99国产精品| 一片黄亚洲嫩模| 国产精品亚洲一区二区三区在线 | 久久国产福利国产秒拍| 一本到高清视频免费精品| 久久综合色8888| 亚洲成人免费在线观看| eeuss鲁片一区二区三区在线看| 日韩精品一区二区在线| 一区二区三区波多野结衣在线观看| 国产91综合一区在线观看| 欧美一卡2卡三卡4卡5免费| 一区二区三区久久久| 不卡的看片网站| 国产三级欧美三级日产三级99| 日韩精品免费视频人成| 欧美午夜精品理论片a级按摩| 国产精品二三区| 成人少妇影院yyyy| 国产精品久久久久一区二区三区| 国内成人免费视频| 亚洲一区二区三区在线看 | 久久福利视频一区二区| 色综合久久中文综合久久97| 国产精品乱码一区二三区小蝌蚪| 亚洲福利国产精品| 在线观看亚洲精品视频| 亚洲免费在线视频一区 二区| 大桥未久av一区二区三区中文| 精品国产乱码久久久久久蜜臀 | 欧美亚一区二区| 日韩欧美成人激情| 国产91在线观看| 精品三级在线观看| 蜜臀a∨国产成人精品| 欧美一区二区视频在线观看| 亚洲va天堂va国产va久| 欧美日韩国产精选| 日韩精品欧美精品| 欧美一区二区三区男人的天堂| 蜜臀av亚洲一区中文字幕| 久久午夜老司机| 大美女一区二区三区| 亚洲欧美日韩久久精品| 欧美日韩综合在线免费观看| 日韩电影免费在线| 欧美变态口味重另类| 丁香另类激情小说| 一二三四社区欧美黄| 91麻豆精品国产91久久久更新时间 | 国产一区二区视频在线播放| 国产蜜臀av在线一区二区三区| a4yy欧美一区二区三区| 亚洲成人av一区| 欧美精品一区二区三区在线| 成人的网站免费观看| 亚洲国产一区二区视频| 精品国产免费视频| 在线看日本不卡| 精品一区二区三区久久久| 亚洲欧洲日韩在线| 91精品综合久久久久久| 成人午夜激情片| 亚洲成在人线在线播放| 久久午夜国产精品| 欧美日韩国产大片| 成人在线视频首页| 亚洲乱码国产乱码精品精小说 | 欧美一区二区三区免费大片| 狠狠色丁香久久婷婷综合丁香| 综合自拍亚洲综合图不卡区| 欧美一区中文字幕| 波多野结衣亚洲| 麻豆国产精品777777在线| 最新不卡av在线| 国产亚洲精品超碰| 91精品在线免费| 日本久久电影网| 国产毛片精品一区| 日本不卡高清视频| 一级日本不卡的影视| 中文字幕在线免费不卡| 久久婷婷综合激情| 成人激情开心网| 亚洲欧美日韩综合aⅴ视频| 欧美一区二区在线视频| 一本色道久久综合狠狠躁的推荐 | 风间由美性色一区二区三区| 亚洲地区一二三色| 亚洲免费在线观看视频| 久久精品一区二区| 欧美mv日韩mv| 欧美一区二区三区四区久久 | 韩国女主播成人在线观看| 日日摸夜夜添夜夜添亚洲女人| 亚洲三级电影网站| 最新日韩av在线| 国产精品久久久久久亚洲毛片| 久久久亚洲高清| 日韩免费视频一区二区| 国产亚洲自拍一区| 精品免费国产一区二区三区四区| 7777精品伊人久久久大香线蕉的| 色伊人久久综合中文字幕| www.欧美.com| 欧美日韩中字一区| 国产一区福利在线| 乱一区二区av| 精一区二区三区| 激情综合色播五月| 黄网站免费久久| 国产成人在线看| 波多野结衣中文字幕一区二区三区 | 国产激情偷乱视频一区二区三区| 久久国产剧场电影| 国产精品一区二区在线观看不卡| 国产久卡久卡久卡久卡视频精品| 国产成人在线视频网站| av在线不卡观看免费观看| voyeur盗摄精品| 色八戒一区二区三区| 欧美日韩国产高清一区二区三区| 777亚洲妇女| 久久久久久久久99精品| 国产精品久久久久久久久免费樱桃| 亚洲三级在线播放| 亚洲v中文字幕| 紧缚奴在线一区二区三区| 粉嫩aⅴ一区二区三区四区| 91免费看`日韩一区二区| 欧美日韩亚洲不卡| 精品久久久久久久人人人人传媒| 国产亚洲一区二区三区| 亚洲黄色av一区| 精品一区精品二区高清| 91在线播放网址| 日韩三级高清在线| 国产精品盗摄一区二区三区| 亚洲国产精品一区二区www在线| 视频一区国产视频| 丁香婷婷综合网| 欧美色综合网站| 久久九九影视网| 日本美女一区二区| 色综合天天综合网天天看片| thepron国产精品| 欧美高清激情brazzers| 久久久久久久久久久黄色| 亚洲欧美国产三级| 精品一二线国产| 在线免费不卡电影| 中文字幕不卡的av| 蜜芽一区二区三区| 欧美亚洲综合色| 国产欧美日韩在线| 蜜桃在线一区二区三区| 91国偷自产一区二区三区成为亚洲经典| 亚洲精品高清在线|