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

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

?? rr.h

?? 使用NTL大整數庫實現RSA公鑰密碼算法,可用于對文本文件進行加密和解密. 平臺Windows98以上,VC++6.0, 內部文件路徑均為相對路徑,不存在無法編譯的Bub.
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef NTL_RR__H
#define NTL_RR__H

#include <NTL/ZZ.h>
#include <NTL/xdouble.h>
#include <NTL/quad_float.h>

NTL_OPEN_NNS


class RR {

public:

ZZ x;
long e;

RR() {  e = 0; }

inline RR(INIT_VAL_TYPE, const ZZ& a);
inline RR(INIT_VAL_TYPE, int a);
inline RR(INIT_VAL_TYPE, long a);
inline RR(INIT_VAL_TYPE, unsigned int a);
inline RR(INIT_VAL_TYPE, unsigned long a);
inline RR(INIT_VAL_TYPE, float a);
inline RR(INIT_VAL_TYPE, double a);
inline RR(INIT_VAL_TYPE, const xdouble& a);
inline RR(INIT_VAL_TYPE, const quad_float& a);
inline RR(INIT_VAL_TYPE, const char *a);  // read from string
inline RR(INIT_VAL_TYPE, const RR& a);


inline RR& operator=(double a);

RR(RR& z, INIT_TRANS_TYPE) : x(z.x, INIT_TRANS), e(z.e) { } 





~RR() { }

const ZZ& mantissa() const { return x; }
long exponent() const { return e; }

static long prec;
static void SetPrecision(long p);
static long precision() { return prec; }

static long oprec;
static void SetOutputPrecision(long p);
static long OutputPrecision() { return oprec; }

#ifdef NTL_TRANSITION
private:
RR& operator=(const RR&);
RR(const RR&);
#endif

};


long IsZero(const RR& a);
long IsOne(const RR& a);
long sign(const RR& a);
void clear(RR& z);
void set(RR& z);
void swap(RR& a, RR& b);

void add(RR& z, const RR& a, const RR& b);

void add(RR& z, const RR& a, double b);
inline void add(RR& z, double a, const RR& b) { add(z, b, a); }



void sub(RR& z, const RR& a, const RR& b);

void sub(RR& z, const RR& a, double b);
void sub(RR& z, double a, const RR& b);

void negate(RR& z, const RR& a);

void abs(RR& z, const RR& a);
inline RR abs(const RR& a)
   { RR z; abs(z, a); NTL_OPT_RETURN(RR, z); }
inline RR fabs(const RR& a)
   { RR z; abs(z, a); NTL_OPT_RETURN(RR, z); }

void mul(RR& z, const RR& a, const RR& b);

void mul(RR& z, const RR& a, double b);
inline void mul(RR& z, double a, const RR& b) { mul(z, b, a); }

void sqr(RR& z, const RR& a);
inline RR sqr(const RR& a)
   { RR z; sqr(z, a); NTL_OPT_RETURN(RR, z); }

void div(RR& z, const RR& a, const RR& b);

void div(RR& z, const RR& a, double b);
void div(RR& z, double a, const RR& b);

void inv(RR& z, const RR& a);
inline RR inv(const RR& a)
   { RR z; inv(z, a); NTL_OPT_RETURN(RR, z); }

// operator notation:

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

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

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

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

inline RR& operator+=(RR& x, double b)
   { add(x, x, b); return x; } 



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

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

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

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

inline RR& operator-=(RR& x, double b)
   { sub(x, x, b); return x; } 



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

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

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

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

inline RR& operator*=(RR& x, double b)
   { mul(x, x, b); return x; } 


inline RR operator/(const RR& a, const RR& b)
   { RR x; div(x, a, b); NTL_OPT_RETURN(RR, x); }

inline RR operator/(const RR& a, double b)
   { RR x; div(x, a, b); NTL_OPT_RETURN(RR, x); }

inline RR operator/(double a, const RR& b)
   { RR x; div(x, a, b); NTL_OPT_RETURN(RR, x); }

inline RR& operator/=(RR& x, const RR& b)
   { div(x, x, b); return x; } 

inline RR& operator/=(RR& x, double b)
   { div(x, x, b); return x; } 


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


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



long compare(const RR& a, const RR& b);

long compare(const RR& a, double b);
inline long compare(double a, const RR& b) { return -compare(b, a); }


long operator==(const RR& a, const RR& b);
inline long operator!=(const RR& a, const RR& b) { return !(a == b); }
inline long operator<=(const RR& a, const RR& b) { return compare(a, b) <= 0; }
inline long operator>=(const RR& a, const RR& b) { return compare(a, b) >= 0; }
inline long operator <(const RR& a, const RR& b) { return compare(a, b)  < 0; }
inline long operator >(const RR& a, const RR& b) { return compare(a, b)  > 0; }

long operator==(const RR& a, double b);
inline long operator!=(const RR& a, double b) { return !(a == b); }
inline long operator<=(const RR& a, double b) { return compare(a, b) <= 0; }
inline long operator>=(const RR& a, double b) { return compare(a, b) >= 0; }
inline long operator <(const RR& a, double b) { return compare(a, b)  < 0; }
inline long operator >(const RR& a, double b) { return compare(a, b)  > 0; }

inline long operator==(double a, const RR& b) { return (b == a); }
inline long operator!=(double a, const RR& b) { return !(a == b); }
inline long operator<=(double a, const RR& b) { return compare(a, b) <= 0; }
inline long operator>=(double a, const RR& b) { return compare(a, b) >= 0; }
inline long operator <(double a, const RR& b) { return compare(a, b)  < 0; }
inline long operator >(double a, const RR& b) { return compare(a, b)  > 0; }

void ceil(RR& z, const RR& a);
inline RR ceil(const RR& a)
   { RR z; ceil(z, a); NTL_OPT_RETURN(RR, z); }

void floor(RR& z, const RR& a);
inline RR floor(const RR& a)
   { RR z; floor(z, a); NTL_OPT_RETURN(RR, z); }

void trunc(RR& z, const RR& a);
inline RR trunc(const RR& a)
   { RR z; trunc(z, a); NTL_OPT_RETURN(RR, z); }

void round(RR& z, const RR& a);
inline RR round(const RR& a)
   { RR z; round(z, a); NTL_OPT_RETURN(RR, z); }

void RoundToPrecision(RR& z, const RR& a, long p);
inline RR RoundToPrecision(const RR& a, long p)
   { RR z; RoundToPrecision(z, a, p); NTL_OPT_RETURN(RR, z); }


// routines with a precision parameter

void ConvPrec(RR& z, const RR& a, long p);
inline RR ConvPrec(const RR& a, long p)
   { RR z; ConvPrec(z, a, p); NTL_OPT_RETURN(RR, z); }

void AddPrec(RR& z, const RR& a, const RR& b, long p);
inline RR AddPrec(const RR& a, const RR& b, long p)
   { RR z; AddPrec(z, a, b, p); NTL_OPT_RETURN(RR, z); }

void SubPrec(RR& z, const RR& a, const RR& b, long p);
inline RR SubPrec(const RR& a, const RR& b, long p)
   { RR z; SubPrec(z, a, b, p); NTL_OPT_RETURN(RR, z); }

void NegatePrec(RR& z, const RR& a, long p);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区不卡| 精品三级在线看| 91精品午夜视频| 久久久国产午夜精品| 亚洲综合色区另类av| 国产最新精品精品你懂的| 欧美伊人精品成人久久综合97| 26uuu亚洲综合色| 日日噜噜夜夜狠狠视频欧美人| av在线不卡电影| www国产成人| 免费在线观看视频一区| 欧美自拍偷拍一区| 国产精品每日更新在线播放网址| 久久精品99国产精品| 欧美另类高清zo欧美| 亚洲视频一区二区在线| 大白屁股一区二区视频| 亚洲精品一区二区三区在线观看| 五月天婷婷综合| 欧美天堂亚洲电影院在线播放| 亚洲天堂免费看| 99v久久综合狠狠综合久久| 国产色产综合产在线视频| 精品写真视频在线观看| 日韩欧美中文字幕公布| 天涯成人国产亚洲精品一区av| 欧美亚洲国产一区二区三区va| 亚洲久本草在线中文字幕| 不卡的电影网站| **欧美大码日韩| 99国内精品久久| 日韩理论电影院| 欧美影视一区二区三区| 亚洲一二三专区| 欧美在线一区二区| 午夜精品aaa| 日韩一区二区三区免费看| 日韩**一区毛片| 久久亚洲欧美国产精品乐播| 国产凹凸在线观看一区二区| 国产精品视频在线看| 91在线精品一区二区三区| 亚洲人成在线播放网站岛国| 色欧美片视频在线观看| 亚洲国产日产av| 欧美一区二区三区视频在线观看| 国内精品久久久久影院一蜜桃| 国产欧美一区二区精品性色超碰| 福利电影一区二区| 一区二区三区四区乱视频| 欧美日韩高清一区二区三区| 麻豆精品在线观看| 国产精品理论片在线观看| 91成人国产精品| 蜜桃视频在线一区| 中国av一区二区三区| 欧美综合天天夜夜久久| 免费成人深夜小野草| 中文一区在线播放| 欧美网站大全在线观看| 国产一区在线不卡| 亚洲精品国产视频| 欧美成人猛片aaaaaaa| www.视频一区| 日本不卡一二三| 成人免费视频在线观看| 91精品国产综合久久久久久久久久 | 精品久久99ma| 99国产精品视频免费观看| 日韩av电影天堂| 欧美国产一区视频在线观看| 欧美美女网站色| 91网站黄www| 国产一区日韩二区欧美三区| 亚洲午夜精品久久久久久久久| www久久精品| 欧美日韩激情一区| 99riav久久精品riav| 久久66热偷产精品| 夜色激情一区二区| 国产精品动漫网站| 精品国产乱码91久久久久久网站| 91国产免费看| 粉嫩在线一区二区三区视频| 五月天精品一区二区三区| 亚洲图片欧美激情| 久久久www成人免费毛片麻豆| 欧美另类z0zxhd电影| 99精品视频中文字幕| 国产一区二区伦理| 蜜桃传媒麻豆第一区在线观看| 一区二区三区不卡视频在线观看 | 中文字幕乱码一区二区免费| 欧美福利一区二区| 色诱亚洲精品久久久久久| 国产成人综合网站| 久久精品99国产精品| 亚洲成av人片在www色猫咪| 亚洲免费视频中文字幕| 中文字幕欧美三区| 久久夜色精品一区| 久久婷婷久久一区二区三区| 精品少妇一区二区三区视频免付费| 欧美日韩极品在线观看一区| 在线国产电影不卡| 日本韩国一区二区三区| 色综合夜色一区| 91蝌蚪porny| 91美女福利视频| 91免费视频网址| 成人av网站在线观看| 风间由美中文字幕在线看视频国产欧美| 青草国产精品久久久久久| 日本女人一区二区三区| 日韩av高清在线观看| 日本美女一区二区| 精品在线观看免费| 国产在线播精品第三| 国产成人福利片| 成人精品国产福利| 91色|porny| 欧美裸体一区二区三区| 日韩精品在线看片z| 久久久一区二区| 国产精品久久久久久久久久久免费看| 国产精品天美传媒| 一区二区三区美女| 青青草成人在线观看| 精品无人码麻豆乱码1区2区| 国产成人在线网站| 色综合久久久久综合体桃花网| 日本精品一级二级| 欧美一区二区三区成人| 欧美精品一区在线观看| 日本一区二区动态图| 一区二区三区中文在线观看| 全部av―极品视觉盛宴亚洲| 国产乱码精品一区二区三区五月婷 | 蜜臀av一级做a爰片久久| 韩国精品在线观看| av高清不卡在线| 欧美精品亚洲一区二区在线播放| 精品国产乱码久久久久久浪潮| 国产喷白浆一区二区三区| 一区二区三区高清| 激情综合色综合久久| 99r国产精品| 日韩免费看的电影| 中文字幕亚洲区| 人禽交欧美网站| 97久久精品人人爽人人爽蜜臀 | 五月天精品一区二区三区| 国产在线视频一区二区| av在线免费不卡| 日韩欧美的一区| 一区二区三区加勒比av| 精品无人码麻豆乱码1区2区 | 色综合久久综合网97色综合| 欧美一区二区三级| 亚洲老妇xxxxxx| 国产成人av在线影院| 欧美日韩中文字幕一区二区| 久久精品人人做人人爽人人| 五月激情综合色| 99re视频精品| 国产欧美一区二区精品仙草咪| 亚洲成人免费看| 91美女视频网站| 久久久噜噜噜久久中文字幕色伊伊| 亚洲三级在线免费观看| 久久99久久久久| 欧美午夜精品理论片a级按摩| 国产精品乱码一区二三区小蝌蚪| 天天操天天综合网| 在线观看国产精品网站| 国产精品私房写真福利视频| 国内精品写真在线观看| 欧美一级久久久久久久大片| 亚洲激情第一区| voyeur盗摄精品| 国产色一区二区| 激情深爱一区二区| 欧美白人最猛性xxxxx69交| 亚洲va中文字幕| 色狠狠综合天天综合综合| 日本一区二区免费在线观看视频| 看国产成人h片视频| 欧美一卡2卡三卡4卡5免费| 亚洲成人免费在线| 欧美日韩国产综合一区二区三区| 亚洲免费大片在线观看| 99久久精品情趣| 中文字幕一区二区三区在线观看 | 中文字幕av不卡| 大尺度一区二区| 国产精品欧美一级免费| 北条麻妃国产九九精品视频| 国产精品乱码人人做人人爱| 成人手机电影网|