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

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

?? rr.txt

?? 密碼大家Shoup寫的數(shù)論算法c語言實現(xiàn)
?? TXT
字號:
/**************************************************************************\MODULE: RRSUMMARY:The class RR is used to represent arbitrary-precision floating pointnumbers.The functions in this module guarantee very strong accuracy conditionswhich make it easy to reason about the behavior of programs usingthese functions.The arithmetic operations always round their results to p bits, wherep is the current precision.  The current precision can be changedusing RR::SetPrecision(), and can be read using RR::precision().  The minimum precision that can be set is 53 bits (but see IMPLEMENTATION NOTES below).The maximum precision is limited only by the word size of the machine.All arithmetic operations are implemented so that the effect is as if theresult was computed exactly, and then rounded to p bits.  If a numberlies exactly half-way between two p-bit numbers, the "round to even"rule is used.  So in particular, the computed result will have a relative errorof at most 2^{-p}.The above rounding rules apply to all arithmetic operations in thismodule, except for the following routines:* The transcendental functions:      log, exp, log10, expm1, log1p, pow, sin, cos, ComputePi* The power function* The input and ascii to RR conversion functions when using "e"-notation For these functions, a very strong accuracy condition is still guaranteed: the computed result has a relative error of less than 2^{-p + 1}(and actually much closer to 2^{-p}).That is, it is as if the resulted were computed exactly, and thenrounded to one of the two neighboring p-bit numbers (but not necessarilythe closest).The behavior of all functions in this module is completely platform independent: you should get *exactly* the same results on any platform(the only exception to this rule is the random number generator).Note that because precision is variable, a number may be computed withto a high precision p', and then be used as input to an arithmetic operationwhen the current precision is p < p'.  The above accuracy guarantees still apply; in particular, no rounding is done until *after* the operation is performed.  EXAMPLE: If x and y are computed to 200 bits of precision,and then the precision is set to 100 bits, then x-y willbe computed correctly to 100 bits, even if, say, x and y agreein their high-order 50 bits.  If x and y had been rounded to100 bits before the subtraction, then the difference wouldonly be accurate to 50 bits of precision.Note that the assignment operator and the copy constructor produce *exact* copies of their inputs---they are *never* rounded. This is a change in semantics from versions 2.0 and earlierin which assignment and copy rounded their outputs.This was deemed a design error and has been changed.If you want to force rounding to current precision, the easiestway to do this is with the RR to RR conversion routines:   conv(x, a);or   x = to_RR(a); This will round a to current precision and store the result in x.Note that writing   x = a + 0;or   x = a*1;also has the same effect.Unlike IEEE standard floating point, there are no "special values",like "infinity" or "not a number", nor are there any "denormalizednumbers".  Overflow, underflow, or taking a square root of a negativenumber all result in an error being raised.An RR is represented as a mantissa/exponent pair (x, e), where x is aZZ and e is a long.  The real number represented by (x, e) is x * 2^e.Zero is always represented as (0, 0).  For all other numbers, x isalways odd.CONVERSIONS AND PROMOTIONS:The complete set of conversion routines between RR and other types isdocumented in the file "conversions.txt". Conversion from any typeto RR always rounds the result to the current precision.The basic operations also support the notion of "promotions", so that they promote a double to an RR.  For example, one can write    x = y + 1.5;where x and y are RR's. One should be aware that these promotions are always implemented using the double to RR conversion routine.SIZE INVARIANT: max(NumBits(x), |e|) < 2^(NTL_BITS_PER_LONG-4)\**************************************************************************/#include <NTL/ZZ.h>#include <NTL/xdouble.h>#include <NTL/quad_float.h>class RR {public:RR(); // = 0RR(const RR& a); // copy constructorRR& operator=(const RR& a); // assignment operator// NOTE: the copy constructor and assignment operator// produce exact copies of their inputs, and do not round// to current precision.  This is a change in semantics// from versions 2.0 and earlier, in which the outputs were // rounded to current precision.RR& operator=(double a); // convert and assign~RR(); // destructorconst ZZ& mantissa() const;  // read the mantissalong exponent() const;  // read the exponentstatic void SetPrecision(long p);  // set current precision to max(p, 53) bits.// The default is 150static long precision();  // read current value of precisionstatic void SetOutputPrecision(long p);  // set the number of output decimal digits to max(p, 1).// The default is 10static long OutputPrecision();// read the current number of output decimal digits};/**************************************************************************\                                  Comparison\**************************************************************************/// standard comparison operators:long operator==(const RR& a, const RR& b);long operator!=(const RR& a, const RR& b);long operator<=(const RR& a, const RR& b);long operator>=(const RR& a, const RR& b);long operator <(const RR& a, const RR& b);long operator >(const RR& a, const RR& b);long IsZero(const RR& a); // test if 0long IsOne(const RR& a); // test if 1long sign(const RR& a);  // returns sign of a (+1, -1, 0)long compare(const RR& a, const RR& b); // returns sign(a-b);// PROMOTIONS: operators ==, ..., > and function compare// promote double to RR on (a, b)./**************************************************************************\                                  Addition\**************************************************************************/// operator notation:RR operator+(const RR& a, const RR& b);RR operator-(const RR& a, const RR& b);RR operator-(const RR& a); // unary -RR& operator+=(RR& x, const RR& a);RR& operator+=(RR& x, double a);RR& operator-=(RR& x, const RR& a);RR& operator-=(RR& x, double a);RR& operator++(RR& x);  // prefixvoid operator++(RR& x, int);  // postfixRR& operator--(RR& x);  // prefixvoid operator--(RR& x, int);  // postfix// procedural versions:void add(RR& z, const RR& a, const RR& b); // z = a+bvoid sub(RR& z, const RR& a, const RR& b); // z = a-bvoid negate(RR& z, const RR& a); // z = -a// PROMOTIONS: operators +, -, and procedures add, sub promote double// to RR on (a, b).void abs(RR& z, const RR& a); // z = |a|RR fabs(const RR& a);  RR abs(const RR& a); /**************************************************************************\                                  Multiplication\**************************************************************************/// operator notation:RR operator*(const RR& a, const RR& b);RR& operator*=(RR& x, const RR& a);RR& operator*=(RR& x, double a);// procedural versions:void mul(RR& z, const RR& a, const RR& b); // z = a*bvoid sqr(RR& z, const RR& a); // z = a * aRR sqr(const RR& a); // PROMOTIONS: operator * and procedure mul promote double to RR on (a, b)./**************************************************************************\                               Division\**************************************************************************/// operator notation:RR operator/(const RR& a, const RR& b);RR& operator/=(RR& x, const RR& a);RR& operator/=(RR& x, double a);// procedural versions:void div(RR& z, const RR& a, const RR& b); z = a/bvoid inv(RR& z, const RR& a); // z = 1 / aRR inv(const RR& a); // PROMOTIONS: operator / and procedure div promote double to RR on (a, b)./**************************************************************************\                       Transcendental functions \**************************************************************************/void exp(RR& res, const RR& x);  // e^xRR exp(const RR& x); void log(RR& res, const RR& x); // log(x) (natural log)RR log(const RR& x); void log10(RR& res, const RR& x); // log(x)/log(10)RR log10(const RR& x); void expm1(RR& res, const RR&  x);RR expm1(const RR& x); // e^(x)-1; more accurate than exp(x)-1 when |x| is smallvoid log1p(RR& res, const RR& x);RR log1p(const RR& x); // log(1 + x); more accurate than log(1 + x) when |x| is smallvoid pow(RR& res, const RR& x, const RR& y);  // x^yRR pow(const RR& x, const RR& y); void sin(RR& res, const RR& x);  // sin(x); restriction: |x| < 2^1000RR sin(const RR& x); void cos(RR& res, const RR& x);  // cos(x); restriction: |x| < 2^1000RR cos(const RR& x); void ComputePi(RR& pi); // approximate pi to current precisionRR ComputePi_RR();/**************************************************************************\                         Rounding to integer values        \**************************************************************************//*** RR output ***/void trunc(RR& z, const RR& a);  // z = a, truncated to 0RR trunc(const RR& a);void floor(RR& z, const RR& a);  // z = a, truncated to -infinityRR floor(const RR& a);void ceil(RR& z, const RR& a);   // z = a, truncated to +infinityRR ceil(const RR& a);void round(RR& z, const RR& a);   // z = a, truncated to nearest integerRR round(const RR& a);            // ties are rounded to an even integer/*** ZZ output ***/void TruncToZZ(ZZ& z, const RR& a);  // z = a, truncated to 0ZZ TruncToZZ(const RR& a);void FloorToZZ(ZZ& z, const RR& a);  // z = a, truncated to -infinityZZ FloorToZZ(const RR& a);           // same as RR to ZZ conversionvoid CeilToZZ(ZZ& z, const RR& a);   // z = a, truncated to +infinityZZ CeilToZZ(const ZZ& a);void RoundToZZ(ZZ& z, const RR& a);   // z = a, truncated to nearest integerZZ RoundToZZ(const RR& a);            // ties are rounded to an even integer/**************************************************************************\                                 Miscelaneous\**************************************************************************/void RoundToPrecision(RR& z, const RR& a, long p);RR RoundToPrecision(const RR& a, long p);// z = (a rounded to p bits of precsion);// must have p > 0.void MakeRR(RR& z, const ZZ& a,  long e);RR MakeRR(const ZZ& a,  long e);// z = a*2^e, rounded to current precisionvoid random(RR& z);RR random_RR(); // z = pseudo-random number in the range [0,1).// Note that the behaviour of this function is somewhat platform// dependent, because the underlying pseudo-ramdom generator is.void SqrRoot(RR& z, const RR& a); // z = sqrt(a);RR SqrRoot(const RR& a);RR sqrt(const RR& a);void power(RR& z, const RR& a, long e); // z = a^e, e may be negativeRR power(const RR& a, long e); void power2(RR& z, long e); // z = 2^e, e may be negativeRR power2_RR(long e); void clear(RR& z);  // z = 0void set(RR& z);  // z = 1void swap(RR& a, RR& b);  // swaps a and b (by swapping pointers)/**************************************************************************\                               Input/OutputInput Syntax:<number>: [ "-" ] <unsigned-number><unsigned-number>: <dotted-number> [ <e-part> ] | <e-part><dotted-number>: <digits> | <digits> "." <digits> | "." <digits> | <digits> "."<digits>: <digit> <digits> | <digit><digit>: "0" | ... | "9"<e-part>: ( "E" | "e" ) [ "+" | "-" ] <digits>Examples of valid input:17 1.5 0.5 .5 5.  -.5  e10 e-10 e+10 1.5e10 .5e10 .5E10Note that the number of decimal digits of precision that are usedfor output can be set to any number p >= 1 by callingthe routine RR::SetOutputPrecision(p).  The default value of p is 10.The current value of p is returned by a call to RR::OutputPrecision().\**************************************************************************/ostream& operator<<(ostream& s, const RR& a);istream& operator>>(istream& s, RR& x);/**************************************************************************\                        IMPLEMENTATION NOTESThe current working precision is stored in a global variablecalled RR::prec.When you call RR::SetPrecision(p), then RR::prec is setto max(53, p)."Casual users" should only set RR::prec through the SetPrecision routine.At some point in time, I decided to make the routine SetPrecision enforcethe invariant RR::prec >= 53, which seemed convenient for several reasons.I don't know if this is still a good idea, but it seems like aneven worse idea to change the semantics now.RR::prec can be set (with an assignment statement) to any value psuch that    0 < p < (1L << (NTL_BITS_PER_LONG-4))and any of the basic functions, including arithmetic (+,-,*,/), sqrt, input, conversion, rounding,will work correctly.Indeed, a number of routines in RR.c exploit this "feature".However, it is not necessarily safe to call any other routineswhen RR::prec is so small.A number of strange things can happening, and so it is bestto simply avoid this.\**************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区不卡在线| 男人的天堂久久精品| 亚洲综合久久av| 美女脱光内衣内裤视频久久网站 | 99re热视频这里只精品| 欧美精品丝袜久久久中文字幕| 亚洲国产精品成人综合| 免费在线成人网| 色天使色偷偷av一区二区| 精品精品欲导航| 亚洲6080在线| 91在线免费播放| 国产人成亚洲第一网站在线播放| 蜜臀久久久久久久| 91.成人天堂一区| 亚洲精品欧美在线| 成人avav影音| 国产精品福利av | 日韩在线观看一区二区| 色婷婷激情一区二区三区| 国产精品视频免费| 国产精品一区二区三区四区 | 欧美色倩网站大全免费| 亚洲色图丝袜美腿| av成人动漫在线观看| 国产三区在线成人av| 国产suv精品一区二区883| 久久蜜桃av一区二区天堂 | 成人免费毛片app| 精品国产在天天线2019| 日本成人在线电影网| 欧美日韩五月天| 日韩精品欧美精品| 欧美一卡2卡3卡4卡| 日韩精品免费专区| 日韩一级成人av| 精品一二三四在线| 国产午夜精品福利| 国产91色综合久久免费分享| 久久久久久久久久久久久久久99 | 欧美日韩欧美一区二区| 午夜精品久久久久久| 在线不卡中文字幕播放| 狠狠色丁香婷婷综合| 久久久久久电影| 91在线视频播放地址| 一区二区国产视频| 91精品国产综合久久婷婷香蕉 | 91麻豆精品国产| 极品瑜伽女神91| 国产精品理论在线观看| 色94色欧美sute亚洲线路一久 | 国产成人精品影视| 《视频一区视频二区| 欧美日韩一二三区| 精品在线免费观看| 中文字幕精品一区二区精品绿巨人 | 视频在线观看一区| 久久综合久久综合亚洲| 91日韩精品一区| 日本亚洲三级在线| 国产精品传媒视频| 69堂国产成人免费视频| 国产成人精品影院| 亚洲成人精品在线观看| 久久精品视频网| 欧美日韩久久一区二区| 国产精品18久久久久久久网站| 亚洲激情五月婷婷| 精品国产乱码91久久久久久网站| 99精品久久只有精品| 午夜伦欧美伦电影理论片| 国产欧美一区二区精品仙草咪| 欧美日韩一区精品| 国产成人激情av| 免费人成精品欧美精品| 亚洲欧美日韩人成在线播放| 欧美变态tickle挠乳网站| 色综合久久中文综合久久97| 国产在线精品免费| 亚洲成人av在线电影| 《视频一区视频二区| 亚洲精品在线免费观看视频| 欧美日韩在线播放三区四区| 99精品欧美一区二区三区小说| 激情文学综合网| 亚洲福利国产精品| 国产精品乱码一区二区三区软件 | 在线观看免费成人| 国产不卡视频在线观看| 日韩精品91亚洲二区在线观看| 日韩美女精品在线| 亚洲国产精品av| 欧美精品一区二区三区高清aⅴ | 精品福利一区二区三区| 欧美人与z0zoxxxx视频| 在线看日韩精品电影| www.久久精品| 国产在线麻豆精品观看| 美女视频黄频大全不卡视频在线播放| 亚洲品质自拍视频网站| 日韩理论片网站| 中文字幕在线播放不卡一区| 国产欧美在线观看一区| 久久综合狠狠综合久久综合88| 日韩欧美国产一二三区| 欧美成人一区二区三区在线观看 | 国产一区二区在线视频| 久久99久久99| 紧缚奴在线一区二区三区| 激情欧美一区二区| 久久 天天综合| 国产伦精品一区二区三区免费迷| 精一区二区三区| 国产成人午夜精品影院观看视频 | 在线成人午夜影院| 欧美一区二区三区视频| 日韩欧美久久一区| 欧美成人r级一区二区三区| 精品少妇一区二区三区在线视频| 精品三级av在线| 日本一区二区三区视频视频| 中文字幕在线观看一区| 亚洲精品国产a| 亚洲成人精品一区| 蜜臀av性久久久久蜜臀aⅴ流畅| 免费一级片91| 国产成都精品91一区二区三| 成人一区二区三区中文字幕| 91网站在线播放| 制服丝袜激情欧洲亚洲| xnxx国产精品| 国产精品成人免费在线| 婷婷开心久久网| 狠狠色丁香婷婷综合久久片| 99久久久国产精品| 在线播放国产精品二区一二区四区| 在线播放中文一区| 国产欧美精品一区| 一区二区高清视频在线观看| 日本不卡在线视频| 成人免费视频一区| 欧美精品久久99| 国产欧美精品日韩区二区麻豆天美| 亚洲毛片av在线| 青青草国产成人av片免费| 丁香桃色午夜亚洲一区二区三区| 欧美综合在线视频| 久久久精品影视| 亚洲一区二区高清| 韩日欧美一区二区三区| 91麻豆精品秘密| 久久亚洲捆绑美女| 亚洲成人动漫在线观看| 国产91精品久久久久久久网曝门| 欧美日韩黄色影视| ㊣最新国产の精品bt伙计久久| 视频在线观看91| 99re这里只有精品首页| 欧美sm极限捆绑bd| 亚洲国产精品一区二区www在线| 国产精品自拍毛片| 在线播放欧美女士性生活| 成人欧美一区二区三区在线播放| 麻豆精品一区二区| 欧美日韩国产影片| 亚洲三级电影全部在线观看高清| 激情综合色综合久久综合| 欧美在线视频日韩| 国产精品久久久久aaaa樱花 | 国产欧美一区二区精品性色| 日韩av一级片| 欧美三级视频在线播放| 1024国产精品| 成人a级免费电影| 2019国产精品| 麻豆传媒一区二区三区| 欧美精品久久99久久在免费线 | 国产精品国产三级国产有无不卡| 青青草国产精品97视觉盛宴| 色婷婷久久久久swag精品| 国产精品私人自拍| 国产精品资源在线看| www国产精品av| 黄色小说综合网站| 日韩精品一区二区三区四区视频| 天堂一区二区在线| 欧美日韩国产精选| 亚洲bt欧美bt精品| 欧美老肥妇做.爰bbww视频| 亚洲最大成人网4388xx| a级高清视频欧美日韩| 国产农村妇女精品| 国产精品456| 国产精品毛片久久久久久| 国产在线视频精品一区| 欧美成人乱码一区二区三区| 久久国产精品免费| 2024国产精品| 国产精品一卡二|