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

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

?? ctools.h

?? 一個比較通用的大數運算庫
?? H
字號:

#ifndef NTL_ctools__H
#define NTL_ctools__H

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


/*
 * Resolve double-word integer types.
 *
 * Unfortunately, there is no "standard" way to do this.
 * On 32-bit machines, 'long long' usually works (but not
 * on MSVC++ or BORLAND), and on 64-bit machines, there is
 * no standard.  However, most compilers do offer *some*
 * non-standard double-word type.  
 *
 * Note that C99 creates a standard header <stdint.h>,
 * but it is not clear how widely this is implemented yet,
 * and for example, GCC does not provide a type int128_t 
 * in <stdint.h> on 64-bit machines.
 */


#if (defined(NTL_LONG_LONG_TYPE))

#define NTL_LL_TYPE NTL_LONG_LONG_TYPE

#elif (NTL_BITS_PER_LONG == 64 && defined(__GNUC__))

#define NTL_LL_TYPE __int128_t

#elif (NTL_BITS_PER_LONG == 32 && (defined(_MSC_VER) || defined(__BORLANDC__)))

#define NTL_LL_TYPE __int64

#elif (NTL_BITS_PER_LONG == 64 && (defined(_MSC_VER) || defined(__BORLANDC__)))

#define NTL_LL_TYPE __int128

#endif

#if (!defined(NTL_LL_TYPE))

#define NTL_LL_TYPE long long

#endif



#if (defined(NTL_UNSIGNED_LONG_LONG_TYPE))

#define NTL_ULL_TYPE NTL_UNSIGNED_LONG_LONG_TYPE

#elif (NTL_BITS_PER_LONG == 64 && defined(__GNUC__))

#define NTL_ULL_TYPE __uint128_t

#elif (NTL_BITS_PER_LONG == 32 && (defined(_MSC_VER) || defined(__BORLANDC__)))

#define NTL_ULL_TYPE unsigned __int64

#elif (NTL_BITS_PER_LONG == 64 && (defined(_MSC_VER) || defined(__BORLANDC__)))

#define NTL_ULL_TYPE unsigned __int128

#endif

#if (!defined(NTL_ULL_TYPE))

#define NTL_ULL_TYPE unsigned long long

#endif


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







#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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区白人| 国产喷白浆一区二区三区| 成人av先锋影音| 粉嫩一区二区三区在线看| 国产麻豆精品一区二区| 韩日欧美一区二区三区| 国产精品一区二区黑丝| 成人免费av网站| 成人福利视频在线看| 成人免费黄色大片| 日本高清成人免费播放| 欧美日韩在线观看一区二区| 欧美日韩一区二区三区在线看| 欧美三级电影在线观看| 5566中文字幕一区二区电影| 欧美成人精品福利| 久久久久久久久久久久电影| 国产精品久久久一本精品| 亚洲人妖av一区二区| 天堂蜜桃91精品| 国产一区在线不卡| 91黄色免费网站| 日韩三级免费观看| 国产精品久久久久一区| 亚洲一级二级在线| 精品一区二区三区影院在线午夜| 成人免费看视频| 91.com视频| 国产精品理论在线观看| 亚洲电影在线播放| 国产不卡免费视频| 欧美三级乱人伦电影| 久久久久综合网| 亚洲bt欧美bt精品777| 国产成人欧美日韩在线电影| 91官网在线观看| 精品国产乱码久久久久久夜甘婷婷| 欧美高清在线一区二区| 亚洲gay无套男同| 99久久久精品| 精品捆绑美女sm三区| 亚洲精品你懂的| 国产精品1024| 欧美乱妇20p| 亚洲精品中文在线影院| 精品一区免费av| 欧美日韩一区二区在线观看 | 综合精品久久久| 蜜臀av一区二区在线免费观看| www.日韩大片| 久久伊人中文字幕| 日本最新不卡在线| 欧美亚洲尤物久久| 国产精品久久久久久久久久久免费看| 同产精品九九九| 色8久久精品久久久久久蜜| 国产欧美视频一区二区三区| 日韩精品一区第一页| 色菇凉天天综合网| 国产精品久久看| 成人免费毛片嘿嘿连载视频| 精品理论电影在线| 精品综合久久久久久8888| 欧美日韩在线播放| 亚洲国产日日夜夜| 在线视频一区二区三| 一区二区三区四区精品在线视频 | 色94色欧美sute亚洲13| 国产精品动漫网站| av成人免费在线观看| 国产欧美精品一区二区三区四区 | 久久久久久久综合日本| 久久电影网电视剧免费观看| 777a∨成人精品桃花网| 日韩在线一二三区| 538prom精品视频线放| 五月激情综合婷婷| 欧美一二三区在线| 久久99久久99精品免视看婷婷| 欧美大片在线观看一区| 久久av资源站| 国产区在线观看成人精品| 国产99久久久国产精品潘金网站| 久久久久国产免费免费| 成人av电影免费在线播放| 亚洲同性gay激情无套| 色婷婷综合久久久久中文一区二区 | 国产精品女人毛片| 97se亚洲国产综合在线| 亚洲最快最全在线视频| 欧美日本在线看| 久久疯狂做爰流白浆xx| 日本一区二区动态图| 一本大道久久a久久综合婷婷| 亚洲国产中文字幕| 精品国产91久久久久久久妲己| 国产乱妇无码大片在线观看| 日韩理论片在线| 91精品国产综合久久久久久久| 狠狠色伊人亚洲综合成人| 中文字幕av在线一区二区三区| 91在线观看成人| 蜜桃久久精品一区二区| 18欧美乱大交hd1984| 欧美精品在线视频| 成人av资源网站| 男女男精品视频| 椎名由奈av一区二区三区| 欧美一区二区三区在线观看视频| 国产成人午夜精品影院观看视频 | 国产欧美一区二区三区网站| 一本久道久久综合中文字幕| 偷拍日韩校园综合在线| 国产欧美一区二区精品婷婷| 在线观看国产91| 国产91高潮流白浆在线麻豆 | 成人av电影在线| 久草精品在线观看| 亚洲美女视频在线| 久久综合九色综合欧美就去吻| 91极品视觉盛宴| 成人黄色国产精品网站大全在线免费观看 | 精品久久99ma| 欧美中文字幕久久| 成人亚洲一区二区一| 免费观看在线综合色| 亚洲综合色丁香婷婷六月图片| 久久久久国色av免费看影院| 8x福利精品第一导航| 在线看国产一区二区| 成年人国产精品| 国产精品一区不卡| 精品系列免费在线观看| 午夜精品久久久久久久蜜桃app| 中文在线一区二区| 久久久精品影视| 久久综合成人精品亚洲另类欧美 | 精品久久久影院| 91精品国产综合久久精品图片| 色国产综合视频| 91国在线观看| 91色.com| 91黄视频在线| 色老汉一区二区三区| 99久久免费视频.com| 成人动漫一区二区在线| 国产成人自拍高清视频在线免费播放| 精品亚洲aⅴ乱码一区二区三区| 日本不卡不码高清免费观看| 视频一区二区不卡| 免费高清视频精品| 久久国产精品无码网站| 精品夜夜嗨av一区二区三区| 韩日精品视频一区| 国产传媒一区在线| 99精品热视频| 91国偷自产一区二区三区成为亚洲经典 | 亚洲国产精品一区二区www| 亚洲女子a中天字幕| 亚洲永久精品大片| 亚洲国产另类av| 日韩高清电影一区| 另类的小说在线视频另类成人小视频在线| 日韩西西人体444www| 日韩女优av电影在线观看| 久久久久高清精品| 亚洲欧洲国产日韩| 亚洲成人在线网站| 精品一区二区在线看| 国产不卡在线一区| 欧美在线观看一区| 欧美成人高清电影在线| 国产三级欧美三级日产三级99| 国产精品久久久久影院老司| 亚洲一区二区成人在线观看| 日韩福利视频网| 成人午夜电影小说| 91国模大尺度私拍在线视频| 欧美一激情一区二区三区| 欧美激情在线看| 五月天激情小说综合| 成人在线视频一区二区| 欧美日韩一区二区不卡| 国产婷婷色一区二区三区| 一区二区三区精品| 国产麻豆成人精品| 欧美性xxxxxxxx| 国产婷婷一区二区| 日韩电影免费在线观看网站| 国产精品一二一区| 欧美日韩在线播放三区四区| 久久久久久久久蜜桃| 丝袜美腿一区二区三区| 成人免费视频播放| 欧美一二三四区在线| 一区二区三区不卡视频在线观看| 麻豆一区二区三| 欧美三级日韩三级| 亚洲视频电影在线| 国产成人自拍网|