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

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

?? zz.txt

?? NTL is a high-performance, portable C++ library providing data structures and algorithms for manipul
?? TXT
?? 第 1 頁 / 共 2 頁
字號:

long SetBit(ZZ& x, long p);
// returns original value of p-th bit of |a|, and replaces p-th bit of
// a by 1 if it was zero; low order bit is bit 0; error if p < 0;
// the sign of x is maintained

long SwitchBit(ZZ& x, long p);
// returns original value of p-th bit of |a|, and switches the value
// of p-th bit of a; low order bit is bit 0; error if p < 0
// the sign of x is maintained

long weight(const ZZ& a); // returns Hamming weight of |a|
long weight(long a); 

// bit-wise Boolean operations, procedural form:

void bit_and(ZZ& x, const ZZ& a, const ZZ& b); // x = |a| AND |b|
void bit_or(ZZ& x, const ZZ& a, const ZZ& b); // x = |a| OR |b|
void bit_xor(ZZ& x, const ZZ& a, const ZZ& b); // x = |a| XOR |b|

// bit-wise Boolean operations, operator notation:

ZZ operator&(const ZZ& a, const ZZ& b);
ZZ operator|(const ZZ& a, const ZZ& b);
ZZ operator^(const ZZ& a, const ZZ& b);

// PROMOTIONS: the above bit-wise operations (both procedural 
// and operator forms) provide promotions from long to ZZ on (a, b).

ZZ& operator&=(ZZ& x, const ZZ& b);
ZZ& operator&=(ZZ& x, long b);

ZZ& operator|=(ZZ& x, const ZZ& b);
ZZ& operator|=(ZZ& x, long b);

ZZ& operator^=(ZZ& x, const ZZ& b);
ZZ& operator^=(ZZ& x, long b);



// conversions between byte sequences and ZZ's

void ZZFromBytes(ZZ& x, const unsigned char *p, long n);
ZZ ZZFromBytes(const unsigned char *p, long n);
// x = sum(p[i]*256^i, i=0..n-1). 
// NOTE: in the unusual event that a char is more than 8 bits, 
//       only the low order 8 bits of p[i] are used

void BytesFromZZ(unsigned char *p, const ZZ& a, long n);
// Computes p[0..n-1] such that abs(a) == sum(p[i]*256^i, i=0..n-1) mod 256^n.

long NumBytes(const ZZ& a);
long NumBytes(long a);
// returns # of base 256 digits needed to represent abs(a).
// NumBytes(0) == 0.



/**************************************************************************\

                            Pseudo-Random Numbers

\**************************************************************************/


// Routines for generating pseudo-random numbers.

// These routines generate high qualtity, cryptographically strong
// pseudo-random numbers.  They are implemented so that their behaviour
// is completely independent of the underlying hardware and long 
// integer implementation.  Note, however, that other routines 
// throughout NTL use pseudo-random numbers, and because of this,
// the word size of the machine can impact the sequence of numbers
// seen by a client program.


void SetSeed(const ZZ& s); 
// Initializes generator with a "seed" s.
// s is first hashed to generate the initial state, so it is
// not necessary that s itself looks random, just that 
// it has a lot of "entropy".
// If SetSeed is not called before using the routines below,
// a default initial state is used.
// Calling SetSeed with s == 0, e.g. SetSeed(ZZ::zero()), 
// has the effect of re-setting the state to the default initial state.
// Routine ZZFromBytes (above) may be useful.


void RandomBnd(ZZ& x, const ZZ& n);
ZZ RandomBnd(const ZZ& n);
long RandomBnd(long n);
// x = pseudo-random number in the range 0..n-1, or 0 if n <= 0

void RandomBits(ZZ& x, long l);
ZZ RandomBits_ZZ(long l);
long RandomBits_long(long l);
// x = pseudo-random number in the range 0..2^l-1.

void RandomLen(ZZ& x, long l);
ZZ RandomLen_ZZ(long l);
long RandomLen_long(long l);
// x = psuedo-random number with precisely l bits,
// or 0 of l <= 0.

unsigned long RandomBits_ulong(long l);
// returns a pseudo-random number in the range 0..2^l-1

unsigned long RandomWord();
// returns a word filled with pseudo-random bits.
// Equivalent to RandomBits_ulong(NTL_BITS_PER_LONG).


/**************************************************************************\

             Incremental Chinese Remaindering

\**************************************************************************/

long CRT(ZZ& a, ZZ& p, const ZZ& A, const ZZ& P);
long CRT(ZZ& a, ZZ& p, long A, long P);

// 0 <= A < P, (p, P) = 1; computes a' such that a' = a mod p, 
// a' = A mod P, and -p*P/2 < a' <= p*P/2; sets a := a', p := p*P, and
// returns 1 if a's value has changed, otherwise 0


/**************************************************************************\

                  Rational Reconstruction

\**************************************************************************/

long ReconstructRational(ZZ& a, ZZ& b, const ZZ& x, const ZZ& m, 
                         const ZZ& a_bound, const ZZ& b_bound);

// 0 <= x < m, m > 2 * a_bound * b_bound,
// a_bound >= 0, b_bound > 0

// This routine either returns 0, leaving a and b unchanged, 
// or returns 1 and sets a and b so that
//   (1) a = b x (mod m),
//   (2) |a| <= a_bound, 0 < b <= b_bound, and
//   (3) gcd(m, b) = gcd(a, b).

// If there exist a, b satisfying (1), (2), and 
//   (3') gcd(m, b) = 1,
// then a, b are uniquely determined if we impose the additional
// condition that gcd(a, b) = 1;  moreover, if such a, b exist,
// then these values are returned by the routine.

// Unless the calling routine can *a priori* guarantee the existence
// of a, b satisfying (1), (2), and (3'),
// then to ensure correctness, the calling routine should check
// that gcd(m, b) = 1, or equivalently, gcd(a, b) = 1.

// This is implemented using a variant of Lehmer's extended
// Euclidean algorithm.

// Literature:  see G. Collins and M. Encarnacion, J. Symb. Comp. 20:287-297, 
// 1995; P. Wang, M. Guy, and J. Davenport, SIGSAM Bulletin 16:2-3, 1982. 


/**************************************************************************\

                                Primality Testing 
                           and Prime Number Generation

\**************************************************************************/

void GenPrime(ZZ& n, long l, long err = 80);
ZZ GenPrime_ZZ(long l, long err = 80);
long GenPrime_long(long l, long err = 80);

// GenPrime generates a random prime n of length l so that the
// probability that the resulting n is composite is bounded by 2^(-err).
// This calls the routine RandomPrime below, and uses results of 
// Damgard, Landrock, Pomerance to "optimize" 
// the number of Miller-Rabin trials at the end.

void GenGermainPrime(ZZ& n, long l, long err = 80);
ZZ GenGermainPrime_ZZ(long l, long err = 80);
long GenGermainPrime_long(long l, long err = 80);

// A (Sophie) Germain prime is a prime p such that p' = 2*p+1 is also a prime.
// Such primes are useful for cryptographic applications...cryptographers
// sometimes call p' a "strong" or "safe" prime.
// GenGermainPrime generates a random Germain prime n of length l
// so that the probability that either n or 2*n+1 is not a prime
// is bounded by 2^(-err).


long ProbPrime(const ZZ& n, long NumTrials = 10);
long ProbPrime(long n, long NumTrials = 10);
// performs up to NumTrials Miller-witness tests (after some trial division).

void RandomPrime(ZZ& n, long l, long NumTrials=10);
ZZ RandomPrime_ZZ(long l, long NumTrials=10);
long RandomPrime_long(long l, long NumTrials=10);
// n = random l-bit prime.  Uses ProbPrime with NumTrials.

void NextPrime(ZZ& n, const ZZ& m, long NumTrials=10);
ZZ NextPrime(const ZZ& m, long NumTrials=10);
// n = smallest prime >= m.  Uses ProbPrime with NumTrials.

long NextPrime(long m, long NumTrials=10);
// Single precision version of the above.
// Result will always be bounded by NTL_ZZ_SP_BOUND, and an
// error is raised if this cannot be satisfied.

long MillerWitness(const ZZ& n, const ZZ& w);
// Tests if w is a witness to compositeness a la Miller.  Assumption: n is
// odd and positive, 0 <= w < n.
// Return value of 1 implies n is composite.
// Return value of 0 indicates n might be prime.


/**************************************************************************\

                               Exponentiation

\**************************************************************************/


void power(ZZ& x, const ZZ& a, long e); // x = a^e (e >= 0)
ZZ power(const ZZ& a, long e); 

void power(ZZ& x, long a, long e);

// two functional variants:
ZZ power_ZZ(long a, long e);
long power_long(long a, long e);

void power2(ZZ& x, long e); // x = 2^e (e >= 0)
ZZ power2_ZZ(long e);


/**************************************************************************\

                               Square Roots

\**************************************************************************/


void SqrRoot(ZZ& x, const ZZ& a); // x = floor(a^{1/2}) (a >= 0)
ZZ SqrRoot(const ZZ& a); 

long SqrRoot(long a); 




/**************************************************************************\

                    Jacobi symbol and modular square roots

\**************************************************************************/


long Jacobi(const ZZ& a, const ZZ& n);
//  compute Jacobi symbol of a and n; assumes 0 <= a < n, n odd

void SqrRootMod(ZZ& x, const ZZ& a, const ZZ& n);
ZZ SqrRootMod(const ZZ& a, const ZZ& n); 
//  computes square root of a mod n; assumes n is an odd prime, and
//  that a is a square mod n, with 0 <= a < n.




/**************************************************************************\

                             Input/Output

I/O Format:

Numbers are written in base 10, with an optional minus sign.

\**************************************************************************/

istream& operator>>(istream& s, ZZ& x);  
ostream& operator<<(ostream& s, const ZZ& a); 



/**************************************************************************\

                            Miscellany

\**************************************************************************/


// The following macros are defined:

#define NTL_ZZ_NBITS (...)  // number of bits in a zzigit;
                            // a ZZ is represented as a sequence of zzigits.

#define NTL_SP_NBITS (...)  // max number of bits in a "single-precision" number

#define NTL_WSP_NBITS (...)  // max number of bits in a "wide single-precision"
                             // number

// The following relations hold:
//    NTL_SP_NBITS <= NTL_WSP_NBITS <= NTL_ZZ_NBITS
//    26 <= NTL_SP_NBITS <= min(NTL_BITS_PER_LONG-2, NTL_DOUBLE_PRECISION-3)
//    NTL_WSP_NBITS <= NTL_BITS_PER_LONG-2
//
// Note that NTL_ZZ_NBITS may be less than, equal to, or greater than
// NTL_BITS_PER_LONG  -- no particular relationship should be assumed to hold.
// In particular, expressions like (1L << NTL_ZZ_BITS) might overflow.
//
// "single-precision" numbers are meant to be used in conjunction with the
//  single-precision modular arithmetic routines.
//
// "wide single-precision" numbers are meant to be used in conjunction
//  with the ZZ arithmetic routines for optimal efficiency.

// The following auxilliary macros are also defined

#define NTL_FRADIX (...) // double-precision value of 2^NTL_ZZ_NBITS

#define NTL_SP_BOUND (1L << NTL_SP_NBITS)
#define NTL_WSP_BOUND (1L << NTL_WSP_NBITS)


// Backward compatability note:
// Prior to version 5.0, the macro NTL_NBITS was defined,
// along with the macro NTL_RADIX defined to be (1L << NTL_NBITS).
// While these macros are still available when using NTL's traditional 
// long integer package (i.e., when NTL_GMP_LIP is not set), 
// they are not available when using the GMP as the primary long integer 
// package (i.e., when NTL_GMP_LIP is set).
// Furthermore, when writing portable programs, one should avoid these macros.
// Note that when using traditional long integer arithmetic, we have
//    NTL_ZZ_NBITS = NTL_SP_NBITS = NTL_WSP_NBITS = NTL_NBITS.


// Here are some additional functions.

void clear(ZZ& x); // x = 0
void set(ZZ& x);   // x = 1

void swap(ZZ& x, ZZ& y);
// swap x and y (done by "pointer swapping", if possible).

double log(const ZZ& a);
// returns double precision approximation to log(a)

long NextPowerOfTwo(long m);
// returns least nonnegative k such that 2^k >= m

long ZZ::size() const;
// a.size() returns the number of zzigits of |a|; the
// size of 0 is 0.

void ZZ::SetSize(long k)
// a.SetSize(k) does not change the value of a, but simply pre-allocates
// space for k zzigits.

long ZZ::SinglePrecision() const;
// a.SinglePrecision() is a predicate that tests if abs(a) < NTL_SP_BOUND

long ZZ::WideSinglePrecision() const;
// a.WideSinglePrecision() is a predicate that tests if abs(a) < NTL_WSP_BOUND

long digit(const ZZ& a, long k);
// returns k-th zzigit of |a|, position 0 being the low-order
// zzigit.
// NOTE: this routine is only available when using NTL's traditional
// long integer arithmetic, and should not be used in programs
// that are meant to be portable.

void ZZ::kill();
// a.kill() sets a to zero and frees the space held by a.

ZZ::ZZ(INIT_SIZE_TYPE, long k);
// ZZ(INIT_SIZE, k) initializes to 0, but space is pre-allocated so
// that numbers x with x.size() <= k can be stored without
// re-allocation.

static const ZZ& ZZ::zero();
// ZZ::zero() yields a read-only reference to zero, if you need it.




/**************************************************************************\

                    Small Prime Generation

primes are generated in sequence, starting at 2, and up to a maximum
that is no more than min(NTL_SP_BOUND, 2^30).

Example: print the primes up to 1000

#include <NTL/ZZ.h>

main()
{
   PrimeSeq s;
   long p;

   p = s.next();
   while (p <= 1000) {
      cout << p << "\n";
      p = s.next();
   }
}

\**************************************************************************/



class PrimeSeq {
public:
   PrimeSeq();
   ~PrimeSeq();

   long next();
   // returns next prime in the sequence.  returns 0 if list of small
   // primes is exhausted.

   void reset(long b);
   // resets generator so that the next prime in the sequence is the
   // smallest prime >= b.

private:
   PrimeSeq(const PrimeSeq&);        // disabled
   void operator=(const PrimeSeq&);  // disabled

};


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色系网站成人免费| 亚洲欧美日韩中文播放| 美女精品自拍一二三四| 欧美mv和日韩mv的网站| 精品一区二区免费| 国产欧美一区在线| 91丨porny丨首页| 亚洲女同女同女同女同女同69| 99精品久久只有精品| 亚洲激情综合网| 日韩一区二区三区三四区视频在线观看 | 这里是久久伊人| 久99久精品视频免费观看| 国产亚洲欧美中文| 91国模大尺度私拍在线视频| 亚洲成人av中文| 精品99一区二区三区| av在线不卡观看免费观看| 亚洲一区二区三区四区中文字幕| 日韩一区二区影院| 不卡一区二区三区四区| 午夜精品视频一区| 国产女主播视频一区二区| 色狠狠一区二区三区香蕉| 麻豆精品视频在线观看| 综合色中文字幕| 欧美区一区二区三区| 国产剧情一区二区三区| 亚洲精品久久7777| 欧美变态tickle挠乳网站| av影院午夜一区| 日韩高清一级片| 中文字幕亚洲欧美在线不卡| 欧美久久久久免费| 成人精品视频一区二区三区尤物| 亚洲观看高清完整版在线观看| 亚洲精品一线二线三线无人区| 99re成人精品视频| 国产露脸91国语对白| 亚洲国产视频一区二区| 国产精品视频九色porn| 欧美一区二区三区免费大片| 不卡的av网站| 国产在线看一区| 五月激情丁香一区二区三区| 国产精品久久久久9999吃药| 51精品国自产在线| 色偷偷久久人人79超碰人人澡| 精彩视频一区二区三区| 亚洲va韩国va欧美va精品| 欧美国产精品中文字幕| 日韩一区二区三区视频| 欧美日韩视频在线观看一区二区三区 | 亚洲国产成人av网| 综合久久综合久久| 国产亚洲短视频| 欧美一区二区三区色| 欧美日韩在线亚洲一区蜜芽| 99久久精品一区| 成人高清视频在线| 国产激情精品久久久第一区二区| 奇米一区二区三区| 视频精品一区二区| 亚洲国产一区在线观看| 亚洲男同性视频| 亚洲婷婷在线视频| 日韩精品福利网| 亚洲国产成人va在线观看天堂| 亚洲欧美另类图片小说| 国产精品美女久久久久高潮| 欧美激情综合在线| 国产午夜精品在线观看| 久久夜色精品一区| 久久久另类综合| 日本一区二区成人在线| 久久精品一级爱片| 国产欧美一区视频| 日本一区二区三区在线观看| 国产日韩欧美精品综合| 精品国产三级电影在线观看| 精品久久久久久久久久久院品网| 欧美一级日韩一级| 欧美mv日韩mv国产网站app| 精品国产凹凸成av人导航| 久久蜜桃香蕉精品一区二区三区| 久久蜜桃av一区精品变态类天堂| 国产亚洲成aⅴ人片在线观看| 国产欧美日韩另类视频免费观看| 亚洲国产高清不卡| 亚洲色欲色欲www在线观看| 最新久久zyz资源站| 亚洲综合成人在线| 热久久免费视频| 国产激情视频一区二区在线观看 | 久久女同精品一区二区| 国产精品天干天干在线综合| 亚洲视频电影在线| 亚洲韩国一区二区三区| 日韩av电影免费观看高清完整版| 久久精品久久99精品久久| 国产精品亚洲成人| 精品盗摄一区二区三区| 中文字幕欧美三区| 一区二区三区在线视频免费观看| 亚洲成a人片在线不卡一二三区| 日韩精品91亚洲二区在线观看| 国产一区二区三区久久久| av一区二区三区在线| 欧美精品黑人性xxxx| 久久久久国产精品人| 亚洲免费av观看| 美女视频网站久久| 99re视频精品| 日韩一区二区三区视频在线| 国产精品久久精品日日| 丝袜美腿成人在线| www.成人在线| 欧美一级欧美三级| 中文字幕日韩av资源站| 全国精品久久少妇| 99久久精品一区| 精品久久久三级丝袜| 亚洲在线免费播放| 国产精一品亚洲二区在线视频| 欧美视频在线观看一区| 国产精品美女久久久久久久久| 日韩综合小视频| 99久久精品久久久久久清纯| 91精品国产高清一区二区三区| 国产精品久久免费看| 精品在线观看免费| 欧美视频一区二区三区| 国产精品美女久久久久久久网站| 美国十次综合导航| 91传媒视频在线播放| 欧美激情在线看| 精品一区二区三区不卡 | 免费成人在线影院| 欧日韩精品视频| 日本一区二区视频在线观看| 麻豆91在线观看| 欧美日韩成人在线| 日韩美女精品在线| 国产美女视频一区| 日韩免费一区二区| 日韩黄色一级片| 欧美久久免费观看| 亚洲自拍偷拍综合| 99久久99久久精品免费观看| 国产亚洲制服色| 国产真实乱对白精彩久久| 日韩区在线观看| 日韩精品电影在线| 欧美日韩大陆一区二区| 亚洲v中文字幕| 欧美日韩国产天堂| 一区二区三区四区视频精品免费 | 日韩欧美高清dvd碟片| 亚洲.国产.中文慕字在线| 一本到高清视频免费精品| 欧美激情在线一区二区三区| 国产精品99久久久| 欧美mv日韩mv| 国产一区二区三区免费看| 久久精品一区二区三区不卡牛牛| 极品少妇xxxx偷拍精品少妇| 日韩一区二区精品在线观看| 免费在线观看一区二区三区| 制服丝袜国产精品| 精品一区二区免费在线观看| 久久久精品综合| 国产成人av电影在线| 国产精品久久久久久久久快鸭 | 日韩免费高清视频| 国模无码大尺度一区二区三区| 欧美v亚洲v综合ⅴ国产v| 韩国女主播一区| 亚洲国产精品t66y| 色欧美日韩亚洲| 亚洲国产日韩综合久久精品| 制服丝袜激情欧洲亚洲| 精品一二三四区| 国产精品网站在线播放| 一本高清dvd不卡在线观看| 亚洲成a人v欧美综合天堂| 欧美一区二区高清| 国产精品77777| 亚洲精品亚洲人成人网| 欧美日韩精品免费| 美女精品一区二区| 亚洲国产激情av| 欧美日韩国产色站一区二区三区| 免费视频一区二区| 国产精品欧美极品| 欧美性xxxxx极品少妇| 美女视频黄频大全不卡视频在线播放| 久久精品免视看| 欧美日韩一区久久| 国内国产精品久久| 亚洲色图欧美激情|