From 2d6362ebe20bce43bb9a391e018c4d25bb722b35 Mon Sep 17 00:00:00 2001 From: Richard Kreckel Date: Fri, 19 May 2000 12:56:28 +0000 Subject: [PATCH] - Added forgotten index entries. --- doc/cln.dvi | Bin 258328 -> 258648 bytes doc/cln.html | 185 ++++++++++++++++++----------------- doc/cln.info | 1 + doc/cln.ps | 249 ++++++++++++++++++++++++----------------------- doc/cln.tex | 13 +-- doc/cln.texi | 13 +-- doc/cln_1.html | 2 +- doc/cln_10.html | 12 +-- doc/cln_11.html | 14 +-- doc/cln_12.html | 12 +-- doc/cln_13.html | 2 +- doc/cln_2.html | 2 +- doc/cln_3.html | 2 +- doc/cln_4.html | 2 +- doc/cln_5.html | 2 +- doc/cln_6.html | 3 +- doc/cln_7.html | 72 +++++++------- doc/cln_8.html | 22 ++--- doc/cln_9.html | 60 ++++++------ doc/cln_toc.html | 4 +- 20 files changed, 340 insertions(+), 332 deletions(-) diff --git a/doc/cln.dvi b/doc/cln.dvi index 00de7ca85f3131f997e90b4c356130f51826522b..e2370f4ff51fcded963d4c1698f0090a77ab84a7 100644 GIT binary patch delta 234 zcmbR7i2ueD{t3!FhL%=_CMK5M3=9m6lLduU8iQMd8Mg*AZN12SGBdBZBrz{JH9u|p z0edDbMkZt9ZI_sy%5wJg_4R;sm;rUDPA~n)WU>9jd!}$kmL=T6qT82zWQt^*9`%KZ zYdhCxrg_G^eZ33*9y@cbcM`*w6BXOnsWDrCRBnH^{jEB)8sl^!J!X;ZTAIuUIRzDi zG$5*8hXnMk6i}|&{>O;fpPO0fp4fIjJLZ{+j2hGLu``Kp{~ymhSD7i{*YO delta 228 zcmccdgnz~({t3!F2BubqmZm1%3=9m6lLduU8iQMd8Mg*AZN0eN{W8;CS-yq6lNi37 zs5qIEpPrXrvVG%grXWUcgFYbW0ckP=YEqpZ^pVM8`@2s}0gNn5xP?Wx+katNZan>x zG_&wF4Q6dd_P*W)e~+EHHhrQ2v+#B&O=e+`y7%@Fex?@lK~6!XrpXYSUWWwqtrVEP zW4pBpvp+Yp3SZ;)UVG-5ij3aV@3Aw9Z?{Wio~z6hzkB=L7Upsbrsl%!VSAaijhS}8 S+TQ$u`3xh+dwZt)AOHZ - + CLN, a Class Library for Numbers @@ -3452,6 +3452,7 @@ Type tests can be performed for any of cl_C_ring, cl_R_ringcl_boolean instanceof (const cl_number& x, const cl_number_ring& R)
+ Tests whether the given number is an element of the number ring R. @@ -3459,14 +3460,14 @@ Tests whether the given number is an element of the number ring R.

7. Modular integers

- +

7.1 Modular integer rings

- +

@@ -3495,7 +3496,7 @@ The class of modular integer rings is

- +

@@ -3517,11 +3518,11 @@ Modular integer rings are constructed using the function

cl_modint_ring cl_find_modint_ring (const cl_I& N)
- + This function returns the modular ring `Z/NZ'. It takes care of finding out about special cases of N, like powers of two and odd numbers for which Montgomery multiplication will be a win, - + and precomputes any necessary auxiliary data for computing modulo N. There is a cache table of rings, indexed by N (or, more precisely, by abs(N)). This ensures that the precomputation costs are reduced @@ -3536,10 +3537,10 @@ Modular integer rings can be compared for equality:
bool operator== (const cl_modint_ring&, const cl_modint_ring&)
- +
bool operator!= (const cl_modint_ring&, const cl_modint_ring&)
- + These compare two modular integer rings for equality. Two different calls to cl_find_modint_ring with the same argument necessarily return the same ring because it is memoized in the cache table. @@ -3557,27 +3558,27 @@ Given a modular integer ring R, the following members can be used.
cl_I R->modulus
- + This is the ring's modulus, normalized to be nonnegative: abs(N).
cl_MI R->zero()
- + This returns 0 mod N.
cl_MI R->one()
- + This returns 1 mod N.
cl_MI R->canonhom (const cl_I& x)
- + This returns x mod N.
cl_I R->retract (const cl_MI& x)
- + This is a partial inverse function to R->canonhom. It returns the standard representative (>=0, <N) of x. @@ -3585,7 +3586,7 @@ standard representative (>=0, <N) of x
cl_MI R->random()
- + This returns a random integer modulo N. @@ -3597,20 +3598,20 @@ The following operations are defined on modular integers.
cl_modint_ring x.ring ()
- + Returns the ring to which the modular integer x belongs.
cl_MI operator+ (const cl_MI&, const cl_MI&)
- -Returns the sum of two modular integers. One of the arguments may also be -a plain integer. + +Returns the sum of two modular integers. One of the arguments may also +be a plain integer.
cl_MI operator- (const cl_MI&, const cl_MI&)
- -Returns the difference of two modular integers. One of the arguments may also be -a plain integer. + +Returns the difference of two modular integers. One of the arguments may also +be a plain integer.
cl_MI operator- (const cl_MI&)
@@ -3618,61 +3619,61 @@ Returns the negative of a modular integer.
cl_MI operator* (const cl_MI&, const cl_MI&)
- -Returns the product of two modular integers. One of the arguments may also be -a plain integer. + +Returns the product of two modular integers. One of the arguments may also +be a plain integer.
cl_MI square (const cl_MI&)
- + Returns the square of a modular integer.
cl_MI recip (const cl_MI& x)
- + Returns the reciprocal x^-1 of a modular integer x. x must be coprime to the modulus, otherwise an error message is issued.
cl_MI div (const cl_MI& x, const cl_MI& y)
- + Returns the quotient x*y^-1 of two modular integers x, y. y must be coprime to the modulus, otherwise an error message is issued.
cl_MI expt_pos (const cl_MI& x, const cl_I& y)
- + y must be > 0. Returns x^y.
cl_MI expt (const cl_MI& x, const cl_I& y)
- + Returns x^y. If y is negative, x must be coprime to the modulus, else an error message is issued.
cl_MI operator<< (const cl_MI& x, const cl_I& y)
- + Returns x*2^y.
cl_MI operator>> (const cl_MI& x, const cl_I& y)
- + Returns x*2^-y. When y is positive, the modulus must be odd, or an error message is issued.
bool operator== (const cl_MI&, const cl_MI&)
- +
bool operator!= (const cl_MI&, const cl_MI&)
- + Compares two modular integers, belonging to the same modular integer ring, for equality.
cl_boolean zerop (const cl_MI& x)
- + Returns true if x is 0 mod N. @@ -3685,10 +3686,10 @@ input/output).
void fprint (cl_ostream stream, const cl_MI& x)
- +
cl_ostream operator<< (cl_ostream stream, const cl_MI& x)
- + Prints the modular integer x on the stream. The output may depend on the global printer settings in the variable cl_default_print_flags. @@ -3697,7 +3698,7 @@ on the global printer settings in the variable cl_default_print_flags8. Symbolic data types

- +

@@ -3708,7 +3709,7 @@ CLN implements two symbolic (non-numeric) data types: strings and symbols.

8.1 Strings

- +

@@ -3734,7 +3735,7 @@ Strings are constructed through the following constructors:

cl_string (const char * s)
- + Returns an immutable copy of the (zero-terminated) C string s.
cl_string (const char * ptr, unsigned long len) @@ -3755,21 +3756,21 @@ Assignment from cl_string and const char *.
s.length()
- +
strlen(s)
- + Returns the length of the string s.
s[i]
- + Returns the ith character of the string s. i must be in the range 0 <= i < s.length().
bool equal (const cl_string& s1, const cl_string& s2)
- + Compares two strings for equality. One of the arguments may also be a plain const char *. @@ -3778,7 +3779,7 @@ plain const char *.

8.2 Symbols

- +

@@ -3798,7 +3799,7 @@ Symbols are constructed through the following constructor:

cl_symbol (const cl_string& s)
- + Looks up or creates a new symbol with a given name. @@ -3815,7 +3816,7 @@ Conversion to cl_string: Returns the string which names the symbol
bool equal (const cl_symbol& sym1, const cl_symbol& sym2)
- + Compares two symbols for equality. This is very fast. @@ -3823,8 +3824,8 @@ Compares two symbols for equality. This is very fast.

9. Univariate polynomials

- + @@ -3937,7 +3938,7 @@ return the same polynomial ring.

cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring& R)
- +
cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring& R, const cl_symbol& varname)
cl_univpoly_real_ring cl_find_univpoly_ring (const cl_real_ring& R) @@ -3972,33 +3973,33 @@ Given a univariate polynomial ring R, the following members can be
cl_ring R->basering()
- + This returns the base ring, as passed to `cl_find_univpoly_ring'.
cl_UP R->zero()
- + This returns 0 in R, a polynomial of degree -1.
cl_UP R->one()
- + This returns 1 in R, a polynomial of degree <= 0.
cl_UP R->canonhom (const cl_I& x)
- + This returns x in R, a polynomial of degree <= 0.
cl_UP R->monomial (const cl_ring_element& x, uintL e)
- + This returns a sparse polynomial: x * X^e, where X is the indeterminate.
cl_UP R->create (sintL degree)
- + Creates a new polynomial with a given degree. The zero polynomial has degree -1. After creating the polynomial, you should put in the coefficients, using the set_coeff member function, and then call the finalize @@ -4013,14 +4014,14 @@ The following are the only destructive operations on univariate polynomials.
void set_coeff (cl_UP& x, uintL index, const cl_ring_element& y)
- + This changes the coefficient of X^index in x to be y. After changing a polynomial and before applying any "normal" operation on it, you should call its finalize member function.
void finalize (cl_UP& x)
- + This function marks the endpoint of destructive modifications of a polynomial. It normalizes the internal representation so that subsequent computations have less overhead. Doing normal computations on unnormalized polynomials may @@ -4035,17 +4036,17 @@ The following operations are defined on univariate polynomials.
cl_univpoly_ring x.ring ()
- + Returns the ring to which the univariate polynomial x belongs.
cl_UP operator+ (const cl_UP&, const cl_UP&)
- + Returns the sum of two univariate polynomials.
cl_UP operator- (const cl_UP&, const cl_UP&)
- + Returns the difference of two univariate polynomials.
cl_UP operator- (const cl_UP&) @@ -4054,54 +4055,54 @@ Returns the negative of a univariate polynomial.
cl_UP operator* (const cl_UP&, const cl_UP&)
- + Returns the product of two univariate polynomials. One of the arguments may also be a plain integer or an element of the base ring.
cl_UP square (const cl_UP&)
- + Returns the square of a univariate polynomial.
cl_UP expt_pos (const cl_UP& x, const cl_I& y)
- + y must be > 0. Returns x^y.
bool operator== (const cl_UP&, const cl_UP&)
- +
bool operator!= (const cl_UP&, const cl_UP&)
- + Compares two univariate polynomials, belonging to the same univariate polynomial ring, for equality.
cl_boolean zerop (const cl_UP& x)
- + Returns true if x is 0 in R.
sintL degree (const cl_UP& x)
- + Returns the degree of the polynomial. The zero polynomial has degree -1.
cl_ring_element coeff (const cl_UP& x, uintL index)
- + Returns the coefficient of X^index in the polynomial x.
cl_ring_element x (const cl_ring_element& y)
- + Evaluation: If x is a polynomial and y belongs to the base ring, then `x(y)' returns the value of the substitution of y into x.
cl_UP deriv (const cl_UP& x)
- + Returns the derivative of the polynomial x with respect to the indeterminate X. @@ -4115,10 +4116,10 @@ input/output).
void fprint (cl_ostream stream, const cl_UP& x)
- +
cl_ostream operator<< (cl_ostream stream, const cl_UP& x)
- + Prints the univariate polynomial x on the stream. The output may depend on the global printer settings in the variable cl_default_print_flags. @@ -4136,26 +4137,26 @@ The following functions return special polynomials.
cl_UP_I cl_tschebychev (sintL n)
- + Returns the n-th Tchebychev polynomial (n >= 0).
cl_UP_I cl_hermite (sintL n)
- + Returns the n-th Hermite polynomial (n >= 0).
cl_UP_RA cl_legendre (sintL n)
- + Returns the n-th Legendre polynomial (n >= 0).
cl_UP_I cl_laguerre (sintL n)
- + Returns the n-th Laguerre polynomial (n >= 0). @@ -4173,7 +4174,7 @@ of these polynomials from their definition can be found in the

10.1 Why C++ ?

- +

@@ -4188,7 +4189,7 @@ Efficiency: It compiles to machine code.

  • - + Portability: It runs on all platforms supporting a C++ compiler. Because of the availability of GNU C++, this includes all currently used 32-bit and 64-bit platforms, independently of the quality of the vendor's C++ compiler. @@ -4234,8 +4235,8 @@ Object sharing: An operation like x+0 returns x withou it.
  • - + Garbage collection: A reference counting mechanism makes sure that any number object's storage is freed immediately when the last reference to the object is gone. @@ -4280,7 +4281,7 @@ algorithm. For very large numbers (more than 12000 decimal digits), CLN uses Schönhage-Strassen - + multiplication, which is an asymptotically optimal multiplication algorithm.
  • @@ -4293,7 +4294,7 @@ of division and radix conversion.

    10.4 Garbage collection

    - +

    @@ -4331,7 +4332,7 @@ environment variables, or directly substitute the appropriate values.

    11.1 Compiler options

    - +

    @@ -4370,8 +4371,8 @@ linking a CLN application it is sufficient to give the flag -lcln.

    11.2 Include files

    - +

    @@ -4568,7 +4569,7 @@ Includes all of the above.

    A function which computes the nth Fibonacci number can be written as follows. - + @@ -4654,7 +4655,7 @@ contains this implementation together with an even faster algorithm.

    11.4 Debugging support

    - +

    @@ -4688,7 +4689,7 @@ CLN offers a function cl_print, callable from the debugger, for printing number objects. In order to get this function, you have to define the macro `CL_DEBUG' and then include all the header files for which you want cl_print debugging support. For example: - +

     #define CL_DEBUG
    @@ -4715,7 +4716,7 @@ only with number objects and similar. Therefore CLN offers a member function
     debug_print() on all CLN types. The same macro `CL_DEBUG'
     is needed for this member function to be implemented. Under gdb,
     you call it like this:
    -
    +
     
     
     (gdb) print s
    @@ -4737,7 +4738,7 @@ Unfortunately, this feature does not seem to work under all circumstances.
     
     

    12. Customizing

    - + @@ -4757,7 +4758,7 @@ void cl_abort (void);

    - + This function must not return control to its caller. @@ -4765,7 +4766,7 @@ This function must not return control to its caller.

    12.2 Floating-point underflow

    - +

    @@ -4791,7 +4792,7 @@ will be generated instead. The default value of

    The output of the function fprint may be customized by changing the value of the global variable cl_default_print_flags. - + @@ -4815,8 +4816,8 @@ void (*cl_free_hook) (void* ptr) = ...;

    - + The cl_malloc_hook function must not return a NULL pointer. @@ -4836,7 +4837,7 @@ Jump to:


    -This document was generated on 5 May 2000 using +This document was generated on 19 May 2000 using texi2html 1.56k. diff --git a/doc/cln.info b/doc/cln.info index 0729cfe..a2d8f6f 100644 --- a/doc/cln.info +++ b/doc/cln.info @@ -3475,6 +3475,7 @@ Index * include files: Include files. * Input/Output: Input/Output. * installation: Installing the library. +* instanceof (): Rings. * integer: Ordinary number types. * integer_decode_float (): Functions on floating-point numbers. * integer_length (): Logical functions. diff --git a/doc/cln.ps b/doc/cln.ps index 1fd3583..dd39133 100644 --- a/doc/cln.ps +++ b/doc/cln.ps @@ -9,7 +9,7 @@ %DVIPSCommandLine: /usr/local/teTeX/bin/ix86-linux-libc6/dvips -D600 -o %+ cln.ps cln.dvi %DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2000.05.05:1954 +%DVIPSSource: TeX output 2000.05.19:1449 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -5124,333 +5124,336 @@ f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)43 b Fc(45)2032 g(.)h(.)f(.)g(.)g(.)h(.)f(.)40 b Fc(28)2032 2531 y(installation)9 b Fd(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)35 b Fc(4)2032 2623 y(in)n(teger)10 +h(.)f(.)g(.)h(.)f(.)g(.)35 b Fc(4)2032 2623 y Fe(instanceof)28 +b(\(\))20 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)46 b Fc(33)2032 2714 y(in)n(teger)10 b Fd(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)36 b Fc(6)2032 -2714 y Fe(integer_decode_float)30 b(\(\))24 b Fd(.)13 +2806 y Fe(integer_decode_float)30 b(\(\))24 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)49 b Fc(24)2032 2806 y Fe(integer_length)29 +(.)g(.)h(.)f(.)g(.)h(.)49 b Fc(24)2032 2898 y Fe(integer_length)29 b(\(\))14 b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40 -b Fc(22)2032 2898 y Fe(isqrt)27 b(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g +b Fc(22)2032 2990 y Fe(isqrt)27 b(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 -b Fc(16)2032 3159 y Fs(L)2032 3281 y Fc(Laguerre)27 b(p)r(olynomial)13 +b Fc(16)2032 3251 y Fs(L)2032 3373 y Fc(Laguerre)27 b(p)r(olynomial)13 b Fd(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38 -b Fc(42)2032 3373 y Fe(lcm)27 b(\(\))12 b Fd(.)g(.)h(.)f(.)g(.)g(.)h(.) +b Fc(42)2032 3465 y Fe(lcm)27 b(\(\))12 b Fd(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)38 b Fc(23)2032 3465 y Fe(ldb)27 b(\(\))12 b Fd(.)g(.)h(.)f(.)g(.)g +g(.)38 b Fc(23)2032 3557 y Fe(ldb)27 b(\(\))12 b Fd(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)38 b Fc(22)2032 3557 y Fe(ldb_test)28 b(\(\))23 +(.)f(.)g(.)38 b Fc(22)2032 3648 y Fe(ldb_test)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)48 b Fc(22)2032 3648 y Fe(least_negative_float)30 +f(.)g(.)h(.)48 b Fc(22)2032 3740 y Fe(least_negative_float)30 b(\(\))24 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)49 b Fc(25)2032 -3740 y Fe(least_positive_float)30 b(\(\))24 b Fd(.)13 +3832 y Fe(least_positive_float)30 b(\(\))24 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)49 b Fc(25)2032 3832 y(Legende)26 +(.)g(.)h(.)f(.)g(.)h(.)49 b Fc(25)2032 3924 y(Legende)26 b(p)r(olynomial)e Fd(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -49 b Fc(42)2032 3924 y Fe(length)27 b(\(\))8 b Fd(.)13 +49 b Fc(42)2032 4015 y Fe(length)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)33 b Fc(37)2032 4015 y Fe(ln)26 b(\(\))13 +h(.)f(.)g(.)h(.)33 b Fc(37)2032 4107 y Fe(ln)26 b(\(\))13 b Fd(.)g(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fc(17)2032 -4107 y Fe(log)27 b(\(\))12 b Fd(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f +4199 y Fe(log)27 b(\(\))12 b Fd(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 -b Fc(17)2032 4199 y Fe(logand)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h +b Fc(17)2032 4291 y Fe(logand)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 -b Fc(21)2032 4291 y Fe(logandc1)28 b(\(\))23 b Fd(.)12 +b Fc(21)2032 4382 y Fe(logandc1)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)48 b Fc(21)2032 4382 y Fe(logandc2)28 b(\(\))23 b +h(.)48 b Fc(21)2032 4474 y Fe(logandc2)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)48 b Fc(21)2032 4474 y Fe(logbitp)27 b(\(\))6 +f(.)g(.)h(.)48 b Fc(21)2032 4566 y Fe(logbitp)27 b(\(\))6 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)32 b Fc(21)2032 4566 y Fe(logcount)c(\(\))23 +f(.)g(.)h(.)f(.)g(.)32 b Fc(21)2032 4658 y Fe(logcount)c(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)48 b Fc(21)2032 4658 y Fe(logeqv)27 b(\(\))8 +f(.)g(.)h(.)48 b Fc(21)2032 4749 y Fe(logeqv)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(21)2032 4749 y Fe(logior)27 +g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(21)2032 4841 y Fe(logior)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(21)2032 4841 +(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(21)2032 4933 y Fe(lognand)27 b(\(\))6 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 b Fc(21)2032 -4933 y Fe(lognor)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +5024 y Fe(lognor)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 -b Fc(21)2032 5024 y Fe(lognot)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 -b Fc(20)p eop +b Fc(21)p eop %%Page: 54 56 -54 55 bop -30 -116 a Fr(Index)3646 b(54)-30 299 y Fe(logorc1)27 -b(\(\))6 b Fd(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32 b Fc(21)-30 391 y Fe(logorc2)27 -b(\(\))6 b Fd(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32 b Fc(21)-30 483 y Fe(logp)27 -b(\(\))10 b Fd(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 b Fc(23)-30 -575 y Fe(logtest)27 b(\(\))6 b Fd(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.) +54 55 bop -30 -116 a Fr(Index)3646 b(54)-30 299 y Fe(lognot)27 +b(\(\))8 b Fd(.)k(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(20)-30 391 y +Fe(logorc1)27 b(\(\))6 b Fd(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32 b Fc(21)-30 +483 y Fe(logorc2)27 b(\(\))6 b Fd(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32 -b Fc(21)-30 667 y Fe(logxor)27 b(\(\))8 b Fd(.)k(.)h(.)f(.)g(.)h(.)f(.) +b Fc(21)-30 575 y Fe(logp)27 b(\(\))10 b Fd(.)j(.)f(.)g(.)h(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 +b Fc(23)-30 667 y Fe(logtest)27 b(\(\))6 b Fd(.)13 b(.)f(.)h(.)f(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32 +b Fc(21)-30 759 y Fe(logxor)27 b(\(\))8 b Fd(.)k(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33 -b Fc(21)-30 929 y Fs(M)-30 1052 y Fe(make)9 b Fd(.)k(.)g(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)35 b Fc(3)-30 1144 y Fe(mask_field)28 +b Fc(21)-30 1021 y Fs(M)-30 1144 y Fe(make)9 b Fd(.)k(.)g(.)f(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h +(.)f(.)g(.)h(.)f(.)g(.)35 b Fc(3)-30 1235 y Fe(mask_field)28 b(\(\))20 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)46 b Fc(22)-30 1235 y Fe(max)26 b(\(\))12 +g(.)h(.)f(.)g(.)46 b Fc(22)-30 1327 y Fe(max)26 b(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fc(13)-30 1327 +(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fc(13)-30 1419 y Fe(min)26 b(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 -b Fc(13)-30 1419 y Fe(minus1)27 b(\(\))8 b Fd(.)k(.)h(.)f(.)g(.)h(.)f +b Fc(13)-30 1511 y Fe(minus1)27 b(\(\))8 b Fd(.)k(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33 -b Fc(11)-30 1511 y Fe(minusp)27 b(\(\))8 b Fd(.)k(.)h(.)f(.)g(.)h(.)f +b Fc(11)-30 1603 y Fe(minusp)27 b(\(\))8 b Fd(.)k(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33 -b Fc(13)-30 1603 y Fe(mod)26 b(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f +b Fc(13)-30 1695 y Fe(mod)26 b(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)38 b Fc(16)-30 1695 y(mo)r(difying)26 b(op)r(erators)c +(.)38 b Fc(16)-30 1787 y(mo)r(difying)26 b(op)r(erators)c Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 -b Fc(27)-30 1787 y(mo)r(dular)25 b(in)n(teger)20 b Fd(.)12 +b Fc(27)-30 1879 y(mo)r(dular)25 b(in)n(teger)20 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)45 -b Fc(34)-30 1879 y Fe(modulus)23 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.) +b Fc(34)-30 1971 y Fe(modulus)23 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 -b Fc(34)-30 1971 y Fe(monomial)27 b(\(\))d Fd(.)12 b(.)g(.)h(.)f(.)g(.) +b Fc(34)-30 2063 y Fe(monomial)27 b(\(\))d Fd(.)12 b(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49 -b Fc(40)-30 2063 y(Mon)n(tgomery)25 b(m)n(ultiplication)9 +b Fc(40)-30 2155 y(Mon)n(tgomery)25 b(m)n(ultiplication)9 b Fd(.)k(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fc(34)-30 2155 y Fe +f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fc(34)-30 2247 y Fe (most_negative_float)30 b(\(\))7 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)33 b Fc(25)-30 2247 y Fe(most_positive_float)d(\(\))7 +(.)33 b Fc(25)-30 2339 y Fe(most_positive_float)d(\(\))7 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)33 b Fc(25)-30 -2509 y Fs(N)-30 2632 y Fe(numerator)28 b(\(\))21 b Fd(.)13 +2601 y Fs(N)-30 2724 y Fe(numerator)28 b(\(\))21 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -47 b Fc(12)-30 2879 y Fs(O)-30 3002 y Fe(oddp)27 b(\(\))10 +47 b Fc(12)-30 2971 y Fs(O)-30 3094 y Fe(oddp)27 b(\(\))10 b Fd(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 b Fc(22)-30 3094 y +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 b Fc(22)-30 3186 y Fe(one)26 b(\(\))d Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(35,)27 -b(40)-30 3186 y Fe(operator)g(!=)f(\(\))c Fd(.)13 b(.)f(.)g(.)g(.)h(.)f +b(40)-30 3278 y Fe(operator)g(!=)f(\(\))c Fd(.)13 b(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -47 b Fc(13,)27 b(34,)f(36,)h(41)-30 3278 y Fe(operator)g(&)f(\(\))9 +47 b Fc(13,)27 b(34,)f(36,)h(41)-30 3370 y Fe(operator)g(&)f(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)34 b Fc(21)-30 3370 y Fe(operator)27 b(&=)f(\(\))7 +(.)h(.)34 b Fc(21)-30 3461 y Fe(operator)27 b(&=)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(27)-30 3461 y Fe(operator)27 b(\(\))f(\(\))7 +f(.)33 b Fc(27)-30 3553 y Fe(operator)27 b(\(\))f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(41)-30 3553 y Fe(operator)27 b(*)f(\(\))12 +f(.)33 b Fc(41)-30 3645 y Fe(operator)27 b(*)f(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38 b -Fc(11,)26 b(35,)h(41)-30 3645 y Fe(operator)g(*=)f(\(\))7 +Fc(11,)26 b(35,)h(41)-30 3737 y Fe(operator)g(*=)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(27)-30 3737 y Fe(operator)27 b(-)f(\(\))12 +f(.)33 b Fc(27)-30 3829 y Fe(operator)27 b(-)f(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38 b -Fc(11,)26 b(35,)h(41)-30 3829 y Fe(operator)g(--)f(\(\))7 +Fc(11,)26 b(35,)h(41)-30 3921 y Fe(operator)g(--)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(27)-30 3921 y Fe(operator)27 b(-=)f(\(\))7 +f(.)33 b Fc(27)-30 4013 y Fe(operator)27 b(-=)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(27)-30 4013 y Fe(operator)27 b(/)f(\(\))9 +f(.)33 b Fc(27)-30 4105 y Fe(operator)27 b(/)f(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)34 b Fc(11)-30 4105 y Fe(operator)27 b(/=)f(\(\))7 +(.)h(.)34 b Fc(11)-30 4197 y Fe(operator)27 b(/=)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(27)-30 4197 y Fe(operator)27 b(==)f(\(\))c +f(.)33 b Fc(27)-30 4289 y Fe(operator)27 b(==)f(\(\))c Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fc(13,)27 b(34,)f(36,)h(41)-30 -4289 y Fe(operator)g([])f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.) +4381 y Fe(operator)g([])f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fc(37)-30 -4381 y Fe(operator)27 b(|)f(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h +4473 y Fe(operator)27 b(|)f(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fc(21)-30 -4473 y Fe(operator)27 b(|=)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g +4565 y Fe(operator)27 b(|=)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fc(27)-30 -4565 y Fe(operator)27 b(~)f(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h +4657 y Fe(operator)27 b(~)f(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fc(20)-30 -4657 y Fe(operator)27 b(+)f(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.) +4749 y Fe(operator)27 b(+)f(\(\))12 b Fd(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)38 b Fc(11,)26 b(35,)h(41)-30 4749 y Fe(operator)g(+=)f +(.)f(.)g(.)h(.)38 b Fc(11,)26 b(35,)h(41)-30 4841 y Fe(operator)g(+=)f (\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)33 b Fc(27)-30 4841 y Fe(operator)27 b(++)f(\(\))7 +g(.)h(.)f(.)33 b Fc(27)-30 4933 y Fe(operator)27 b(++)f(\(\))7 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(27)-30 4933 y Fe(operator)27 b(>)f(\(\))9 +f(.)33 b Fc(27)-30 5024 y Fe(operator)27 b(>)f(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)34 b Fc(13)-30 5024 y Fe(operator)27 b(>=)f(\(\))7 -b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)33 b Fc(13)2032 299 y Fe(operator)28 b(>>)e(\(\))18 +(.)h(.)34 b Fc(13)2032 299 y Fe(operator)28 b(>=)e(\(\))7 +b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g +(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) +g(.)33 b Fc(13)2032 396 y Fe(operator)28 b(>>)e(\(\))18 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43 -b Fc(22,)27 b(36)2032 398 y Fe(operator)h(>>=)e(\(\))e +b Fc(22,)27 b(36)2032 493 y Fe(operator)h(>>=)e(\(\))e Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)50 -b Fc(27)2032 497 y Fe(operator)28 b(^)d(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f +b Fc(27)2032 591 y Fe(operator)28 b(^)d(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 -b Fc(21)2032 596 y Fe(operator)28 b(^=)e(\(\))7 b Fd(.)13 +b Fc(21)2032 688 y Fe(operator)28 b(^=)e(\(\))7 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)33 -b Fc(27)2032 695 y Fe(operator)28 b(<)d(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f +b Fc(27)2032 785 y Fe(operator)28 b(<)d(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 -b Fc(13)2032 794 y Fe(operator)28 b(<=)e(\(\))7 b Fd(.)13 +b Fc(13)2032 883 y Fe(operator)28 b(<=)e(\(\))7 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)33 -b Fc(13)2032 893 y Fe(operator)28 b(<<)e(\(\))21 b Fd(.)13 +b Fc(13)2032 980 y Fe(operator)28 b(<<)e(\(\))21 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)47 b Fc(22,)27 b(35,)f(36,)h(41)2032 -992 y Fe(operator)h(<<=)e(\(\))e Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h +1077 y Fe(operator)h(<<=)e(\(\))e Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)g(.)50 b Fc(27)2032 1092 y Fe(ord2)27 +h(.)f(.)g(.)h(.)f(.)g(.)g(.)50 b Fc(27)2032 1174 y Fe(ord2)27 b(\(\))10 b Fd(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fc(22)2032 -1378 y Fs(P)2032 1516 y Fe(phase)27 b(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f +1451 y Fs(P)2032 1585 y Fe(phase)27 b(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)35 b Fc(17)2032 1615 y(pi)18 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f +(.)35 b Fc(17)2032 1682 y(pi)18 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)44 b Fc(19)2032 1714 y Fe(plus1)27 b(\(\))9 +(.)h(.)f(.)g(.)44 b Fc(19)2032 1780 y Fe(plus1)27 b(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fc(11)2032 1813 y Fe(plusp)27 +(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fc(11)2032 1877 y Fe(plusp)27 b(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fc(13)2032 1912 +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fc(13)2032 1974 y(p)r(olynomial)10 b Fd(.)j(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)36 b Fc(38)2032 2011 +f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)36 b Fc(38)2032 2072 y(p)r(ortabilit)n(y)17 b Fd(.)c(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)43 b Fc(43)2032 -2110 y Fe(power2p)27 b(\(\))6 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h +2169 y Fe(power2p)27 b(\(\))6 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 -b Fc(23)2032 2209 y(prin)n(ting)8 b Fd(.)k(.)g(.)h(.)f(.)g(.)g(.)h(.)f +b Fc(23)2032 2266 y(prin)n(ting)8 b Fd(.)k(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 -b Fc(28)2032 2509 y Fs(R)2032 2646 y Fe(random)27 b(\(\))8 +b Fc(28)2032 2556 y Fs(R)2032 2690 y Fe(random)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(35)2032 2746 y Fe(random_F)28 +g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(35)2032 2787 y Fe(random_F)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 2845 y Fe(random_I)28 +f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 2884 y Fe(random_I)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 2944 y Fe(random_R)28 +f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 2981 y Fe(random_R)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 3043 y Fe(random32)28 +f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 3079 y Fe(random32)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 3142 y Fe(rational)28 +f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 3176 y Fe(rational)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 3241 y(rational)27 +f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(26)2032 3273 y(rational)27 b(n)n(um)n(b)r(er)17 b Fd(.)11 b(.)h(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)g(.)44 b Fc(6)2032 3340 y Fe(rationalize)28 +(.)f(.)g(.)h(.)f(.)g(.)g(.)44 b Fc(6)2032 3371 y Fe(rationalize)28 b(\(\))18 b Fd(.)c(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)44 b Fc(26)2032 3439 y(reading)17 b Fd(.)c(.)g(.)f(.)g(.)h(.)f +h(.)f(.)44 b Fc(26)2032 3468 y(reading)17 b Fd(.)c(.)g(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)43 b Fc(28)2032 3538 y(real)27 b(n)n(um)n(b)r(er)13 +(.)43 b Fc(28)2032 3565 y(real)27 b(n)n(um)n(b)r(er)13 b Fd(.)d(.)i(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)39 b Fc(6)2032 3637 y Fe(realpart)28 +(.)f(.)g(.)h(.)f(.)39 b Fc(6)2032 3662 y Fe(realpart)28 b(\(\))23 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) -f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(12)2032 3736 y Fe(recip)27 +f(.)g(.)h(.)f(.)g(.)h(.)48 b Fc(12)2032 3760 y Fe(recip)27 b(\(\))20 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)h(.)f(.)g(.)g(.)h(.)45 b Fc(11,)27 b(35)2032 3835 +g(.)h(.)f(.)g(.)g(.)h(.)45 b Fc(11,)27 b(35)2032 3857 y(reference)g(coun)n(ting)17 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)h(.)f(.)g(.)h(.)f(.)43 b Fc(43)2032 3935 y Fe(rem)27 +(.)h(.)f(.)g(.)h(.)f(.)43 b Fc(43)2032 3954 y Fe(rem)27 b(\(\))12 b Fd(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fc(16)2032 -4034 y(represen)n(tation)12 b Fd(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) +4052 y(represen)n(tation)12 b Fd(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f -(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fc(28)2032 4133 +(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fc(28)2032 4149 y Fe(retract)27 b(\(\))6 b Fd(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 b Fc(35)2032 -4232 y(Riemann's)25 b(zeta)11 b Fd(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f +4246 y(Riemann's)25 b(zeta)11 b Fd(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) -h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)37 b Fc(20)2032 4331 +h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)37 b Fc(20)2032 4343 y(ring)21 b Fd(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46 -b Fc(34)2032 4430 y Fe(ring)27 b(\(\))21 b Fd(.)13 b(.)f(.)g(.)h(.)f(.) +b Fc(34)2032 4441 y Fe(ring)27 b(\(\))21 b Fd(.)13 b(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47 -b Fc(35,)27 b(41)2032 4529 y Fe(rootp)g(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f +b Fc(35,)27 b(41)2032 4538 y Fe(rootp)g(\(\))9 b Fd(.)k(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.) f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g -(.)35 b Fc(16)2032 4628 y Fe(round1)27 b(\(\))8 b Fd(.)13 +(.)35 b Fc(16)2032 4635 y Fe(round1)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.) -h(.)f(.)g(.)h(.)33 b Fc(14)2032 4727 y Fe(round2)27 b(\(\))8 +h(.)f(.)g(.)h(.)33 b Fc(14)2032 4733 y Fe(round2)27 b(\(\))8 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) -g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(15)2032 4826 y(rounding)10 +g(.)g(.)h(.)f(.)g(.)h(.)33 b Fc(15)2032 4830 y(rounding)10 b Fd(.)i(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.) g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h -(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b Fc(13)2032 4925 y(rounding)26 +(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b Fc(13)2032 4927 y(rounding)26 b(error)7 b Fd(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.) h(.)f(.)g(.)h(.)f(.)g(.)34 b Fc(7)2032 5024 y(Rubik's)25 diff --git a/doc/cln.tex b/doc/cln.tex index 3bbb9ae..43218ad 100644 --- a/doc/cln.tex +++ b/doc/cln.tex @@ -2684,6 +2684,7 @@ Type tests can be performed for any of @code{cl_C_ring}, @code{cl_R_ring}, @table @code @item cl_boolean instanceof (const cl_number& x, const cl_number_ring& R) +@cindex @code{instanceof ()} Tests whether the given number is an element of the number ring R. @end table @@ -2791,21 +2792,21 @@ Returns the ring to which the modular integer @code{x} belongs. @item cl_MI operator+ (const cl_MI&, const cl_MI&) @cindex @code{operator + ()} -Returns the sum of two modular integers. One of the arguments may also be -a plain integer. +Returns the sum of two modular integers. One of the arguments may also +be a plain integer. @item cl_MI operator- (const cl_MI&, const cl_MI&) @cindex @code{operator - ()} -Returns the difference of two modular integers. One of the arguments may also be -a plain integer. +Returns the difference of two modular integers. One of the arguments may also +be a plain integer. @item cl_MI operator- (const cl_MI&) Returns the negative of a modular integer. @item cl_MI operator* (const cl_MI&, const cl_MI&) @cindex @code{operator * ()} -Returns the product of two modular integers. One of the arguments may also be -a plain integer. +Returns the product of two modular integers. One of the arguments may also +be a plain integer. @item cl_MI square (const cl_MI&) @cindex @code{square ()} diff --git a/doc/cln.texi b/doc/cln.texi index c846a63..fcb6173 100644 --- a/doc/cln.texi +++ b/doc/cln.texi @@ -2932,6 +2932,7 @@ Type tests can be performed for any of @code{cl_C_ring}, @code{cl_R_ring}, @table @code @item cl_boolean instanceof (const cl_number& x, const cl_number_ring& R) +@cindex @code{instanceof ()} Tests whether the given number is an element of the number ring R. @end table @@ -3047,21 +3048,21 @@ Returns the ring to which the modular integer @code{x} belongs. @item cl_MI operator+ (const cl_MI&, const cl_MI&) @cindex @code{operator + ()} -Returns the sum of two modular integers. One of the arguments may also be -a plain integer. +Returns the sum of two modular integers. One of the arguments may also +be a plain integer. @item cl_MI operator- (const cl_MI&, const cl_MI&) @cindex @code{operator - ()} -Returns the difference of two modular integers. One of the arguments may also be -a plain integer. +Returns the difference of two modular integers. One of the arguments may also +be a plain integer. @item cl_MI operator- (const cl_MI&) Returns the negative of a modular integer. @item cl_MI operator* (const cl_MI&, const cl_MI&) @cindex @code{operator * ()} -Returns the product of two modular integers. One of the arguments may also be -a plain integer. +Returns the product of two modular integers. One of the arguments may also +be a plain integer. @item cl_MI square (const cl_MI&) @cindex @code{square ()} diff --git a/doc/cln_1.html b/doc/cln_1.html index 918f0d9..187cdbd 100644 --- a/doc/cln_1.html +++ b/doc/cln_1.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 1. Introduction diff --git a/doc/cln_10.html b/doc/cln_10.html index 677b915..8c37d04 100644 --- a/doc/cln_10.html +++ b/doc/cln_10.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 10. Internals @@ -15,7 +15,7 @@ Go to the first, previous, 10.1 Why C++ ?

    - +

    @@ -30,7 +30,7 @@ Efficiency: It compiles to machine code.

  • - + Portability: It runs on all platforms supporting a C++ compiler. Because of the availability of GNU C++, this includes all currently used 32-bit and 64-bit platforms, independently of the quality of the vendor's C++ compiler. @@ -76,8 +76,8 @@ Object sharing: An operation like x+0 returns x withou it.
  • - + Garbage collection: A reference counting mechanism makes sure that any number object's storage is freed immediately when the last reference to the object is gone. @@ -122,7 +122,7 @@ algorithm. For very large numbers (more than 12000 decimal digits), CLN uses Schönhage-Strassen - + multiplication, which is an asymptotically optimal multiplication algorithm.
  • @@ -135,7 +135,7 @@ of division and radix conversion.

    10.4 Garbage collection

    - +

    diff --git a/doc/cln_11.html b/doc/cln_11.html index 59bcaa8..2096018 100644 --- a/doc/cln_11.html +++ b/doc/cln_11.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 11. Using the library @@ -23,7 +23,7 @@ environment variables, or directly substitute the appropriate values.

    11.1 Compiler options

    - +

    @@ -62,8 +62,8 @@ linking a CLN application it is sufficient to give the flag -lcln.

    11.2 Include files

    - +

    @@ -260,7 +260,7 @@ Includes all of the above.

    A function which computes the nth Fibonacci number can be written as follows. - + @@ -346,7 +346,7 @@ contains this implementation together with an even faster algorithm.

    11.4 Debugging support

    - +

    @@ -380,7 +380,7 @@ CLN offers a function cl_print, callable from the debugger, for printing number objects. In order to get this function, you have to define the macro `CL_DEBUG' and then include all the header files for which you want cl_print debugging support. For example: - +

     #define CL_DEBUG
    @@ -407,7 +407,7 @@ only with number objects and similar. Therefore CLN offers a member function
     debug_print() on all CLN types. The same macro `CL_DEBUG'
     is needed for this member function to be implemented. Under gdb,
     you call it like this:
    -
    +
     
     
     (gdb) print s
    diff --git a/doc/cln_12.html b/doc/cln_12.html
    index 6b80c8c..848b271 100644
    --- a/doc/cln_12.html
    +++ b/doc/cln_12.html
    @@ -1,6 +1,6 @@
     
     
    -
    +
     
     CLN, a Class Library for Numbers - 12. Customizing
     
    @@ -11,7 +11,7 @@ Go to the first, previous, 12. Customizing
     

    - + @@ -31,7 +31,7 @@ void cl_abort (void);

    - + This function must not return control to its caller. @@ -39,7 +39,7 @@ This function must not return control to its caller.

    12.2 Floating-point underflow

    - +

    @@ -65,7 +65,7 @@ will be generated instead. The default value of

    The output of the function fprint may be customized by changing the value of the global variable cl_default_print_flags. - + @@ -89,8 +89,8 @@ void (*cl_free_hook) (void* ptr) = ...;

    - + The cl_malloc_hook function must not return a NULL pointer. diff --git a/doc/cln_13.html b/doc/cln_13.html index 0bb9712..84e9e53 100644 --- a/doc/cln_13.html +++ b/doc/cln_13.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - Index diff --git a/doc/cln_2.html b/doc/cln_2.html index 86b3375..0c31828 100644 --- a/doc/cln_2.html +++ b/doc/cln_2.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 2. Installation diff --git a/doc/cln_3.html b/doc/cln_3.html index 5a60729..d8d78a7 100644 --- a/doc/cln_3.html +++ b/doc/cln_3.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 3. Ordinary number types diff --git a/doc/cln_4.html b/doc/cln_4.html index 183858e..0c480a2 100644 --- a/doc/cln_4.html +++ b/doc/cln_4.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 4. Functions on numbers diff --git a/doc/cln_5.html b/doc/cln_5.html index 32c6e79..e7ea55c 100644 --- a/doc/cln_5.html +++ b/doc/cln_5.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 5. Input/Output diff --git a/doc/cln_6.html b/doc/cln_6.html index e75c4a4..2250bb1 100644 --- a/doc/cln_6.html +++ b/doc/cln_6.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 6. Rings @@ -103,6 +103,7 @@ Type tests can be performed for any of cl_C_ring, cl_R_ringcl_boolean instanceof (const cl_number& x, const cl_number_ring& R)

    + Tests whether the given number is an element of the number ring R. diff --git a/doc/cln_7.html b/doc/cln_7.html index b67dd03..4552b9f 100644 --- a/doc/cln_7.html +++ b/doc/cln_7.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 7. Modular integers @@ -11,14 +11,14 @@ Go to the first, previous, 7. Modular integers

    - +

    7.1 Modular integer rings

    - +

    @@ -47,7 +47,7 @@ The class of modular integer rings is

    - +

    @@ -69,11 +69,11 @@ Modular integer rings are constructed using the function

    cl_modint_ring cl_find_modint_ring (const cl_I& N)
    - + This function returns the modular ring `Z/NZ'. It takes care of finding out about special cases of N, like powers of two and odd numbers for which Montgomery multiplication will be a win, - + and precomputes any necessary auxiliary data for computing modulo N. There is a cache table of rings, indexed by N (or, more precisely, by abs(N)). This ensures that the precomputation costs are reduced @@ -88,10 +88,10 @@ Modular integer rings can be compared for equality:
    bool operator== (const cl_modint_ring&, const cl_modint_ring&)
    - +
    bool operator!= (const cl_modint_ring&, const cl_modint_ring&)
    - + These compare two modular integer rings for equality. Two different calls to cl_find_modint_ring with the same argument necessarily return the same ring because it is memoized in the cache table. @@ -109,27 +109,27 @@ Given a modular integer ring R, the following members can be used.
    cl_I R->modulus
    - + This is the ring's modulus, normalized to be nonnegative: abs(N).
    cl_MI R->zero()
    - + This returns 0 mod N.
    cl_MI R->one()
    - + This returns 1 mod N.
    cl_MI R->canonhom (const cl_I& x)
    - + This returns x mod N.
    cl_I R->retract (const cl_MI& x)
    - + This is a partial inverse function to R->canonhom. It returns the standard representative (>=0, <N) of x. @@ -137,7 +137,7 @@ standard representative (>=0, <N) of x
    cl_MI R->random()
    - + This returns a random integer modulo N. @@ -149,20 +149,20 @@ The following operations are defined on modular integers.
    cl_modint_ring x.ring ()
    - + Returns the ring to which the modular integer x belongs.
    cl_MI operator+ (const cl_MI&, const cl_MI&)
    - -Returns the sum of two modular integers. One of the arguments may also be -a plain integer. + +Returns the sum of two modular integers. One of the arguments may also +be a plain integer.
    cl_MI operator- (const cl_MI&, const cl_MI&)
    - -Returns the difference of two modular integers. One of the arguments may also be -a plain integer. + +Returns the difference of two modular integers. One of the arguments may also +be a plain integer.
    cl_MI operator- (const cl_MI&)
    @@ -170,61 +170,61 @@ Returns the negative of a modular integer.
    cl_MI operator* (const cl_MI&, const cl_MI&)
    - -Returns the product of two modular integers. One of the arguments may also be -a plain integer. + +Returns the product of two modular integers. One of the arguments may also +be a plain integer.
    cl_MI square (const cl_MI&)
    - + Returns the square of a modular integer.
    cl_MI recip (const cl_MI& x)
    - + Returns the reciprocal x^-1 of a modular integer x. x must be coprime to the modulus, otherwise an error message is issued.
    cl_MI div (const cl_MI& x, const cl_MI& y)
    - + Returns the quotient x*y^-1 of two modular integers x, y. y must be coprime to the modulus, otherwise an error message is issued.
    cl_MI expt_pos (const cl_MI& x, const cl_I& y)
    - + y must be > 0. Returns x^y.
    cl_MI expt (const cl_MI& x, const cl_I& y)
    - + Returns x^y. If y is negative, x must be coprime to the modulus, else an error message is issued.
    cl_MI operator<< (const cl_MI& x, const cl_I& y)
    - + Returns x*2^y.
    cl_MI operator>> (const cl_MI& x, const cl_I& y)
    - + Returns x*2^-y. When y is positive, the modulus must be odd, or an error message is issued.
    bool operator== (const cl_MI&, const cl_MI&)
    - +
    bool operator!= (const cl_MI&, const cl_MI&)
    - + Compares two modular integers, belonging to the same modular integer ring, for equality.
    cl_boolean zerop (const cl_MI& x)
    - + Returns true if x is 0 mod N. @@ -237,10 +237,10 @@ input/output).
    void fprint (cl_ostream stream, const cl_MI& x)
    - +
    cl_ostream operator<< (cl_ostream stream, const cl_MI& x)
    - + Prints the modular integer x on the stream. The output may depend on the global printer settings in the variable cl_default_print_flags. diff --git a/doc/cln_8.html b/doc/cln_8.html index c46c223..a4acade 100644 --- a/doc/cln_8.html +++ b/doc/cln_8.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 8. Symbolic data types @@ -11,7 +11,7 @@ Go to the first, previous, 8. Symbolic data types

    - +

    @@ -22,7 +22,7 @@ CLN implements two symbolic (non-numeric) data types: strings and symbols.

    8.1 Strings

    - +

    @@ -48,7 +48,7 @@ Strings are constructed through the following constructors:

    cl_string (const char * s)
    - + Returns an immutable copy of the (zero-terminated) C string s.
    cl_string (const char * ptr, unsigned long len) @@ -69,21 +69,21 @@ Assignment from cl_string and const char *.
    s.length()
    - +
    strlen(s)
    - + Returns the length of the string s.
    s[i]
    - + Returns the ith character of the string s. i must be in the range 0 <= i < s.length().
    bool equal (const cl_string& s1, const cl_string& s2)
    - + Compares two strings for equality. One of the arguments may also be a plain const char *. @@ -92,7 +92,7 @@ plain const char *.

    8.2 Symbols

    - +

    @@ -112,7 +112,7 @@ Symbols are constructed through the following constructor:

    cl_symbol (const cl_string& s)
    - + Looks up or creates a new symbol with a given name. @@ -129,7 +129,7 @@ Conversion to cl_string: Returns the string which names the symbol
    bool equal (const cl_symbol& sym1, const cl_symbol& sym2)
    - + Compares two symbols for equality. This is very fast. diff --git a/doc/cln_9.html b/doc/cln_9.html index f11c049..fc3b632 100644 --- a/doc/cln_9.html +++ b/doc/cln_9.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - 9. Univariate polynomials @@ -11,8 +11,8 @@ Go to the first, previous, 9. Univariate polynomials

    - + @@ -125,7 +125,7 @@ return the same polynomial ring.

    cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring& R)
    - +
    cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring& R, const cl_symbol& varname)
    cl_univpoly_real_ring cl_find_univpoly_ring (const cl_real_ring& R) @@ -160,33 +160,33 @@ Given a univariate polynomial ring R, the following members can be
    cl_ring R->basering()
    - + This returns the base ring, as passed to `cl_find_univpoly_ring'.
    cl_UP R->zero()
    - + This returns 0 in R, a polynomial of degree -1.
    cl_UP R->one()
    - + This returns 1 in R, a polynomial of degree <= 0.
    cl_UP R->canonhom (const cl_I& x)
    - + This returns x in R, a polynomial of degree <= 0.
    cl_UP R->monomial (const cl_ring_element& x, uintL e)
    - + This returns a sparse polynomial: x * X^e, where X is the indeterminate.
    cl_UP R->create (sintL degree)
    - + Creates a new polynomial with a given degree. The zero polynomial has degree -1. After creating the polynomial, you should put in the coefficients, using the set_coeff member function, and then call the finalize @@ -201,14 +201,14 @@ The following are the only destructive operations on univariate polynomials.
    void set_coeff (cl_UP& x, uintL index, const cl_ring_element& y)
    - + This changes the coefficient of X^index in x to be y. After changing a polynomial and before applying any "normal" operation on it, you should call its finalize member function.
    void finalize (cl_UP& x)
    - + This function marks the endpoint of destructive modifications of a polynomial. It normalizes the internal representation so that subsequent computations have less overhead. Doing normal computations on unnormalized polynomials may @@ -223,17 +223,17 @@ The following operations are defined on univariate polynomials.
    cl_univpoly_ring x.ring ()
    - + Returns the ring to which the univariate polynomial x belongs.
    cl_UP operator+ (const cl_UP&, const cl_UP&)
    - + Returns the sum of two univariate polynomials.
    cl_UP operator- (const cl_UP&, const cl_UP&)
    - + Returns the difference of two univariate polynomials.
    cl_UP operator- (const cl_UP&) @@ -242,54 +242,54 @@ Returns the negative of a univariate polynomial.
    cl_UP operator* (const cl_UP&, const cl_UP&)
    - + Returns the product of two univariate polynomials. One of the arguments may also be a plain integer or an element of the base ring.
    cl_UP square (const cl_UP&)
    - + Returns the square of a univariate polynomial.
    cl_UP expt_pos (const cl_UP& x, const cl_I& y)
    - + y must be > 0. Returns x^y.
    bool operator== (const cl_UP&, const cl_UP&)
    - +
    bool operator!= (const cl_UP&, const cl_UP&)
    - + Compares two univariate polynomials, belonging to the same univariate polynomial ring, for equality.
    cl_boolean zerop (const cl_UP& x)
    - + Returns true if x is 0 in R.
    sintL degree (const cl_UP& x)
    - + Returns the degree of the polynomial. The zero polynomial has degree -1.
    cl_ring_element coeff (const cl_UP& x, uintL index)
    - + Returns the coefficient of X^index in the polynomial x.
    cl_ring_element x (const cl_ring_element& y)
    - + Evaluation: If x is a polynomial and y belongs to the base ring, then `x(y)' returns the value of the substitution of y into x.
    cl_UP deriv (const cl_UP& x)
    - + Returns the derivative of the polynomial x with respect to the indeterminate X. @@ -303,10 +303,10 @@ input/output).
    void fprint (cl_ostream stream, const cl_UP& x)
    - +
    cl_ostream operator<< (cl_ostream stream, const cl_UP& x)
    - + Prints the univariate polynomial x on the stream. The output may depend on the global printer settings in the variable cl_default_print_flags. @@ -324,26 +324,26 @@ The following functions return special polynomials.
    cl_UP_I cl_tschebychev (sintL n)
    - + Returns the n-th Tchebychev polynomial (n >= 0).
    cl_UP_I cl_hermite (sintL n)
    - + Returns the n-th Hermite polynomial (n >= 0).
    cl_UP_RA cl_legendre (sintL n)
    - + Returns the n-th Legendre polynomial (n >= 0).
    cl_UP_I cl_laguerre (sintL n)
    - + Returns the n-th Laguerre polynomial (n >= 0). diff --git a/doc/cln_toc.html b/doc/cln_toc.html index 73d2e87..fc5300b 100644 --- a/doc/cln_toc.html +++ b/doc/cln_toc.html @@ -1,6 +1,6 @@ - + CLN, a Class Library for Numbers - Table of Contents @@ -118,7 +118,7 @@
  • Index


    -This document was generated on 5 May 2000 using +This document was generated on 19 May 2000 using texi2html 1.56k.