]> www.ginac.de Git - cln.git/commitdiff
- Added forgotten index entries.
authorRichard Kreckel <kreckel@ginac.de>
Fri, 19 May 2000 12:56:28 +0000 (12:56 +0000)
committerRichard Kreckel <kreckel@ginac.de>
Fri, 19 May 2000 12:56:28 +0000 (12:56 +0000)
20 files changed:
doc/cln.dvi
doc/cln.html
doc/cln.info
doc/cln.ps
doc/cln.tex
doc/cln.texi
doc/cln_1.html
doc/cln_10.html
doc/cln_11.html
doc/cln_12.html
doc/cln_13.html
doc/cln_2.html
doc/cln_3.html
doc/cln_4.html
doc/cln_5.html
doc/cln_6.html
doc/cln_7.html
doc/cln_8.html
doc/cln_9.html
doc/cln_toc.html

index 00de7ca85f3131f997e90b4c356130f51826522b..e2370f4ff51fcded963d4c1698f0090a77ab84a7 100644 (file)
Binary files a/doc/cln.dvi and b/doc/cln.dvi differ
index 68af2b77bcaf7d33d46aa37b8f6fc9651928d698..ebb2da6570fd4fb567017f2d323d4abb330ef33e 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers</TITLE>
 </HEAD>
@@ -3452,6 +3452,7 @@ Type tests can be performed for any of <CODE>cl_C_ring</CODE>, <CODE>cl_R_ring</
 
 <DT><CODE>cl_boolean instanceof (const cl_number&#38; x, const cl_number_ring&#38; R)</CODE>
 <DD>
+<A NAME="IDX240"></A>
 Tests whether the given number is an element of the number ring R.
 </DL>
 
@@ -3459,14 +3460,14 @@ Tests whether the given number is an element of the number ring R.
 
 <H1><A NAME="SEC49" HREF="cln.html#TOC49">7. Modular integers</A></H1>
 <P>
-<A NAME="IDX240"></A>
+<A NAME="IDX241"></A>
 
 
 
 
 <H2><A NAME="SEC50" HREF="cln.html#TOC50">7.1 Modular integer rings</A></H2>
 <P>
-<A NAME="IDX241"></A>
+<A NAME="IDX242"></A>
 
 
 <P>
@@ -3495,7 +3496,7 @@ The class of modular integer rings is
 </PRE>
 
 <P>
-<A NAME="IDX242"></A>
+<A NAME="IDX243"></A>
 
 
 <P>
@@ -3517,11 +3518,11 @@ Modular integer rings are constructed using the function
 
 <DT><CODE>cl_modint_ring cl_find_modint_ring (const cl_I&#38; N)</CODE>
 <DD>
-<A NAME="IDX243"></A>
+<A NAME="IDX244"></A>
 This function returns the modular ring <SAMP>`Z/NZ'</SAMP>. It takes care
 of finding out about special cases of <CODE>N</CODE>, like powers of two
 and odd numbers for which Montgomery multiplication will be a win,
-<A NAME="IDX244"></A>
+<A NAME="IDX245"></A>
 and precomputes any necessary auxiliary data for computing modulo <CODE>N</CODE>.
 There is a cache table of rings, indexed by <CODE>N</CODE> (or, more precisely,
 by <CODE>abs(N)</CODE>). This ensures that the precomputation costs are reduced
@@ -3536,10 +3537,10 @@ Modular integer rings can be compared for equality:
 
 <DT><CODE>bool operator== (const cl_modint_ring&#38;, const cl_modint_ring&#38;)</CODE>
 <DD>
-<A NAME="IDX245"></A>
+<A NAME="IDX246"></A>
 <DT><CODE>bool operator!= (const cl_modint_ring&#38;, const cl_modint_ring&#38;)</CODE>
 <DD>
-<A NAME="IDX246"></A>
+<A NAME="IDX247"></A>
 These compare two modular integer rings for equality. Two different calls
 to <CODE>cl_find_modint_ring</CODE> 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 <CODE>R</CODE>, the following members can be used.
 
 <DT><CODE>cl_I R-&#62;modulus</CODE>
 <DD>
-<A NAME="IDX247"></A>
+<A NAME="IDX248"></A>
 This is the ring's modulus, normalized to be nonnegative: <CODE>abs(N)</CODE>.
 
 <DT><CODE>cl_MI R-&#62;zero()</CODE>
 <DD>
-<A NAME="IDX248"></A>
+<A NAME="IDX249"></A>
 This returns <CODE>0 mod N</CODE>.
 
 <DT><CODE>cl_MI R-&#62;one()</CODE>
 <DD>
-<A NAME="IDX249"></A>
+<A NAME="IDX250"></A>
 This returns <CODE>1 mod N</CODE>.
 
 <DT><CODE>cl_MI R-&#62;canonhom (const cl_I&#38; x)</CODE>
 <DD>
-<A NAME="IDX250"></A>
+<A NAME="IDX251"></A>
 This returns <CODE>x mod N</CODE>.
 
 <DT><CODE>cl_I R-&#62;retract (const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX251"></A>
+<A NAME="IDX252"></A>
 This is a partial inverse function to <CODE>R-&#62;canonhom</CODE>. It returns the
 standard representative (<CODE>&#62;=0</CODE>, <CODE>&#60;N</CODE>) of <CODE>x</CODE>.
 
@@ -3585,7 +3586,7 @@ standard representative (<CODE>&#62;=0</CODE>, <CODE>&#60;N</CODE>) of <CODE>x</
 <DD>
 <DT><CODE>cl_MI R-&#62;random()</CODE>
 <DD>
-<A NAME="IDX252"></A>
+<A NAME="IDX253"></A>
 This returns a random integer modulo <CODE>N</CODE>.
 </DL>
 
@@ -3597,20 +3598,20 @@ The following operations are defined on modular integers.
 
 <DT><CODE>cl_modint_ring x.ring ()</CODE>
 <DD>
-<A NAME="IDX253"></A>
+<A NAME="IDX254"></A>
 Returns the ring to which the modular integer <CODE>x</CODE> belongs.
 
 <DT><CODE>cl_MI operator+ (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX254"></A>
-Returns the sum of two modular integers. One of the arguments may also be
-a plain integer.
+<A NAME="IDX255"></A>
+Returns the sum of two modular integers. One of the arguments may also
+be a plain integer.
 
 <DT><CODE>cl_MI operator- (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX255"></A>
-Returns the difference of two modular integers. One of the arguments may also be
-a plain integer.
+<A NAME="IDX256"></A>
+Returns the difference of two modular integers. One of the arguments may also
+be a plain integer.
 
 <DT><CODE>cl_MI operator- (const cl_MI&#38;)</CODE>
 <DD>
@@ -3618,61 +3619,61 @@ Returns the negative of a modular integer.
 
 <DT><CODE>cl_MI operator* (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX256"></A>
-Returns the product of two modular integers. One of the arguments may also be
-a plain integer.
+<A NAME="IDX257"></A>
+Returns the product of two modular integers. One of the arguments may also
+be a plain integer.
 
 <DT><CODE>cl_MI square (const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX257"></A>
+<A NAME="IDX258"></A>
 Returns the square of a modular integer.
 
 <DT><CODE>cl_MI recip (const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX258"></A>
+<A NAME="IDX259"></A>
 Returns the reciprocal <CODE>x^-1</CODE> of a modular integer <CODE>x</CODE>. <CODE>x</CODE>
 must be coprime to the modulus, otherwise an error message is issued.
 
 <DT><CODE>cl_MI div (const cl_MI&#38; x, const cl_MI&#38; y)</CODE>
 <DD>
-<A NAME="IDX259"></A>
+<A NAME="IDX260"></A>
 Returns the quotient <CODE>x*y^-1</CODE> of two modular integers <CODE>x</CODE>, <CODE>y</CODE>.
 <CODE>y</CODE> must be coprime to the modulus, otherwise an error message is issued.
 
 <DT><CODE>cl_MI expt_pos (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX260"></A>
+<A NAME="IDX261"></A>
 <CODE>y</CODE> must be &#62; 0. Returns <CODE>x^y</CODE>.
 
 <DT><CODE>cl_MI expt (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX261"></A>
+<A NAME="IDX262"></A>
 Returns <CODE>x^y</CODE>. If <CODE>y</CODE> is negative, <CODE>x</CODE> must be coprime to the
 modulus, else an error message is issued.
 
 <DT><CODE>cl_MI operator&#60;&#60; (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX262"></A>
+<A NAME="IDX263"></A>
 Returns <CODE>x*2^y</CODE>.
 
 <DT><CODE>cl_MI operator&#62;&#62; (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX263"></A>
+<A NAME="IDX264"></A>
 Returns <CODE>x*2^-y</CODE>. When <CODE>y</CODE> is positive, the modulus must be odd,
 or an error message is issued.
 
 <DT><CODE>bool operator== (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX264"></A>
+<A NAME="IDX265"></A>
 <DT><CODE>bool operator!= (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX265"></A>
+<A NAME="IDX266"></A>
 Compares two modular integers, belonging to the same modular integer ring,
 for equality.
 
 <DT><CODE>cl_boolean zerop (const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX266"></A>
+<A NAME="IDX267"></A>
 Returns true if <CODE>x</CODE> is <CODE>0 mod N</CODE>.
 </DL>
 
@@ -3685,10 +3686,10 @@ input/output).
 
 <DT><CODE>void fprint (cl_ostream stream, const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX267"></A>
+<A NAME="IDX268"></A>
 <DT><CODE>cl_ostream operator&#60;&#60; (cl_ostream stream, const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX268"></A>
+<A NAME="IDX269"></A>
 Prints the modular integer <CODE>x</CODE> on the <CODE>stream</CODE>. The output may depend
 on the global printer settings in the variable <CODE>cl_default_print_flags</CODE>.
 </DL>
@@ -3697,7 +3698,7 @@ on the global printer settings in the variable <CODE>cl_default_print_flags</COD
 
 <H1><A NAME="SEC52" HREF="cln.html#TOC52">8. Symbolic data types</A></H1>
 <P>
-<A NAME="IDX269"></A>
+<A NAME="IDX270"></A>
 
 
 <P>
@@ -3708,7 +3709,7 @@ CLN implements two symbolic (non-numeric) data types: strings and symbols.
 
 <H2><A NAME="SEC53" HREF="cln.html#TOC53">8.1 Strings</A></H2>
 <P>
-<A NAME="IDX270"></A>
+<A NAME="IDX271"></A>
 
 
 <P>
@@ -3734,7 +3735,7 @@ Strings are constructed through the following constructors:
 
 <DT><CODE>cl_string (const char * s)</CODE>
 <DD>
-<A NAME="IDX271"></A>
+<A NAME="IDX272"></A>
 Returns an immutable copy of the (zero-terminated) C string <CODE>s</CODE>.
 
 <DT><CODE>cl_string (const char * ptr, unsigned long len)</CODE>
@@ -3755,21 +3756,21 @@ Assignment from <CODE>cl_string</CODE> and <CODE>const char *</CODE>.
 
 <DT><CODE>s.length()</CODE>
 <DD>
-<A NAME="IDX272"></A>
+<A NAME="IDX273"></A>
 <DT><CODE>strlen(s)</CODE>
 <DD>
-<A NAME="IDX273"></A>
+<A NAME="IDX274"></A>
 Returns the length of the string <CODE>s</CODE>.
 
 <DT><CODE>s[i]</CODE>
 <DD>
-<A NAME="IDX274"></A>
+<A NAME="IDX275"></A>
 Returns the <CODE>i</CODE>th character of the string <CODE>s</CODE>.
 <CODE>i</CODE> must be in the range <CODE>0 &#60;= i &#60; s.length()</CODE>.
 
 <DT><CODE>bool equal (const cl_string&#38; s1, const cl_string&#38; s2)</CODE>
 <DD>
-<A NAME="IDX275"></A>
+<A NAME="IDX276"></A>
 Compares two strings for equality. One of the arguments may also be a
 plain <CODE>const char *</CODE>.
 </DL>
@@ -3778,7 +3779,7 @@ plain <CODE>const char *</CODE>.
 
 <H2><A NAME="SEC54" HREF="cln.html#TOC54">8.2 Symbols</A></H2>
 <P>
-<A NAME="IDX276"></A>
+<A NAME="IDX277"></A>
 
 
 <P>
@@ -3798,7 +3799,7 @@ Symbols are constructed through the following constructor:
 
 <DT><CODE>cl_symbol (const cl_string&#38; s)</CODE>
 <DD>
-<A NAME="IDX277"></A>
+<A NAME="IDX278"></A>
 Looks up or creates a new symbol with a given name.
 </DL>
 
@@ -3815,7 +3816,7 @@ Conversion to <CODE>cl_string</CODE>: Returns the string which names the symbol
 
 <DT><CODE>bool equal (const cl_symbol&#38; sym1, const cl_symbol&#38; sym2)</CODE>
 <DD>
-<A NAME="IDX278"></A>
+<A NAME="IDX279"></A>
 Compares two symbols for equality. This is very fast.
 </DL>
 
@@ -3823,8 +3824,8 @@ Compares two symbols for equality. This is very fast.
 
 <H1><A NAME="SEC55" HREF="cln.html#TOC55">9. Univariate polynomials</A></H1>
 <P>
-<A NAME="IDX279"></A>
 <A NAME="IDX280"></A>
+<A NAME="IDX281"></A>
 
 
 
@@ -3937,7 +3938,7 @@ return the same polynomial ring.
 
 <DT><CODE>cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring&#38; R)</CODE>
 <DD>
-<A NAME="IDX281"></A>
+<A NAME="IDX282"></A>
 <DT><CODE>cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring&#38; R, const cl_symbol&#38; varname)</CODE>
 <DD>
 <DT><CODE>cl_univpoly_real_ring cl_find_univpoly_ring (const cl_real_ring&#38; R)</CODE>
@@ -3972,33 +3973,33 @@ Given a univariate polynomial ring <CODE>R</CODE>, the following members can be
 
 <DT><CODE>cl_ring R-&#62;basering()</CODE>
 <DD>
-<A NAME="IDX282"></A>
+<A NAME="IDX283"></A>
 This returns the base ring, as passed to <SAMP>`cl_find_univpoly_ring'</SAMP>.
 
 <DT><CODE>cl_UP R-&#62;zero()</CODE>
 <DD>
-<A NAME="IDX283"></A>
+<A NAME="IDX284"></A>
 This returns <CODE>0 in R</CODE>, a polynomial of degree -1.
 
 <DT><CODE>cl_UP R-&#62;one()</CODE>
 <DD>
-<A NAME="IDX284"></A>
+<A NAME="IDX285"></A>
 This returns <CODE>1 in R</CODE>, a polynomial of degree &#60;= 0.
 
 <DT><CODE>cl_UP R-&#62;canonhom (const cl_I&#38; x)</CODE>
 <DD>
-<A NAME="IDX285"></A>
+<A NAME="IDX286"></A>
 This returns <CODE>x in R</CODE>, a polynomial of degree &#60;= 0.
 
 <DT><CODE>cl_UP R-&#62;monomial (const cl_ring_element&#38; x, uintL e)</CODE>
 <DD>
-<A NAME="IDX286"></A>
+<A NAME="IDX287"></A>
 This returns a sparse polynomial: <CODE>x * X^e</CODE>, where <CODE>X</CODE> is the
 indeterminate.
 
 <DT><CODE>cl_UP R-&#62;create (sintL degree)</CODE>
 <DD>
-<A NAME="IDX287"></A>
+<A NAME="IDX288"></A>
 Creates a new polynomial with a given degree. The zero polynomial has degree
 <CODE>-1</CODE>. After creating the polynomial, you should put in the coefficients,
 using the <CODE>set_coeff</CODE> member function, and then call the <CODE>finalize</CODE>
@@ -4013,14 +4014,14 @@ The following are the only destructive operations on univariate polynomials.
 
 <DT><CODE>void set_coeff (cl_UP&#38; x, uintL index, const cl_ring_element&#38; y)</CODE>
 <DD>
-<A NAME="IDX288"></A>
+<A NAME="IDX289"></A>
 This changes the coefficient of <CODE>X^index</CODE> in <CODE>x</CODE> to be <CODE>y</CODE>.
 After changing a polynomial and before applying any "normal" operation on it,
 you should call its <CODE>finalize</CODE> member function.
 
 <DT><CODE>void finalize (cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX289"></A>
+<A NAME="IDX290"></A>
 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.
 
 <DT><CODE>cl_univpoly_ring x.ring ()</CODE>
 <DD>
-<A NAME="IDX290"></A>
+<A NAME="IDX291"></A>
 Returns the ring to which the univariate polynomial <CODE>x</CODE> belongs.
 
 <DT><CODE>cl_UP operator+ (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX291"></A>
+<A NAME="IDX292"></A>
 Returns the sum of two univariate polynomials.
 
 <DT><CODE>cl_UP operator- (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX292"></A>
+<A NAME="IDX293"></A>
 Returns the difference of two univariate polynomials.
 
 <DT><CODE>cl_UP operator- (const cl_UP&#38;)</CODE>
@@ -4054,54 +4055,54 @@ Returns the negative of a univariate polynomial.
 
 <DT><CODE>cl_UP operator* (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX293"></A>
+<A NAME="IDX294"></A>
 Returns the product of two univariate polynomials. One of the arguments may
 also be a plain integer or an element of the base ring.
 
 <DT><CODE>cl_UP square (const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX294"></A>
+<A NAME="IDX295"></A>
 Returns the square of a univariate polynomial.
 
 <DT><CODE>cl_UP expt_pos (const cl_UP&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX295"></A>
+<A NAME="IDX296"></A>
 <CODE>y</CODE> must be &#62; 0. Returns <CODE>x^y</CODE>.
 
 <DT><CODE>bool operator== (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX296"></A>
+<A NAME="IDX297"></A>
 <DT><CODE>bool operator!= (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX297"></A>
+<A NAME="IDX298"></A>
 Compares two univariate polynomials, belonging to the same univariate
 polynomial ring, for equality.
 
 <DT><CODE>cl_boolean zerop (const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX298"></A>
+<A NAME="IDX299"></A>
 Returns true if <CODE>x</CODE> is <CODE>0 in R</CODE>.
 
 <DT><CODE>sintL degree (const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX299"></A>
+<A NAME="IDX300"></A>
 Returns the degree of the polynomial. The zero polynomial has degree <CODE>-1</CODE>.
 
 <DT><CODE>cl_ring_element coeff (const cl_UP&#38; x, uintL index)</CODE>
 <DD>
-<A NAME="IDX300"></A>
+<A NAME="IDX301"></A>
 Returns the coefficient of <CODE>X^index</CODE> in the polynomial <CODE>x</CODE>.
 
 <DT><CODE>cl_ring_element x (const cl_ring_element&#38; y)</CODE>
 <DD>
-<A NAME="IDX301"></A>
+<A NAME="IDX302"></A>
 Evaluation: If <CODE>x</CODE> is a polynomial and <CODE>y</CODE> belongs to the base ring,
 then <SAMP>`x(y)'</SAMP> returns the value of the substitution of <CODE>y</CODE> into
 <CODE>x</CODE>.
 
 <DT><CODE>cl_UP deriv (const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX302"></A>
+<A NAME="IDX303"></A>
 Returns the derivative of the polynomial <CODE>x</CODE> with respect to the
 indeterminate <CODE>X</CODE>.
 </DL>
@@ -4115,10 +4116,10 @@ input/output).
 
 <DT><CODE>void fprint (cl_ostream stream, const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX303"></A>
+<A NAME="IDX304"></A>
 <DT><CODE>cl_ostream operator&#60;&#60; (cl_ostream stream, const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX304"></A>
+<A NAME="IDX305"></A>
 Prints the univariate polynomial <CODE>x</CODE> on the <CODE>stream</CODE>. The output may
 depend on the global printer settings in the variable
 <CODE>cl_default_print_flags</CODE>.
@@ -4136,26 +4137,26 @@ The following functions return special polynomials.
 
 <DT><CODE>cl_UP_I cl_tschebychev (sintL n)</CODE>
 <DD>
-<A NAME="IDX305"></A>
 <A NAME="IDX306"></A>
+<A NAME="IDX307"></A>
 Returns the n-th Tchebychev polynomial (n &#62;= 0).
 
 <DT><CODE>cl_UP_I cl_hermite (sintL n)</CODE>
 <DD>
-<A NAME="IDX307"></A>
 <A NAME="IDX308"></A>
+<A NAME="IDX309"></A>
 Returns the n-th Hermite polynomial (n &#62;= 0).
 
 <DT><CODE>cl_UP_RA cl_legendre (sintL n)</CODE>
 <DD>
-<A NAME="IDX309"></A>
 <A NAME="IDX310"></A>
+<A NAME="IDX311"></A>
 Returns the n-th Legendre polynomial (n &#62;= 0).
 
 <DT><CODE>cl_UP_I cl_laguerre (sintL n)</CODE>
 <DD>
-<A NAME="IDX311"></A>
 <A NAME="IDX312"></A>
+<A NAME="IDX313"></A>
 Returns the n-th Laguerre polynomial (n &#62;= 0).
 </DL>
 
@@ -4173,7 +4174,7 @@ of these polynomials from their definition can be found in the
 
 <H2><A NAME="SEC60" HREF="cln.html#TOC60">10.1 Why C++ ?</A></H2>
 <P>
-<A NAME="IDX313"></A>
+<A NAME="IDX314"></A>
 
 
 <P>
@@ -4188,7 +4189,7 @@ Efficiency: It compiles to machine code.
 
 <LI>
 
-<A NAME="IDX314"></A>
+<A NAME="IDX315"></A>
 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 <CODE>x+0</CODE> returns <CODE>x</CODE> withou
 it.
 <LI>
 
-<A NAME="IDX315"></A>
 <A NAME="IDX316"></A>
+<A NAME="IDX317"></A>
 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
-<A NAME="IDX317"></A>
+<A NAME="IDX318"></A>
 multiplication, which is an asymptotically optimal multiplication 
 algorithm.
 <LI>
@@ -4293,7 +4294,7 @@ of division and radix conversion.
 
 <H2><A NAME="SEC63" HREF="cln.html#TOC63">10.4 Garbage collection</A></H2>
 <P>
-<A NAME="IDX318"></A>
+<A NAME="IDX319"></A>
 
 
 <P>
@@ -4331,7 +4332,7 @@ environment variables, or directly substitute the appropriate values.
 
 <H2><A NAME="SEC65" HREF="cln.html#TOC65">11.1 Compiler options</A></H2>
 <P>
-<A NAME="IDX319"></A>
+<A NAME="IDX320"></A>
 
 
 <P>
@@ -4370,8 +4371,8 @@ linking a CLN application it is sufficient to give the flag <CODE>-lcln</CODE>.
 
 <H2><A NAME="SEC66" HREF="cln.html#TOC66">11.2 Include files</A></H2>
 <P>
-<A NAME="IDX320"></A>
 <A NAME="IDX321"></A>
+<A NAME="IDX322"></A>
 
 
 <P>
@@ -4568,7 +4569,7 @@ Includes all of the above.
 
 <P>
 A function which computes the nth Fibonacci number can be written as follows.
-<A NAME="IDX322"></A>
+<A NAME="IDX323"></A>
 
 
 
@@ -4654,7 +4655,7 @@ contains this implementation together with an even faster algorithm.
 
 <H2><A NAME="SEC68" HREF="cln.html#TOC68">11.4 Debugging support</A></H2>
 <P>
-<A NAME="IDX323"></A>
+<A NAME="IDX324"></A>
 
 
 <P>
@@ -4688,7 +4689,7 @@ CLN offers a function <CODE>cl_print</CODE>, callable from the debugger,
 for printing number objects. In order to get this function, you have
 to define the macro <SAMP>`CL_DEBUG'</SAMP> and then include all the header files
 for which you want <CODE>cl_print</CODE> debugging support. For example:
-<A NAME="IDX324"></A>
+<A NAME="IDX325"></A>
 
 <PRE>
 #define CL_DEBUG
@@ -4715,7 +4716,7 @@ only with number objects and similar. Therefore CLN offers a member function
 <CODE>debug_print()</CODE> on all CLN types. The same macro <SAMP>`CL_DEBUG'</SAMP>
 is needed for this member function to be implemented. Under <CODE>gdb</CODE>,
 you call it like this:
-<A NAME="IDX325"></A>
+<A NAME="IDX326"></A>
 
 <PRE>
 (gdb) print s
@@ -4737,7 +4738,7 @@ Unfortunately, this feature does not seem to work under all circumstances.
 
 <H1><A NAME="SEC69" HREF="cln.html#TOC69">12. Customizing</A></H1>
 <P>
-<A NAME="IDX326"></A>
+<A NAME="IDX327"></A>
 
 
 
@@ -4757,7 +4758,7 @@ void cl_abort (void);
 </PRE>
 
 <P>
-<A NAME="IDX327"></A>
+<A NAME="IDX328"></A>
 This function must not return control to its caller.
 
 
@@ -4765,7 +4766,7 @@ This function must not return control to its caller.
 
 <H2><A NAME="SEC71" HREF="cln.html#TOC71">12.2 Floating-point underflow</A></H2>
 <P>
-<A NAME="IDX328"></A>
+<A NAME="IDX329"></A>
 
 
 <P>
@@ -4791,7 +4792,7 @@ will be generated instead.  The default value of
 <P>
 The output of the function <CODE>fprint</CODE> may be customized by changing the
 value of the global variable <CODE>cl_default_print_flags</CODE>.
-<A NAME="IDX329"></A>
+<A NAME="IDX330"></A>
 
 
 
@@ -4815,8 +4816,8 @@ void (*cl_free_hook) (void* ptr)      = ...;
 </PRE>
 
 <P>
-<A NAME="IDX330"></A>
 <A NAME="IDX331"></A>
+<A NAME="IDX332"></A>
 The <CODE>cl_malloc_hook</CODE> function must not return a <CODE>NULL</CODE> pointer.
 
 
@@ -4836,7 +4837,7 @@ Jump to:
 
 
 <P><HR><P>
-This document was generated on 5 May 2000 using
+This document was generated on 19 May 2000 using
 <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
 </BODY>
 </HTML>
index 0729cfe14ba194a79d4c838246fa26483ef28af8..a2d8f6f83f3e9c104e1ed974f593864c153da970 100644 (file)
@@ -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.
index 1fd35836b52aeadb5cffc3e4102dcc8dc070734e..dd391337d0f7c0cb3f6b099b7cdfdfcd5887536c 100644 (file)
@@ -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
index 3bbb9ae94c2819fbabc208f713c50c27d6c87c67..43218ad88b835cd5a6fd49afce31ffef4839e274 100644 (file)
@@ -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 ()}
index c846a630be7e5c6d8c238adf409db1b691b9cbac..fcb6173bf8ef9d9b70c0ab99ea1269c0f28d3ead 100644 (file)
@@ -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 ()}
index 918f0d97408338e965af839597c61a841909f601..187cdbde375eb09dd2ffac400b8151c87c69dc1c 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 1. Introduction</TITLE>
 </HEAD>
index 677b915c9e7a37255790245f7748eac385dee40f..8c37d04aa11bd087dc301cb201b5182dabaf1b34 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 10. Internals</TITLE>
 </HEAD>
@@ -15,7 +15,7 @@ Go to the <A HREF="cln_1.html">first</A>, <A HREF="cln_9.html">previous</A>, <A
 
 <H2><A NAME="SEC60" HREF="cln_toc.html#TOC60">10.1 Why C++ ?</A></H2>
 <P>
-<A NAME="IDX313"></A>
+<A NAME="IDX314"></A>
 
 
 <P>
@@ -30,7 +30,7 @@ Efficiency: It compiles to machine code.
 
 <LI>
 
-<A NAME="IDX314"></A>
+<A NAME="IDX315"></A>
 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 <CODE>x+0</CODE> returns <CODE>x</CODE> withou
 it.
 <LI>
 
-<A NAME="IDX315"></A>
 <A NAME="IDX316"></A>
+<A NAME="IDX317"></A>
 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
-<A NAME="IDX317"></A>
+<A NAME="IDX318"></A>
 multiplication, which is an asymptotically optimal multiplication 
 algorithm.
 <LI>
@@ -135,7 +135,7 @@ of division and radix conversion.
 
 <H2><A NAME="SEC63" HREF="cln_toc.html#TOC63">10.4 Garbage collection</A></H2>
 <P>
-<A NAME="IDX318"></A>
+<A NAME="IDX319"></A>
 
 
 <P>
index 59bcaa8ac0374d68f5113bfcecb1ad5283ea154e..209601857f207dcc779be3315dd662b508598c64 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 11. Using the library</TITLE>
 </HEAD>
@@ -23,7 +23,7 @@ environment variables, or directly substitute the appropriate values.
 
 <H2><A NAME="SEC65" HREF="cln_toc.html#TOC65">11.1 Compiler options</A></H2>
 <P>
-<A NAME="IDX319"></A>
+<A NAME="IDX320"></A>
 
 
 <P>
@@ -62,8 +62,8 @@ linking a CLN application it is sufficient to give the flag <CODE>-lcln</CODE>.
 
 <H2><A NAME="SEC66" HREF="cln_toc.html#TOC66">11.2 Include files</A></H2>
 <P>
-<A NAME="IDX320"></A>
 <A NAME="IDX321"></A>
+<A NAME="IDX322"></A>
 
 
 <P>
@@ -260,7 +260,7 @@ Includes all of the above.
 
 <P>
 A function which computes the nth Fibonacci number can be written as follows.
-<A NAME="IDX322"></A>
+<A NAME="IDX323"></A>
 
 
 
@@ -346,7 +346,7 @@ contains this implementation together with an even faster algorithm.
 
 <H2><A NAME="SEC68" HREF="cln_toc.html#TOC68">11.4 Debugging support</A></H2>
 <P>
-<A NAME="IDX323"></A>
+<A NAME="IDX324"></A>
 
 
 <P>
@@ -380,7 +380,7 @@ CLN offers a function <CODE>cl_print</CODE>, callable from the debugger,
 for printing number objects. In order to get this function, you have
 to define the macro <SAMP>`CL_DEBUG'</SAMP> and then include all the header files
 for which you want <CODE>cl_print</CODE> debugging support. For example:
-<A NAME="IDX324"></A>
+<A NAME="IDX325"></A>
 
 <PRE>
 #define CL_DEBUG
@@ -407,7 +407,7 @@ only with number objects and similar. Therefore CLN offers a member function
 <CODE>debug_print()</CODE> on all CLN types. The same macro <SAMP>`CL_DEBUG'</SAMP>
 is needed for this member function to be implemented. Under <CODE>gdb</CODE>,
 you call it like this:
-<A NAME="IDX325"></A>
+<A NAME="IDX326"></A>
 
 <PRE>
 (gdb) print s
index 6b80c8ca51d441bdc764defea1ad2e95daae01a4..848b2718599815e30027a8b4f85152ebf08f5dc3 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 12. Customizing</TITLE>
 </HEAD>
@@ -11,7 +11,7 @@ Go to the <A HREF="cln_1.html">first</A>, <A HREF="cln_11.html">previous</A>, <A
 
 <H1><A NAME="SEC69" HREF="cln_toc.html#TOC69">12. Customizing</A></H1>
 <P>
-<A NAME="IDX326"></A>
+<A NAME="IDX327"></A>
 
 
 
@@ -31,7 +31,7 @@ void cl_abort (void);
 </PRE>
 
 <P>
-<A NAME="IDX327"></A>
+<A NAME="IDX328"></A>
 This function must not return control to its caller.
 
 
@@ -39,7 +39,7 @@ This function must not return control to its caller.
 
 <H2><A NAME="SEC71" HREF="cln_toc.html#TOC71">12.2 Floating-point underflow</A></H2>
 <P>
-<A NAME="IDX328"></A>
+<A NAME="IDX329"></A>
 
 
 <P>
@@ -65,7 +65,7 @@ will be generated instead.  The default value of
 <P>
 The output of the function <CODE>fprint</CODE> may be customized by changing the
 value of the global variable <CODE>cl_default_print_flags</CODE>.
-<A NAME="IDX329"></A>
+<A NAME="IDX330"></A>
 
 
 
@@ -89,8 +89,8 @@ void (*cl_free_hook) (void* ptr)      = ...;
 </PRE>
 
 <P>
-<A NAME="IDX330"></A>
 <A NAME="IDX331"></A>
+<A NAME="IDX332"></A>
 The <CODE>cl_malloc_hook</CODE> function must not return a <CODE>NULL</CODE> pointer.
 
 
index 0bb9712dc85b1606bf236df14214c77f472a4245..84e9e53b4fead66be0552eb455cae9e633b6556c 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - Index</TITLE>
 </HEAD>
index 86b3375d58757b5aea3764261fdde54e237a14dd..0c31828090ac6ab2ef9ced8b8d2c124a6a64d7e9 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 2. Installation</TITLE>
 </HEAD>
index 5a60729628c88693cd9f67387c9e6f228412b1e2..d8d78a70501213db5541bee7d4a6894697010e23 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 3. Ordinary number types</TITLE>
 </HEAD>
index 183858ef89300e4e1e4ec87ca64d2939e14d6b4e..0c480a211f8ab856402aca6079c214de84f06e5f 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 4. Functions on numbers</TITLE>
 </HEAD>
index 32c6e799c7a85f29bc83443972393d2285c3a1d0..e7ea55c21ca26325bb05ba5c8eddbaf976e6abf8 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 5. Input/Output</TITLE>
 </HEAD>
index e75c4a40033a915888785b0bbfddf9ed2d05ed41..2250bb1329931d550344f3ae80552a129d481541 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 6. Rings</TITLE>
 </HEAD>
@@ -103,6 +103,7 @@ Type tests can be performed for any of <CODE>cl_C_ring</CODE>, <CODE>cl_R_ring</
 
 <DT><CODE>cl_boolean instanceof (const cl_number&#38; x, const cl_number_ring&#38; R)</CODE>
 <DD>
+<A NAME="IDX240"></A>
 Tests whether the given number is an element of the number ring R.
 </DL>
 
index b67dd03ed075b9ed2a827e553f07f25f18d6910b..4552b9f1a417fd01cc82355b75de8d303f02903e 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 7. Modular integers</TITLE>
 </HEAD>
@@ -11,14 +11,14 @@ Go to the <A HREF="cln_1.html">first</A>, <A HREF="cln_6.html">previous</A>, <A
 
 <H1><A NAME="SEC49" HREF="cln_toc.html#TOC49">7. Modular integers</A></H1>
 <P>
-<A NAME="IDX240"></A>
+<A NAME="IDX241"></A>
 
 
 
 
 <H2><A NAME="SEC50" HREF="cln_toc.html#TOC50">7.1 Modular integer rings</A></H2>
 <P>
-<A NAME="IDX241"></A>
+<A NAME="IDX242"></A>
 
 
 <P>
@@ -47,7 +47,7 @@ The class of modular integer rings is
 </PRE>
 
 <P>
-<A NAME="IDX242"></A>
+<A NAME="IDX243"></A>
 
 
 <P>
@@ -69,11 +69,11 @@ Modular integer rings are constructed using the function
 
 <DT><CODE>cl_modint_ring cl_find_modint_ring (const cl_I&#38; N)</CODE>
 <DD>
-<A NAME="IDX243"></A>
+<A NAME="IDX244"></A>
 This function returns the modular ring <SAMP>`Z/NZ'</SAMP>. It takes care
 of finding out about special cases of <CODE>N</CODE>, like powers of two
 and odd numbers for which Montgomery multiplication will be a win,
-<A NAME="IDX244"></A>
+<A NAME="IDX245"></A>
 and precomputes any necessary auxiliary data for computing modulo <CODE>N</CODE>.
 There is a cache table of rings, indexed by <CODE>N</CODE> (or, more precisely,
 by <CODE>abs(N)</CODE>). This ensures that the precomputation costs are reduced
@@ -88,10 +88,10 @@ Modular integer rings can be compared for equality:
 
 <DT><CODE>bool operator== (const cl_modint_ring&#38;, const cl_modint_ring&#38;)</CODE>
 <DD>
-<A NAME="IDX245"></A>
+<A NAME="IDX246"></A>
 <DT><CODE>bool operator!= (const cl_modint_ring&#38;, const cl_modint_ring&#38;)</CODE>
 <DD>
-<A NAME="IDX246"></A>
+<A NAME="IDX247"></A>
 These compare two modular integer rings for equality. Two different calls
 to <CODE>cl_find_modint_ring</CODE> 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 <CODE>R</CODE>, the following members can be used.
 
 <DT><CODE>cl_I R-&#62;modulus</CODE>
 <DD>
-<A NAME="IDX247"></A>
+<A NAME="IDX248"></A>
 This is the ring's modulus, normalized to be nonnegative: <CODE>abs(N)</CODE>.
 
 <DT><CODE>cl_MI R-&#62;zero()</CODE>
 <DD>
-<A NAME="IDX248"></A>
+<A NAME="IDX249"></A>
 This returns <CODE>0 mod N</CODE>.
 
 <DT><CODE>cl_MI R-&#62;one()</CODE>
 <DD>
-<A NAME="IDX249"></A>
+<A NAME="IDX250"></A>
 This returns <CODE>1 mod N</CODE>.
 
 <DT><CODE>cl_MI R-&#62;canonhom (const cl_I&#38; x)</CODE>
 <DD>
-<A NAME="IDX250"></A>
+<A NAME="IDX251"></A>
 This returns <CODE>x mod N</CODE>.
 
 <DT><CODE>cl_I R-&#62;retract (const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX251"></A>
+<A NAME="IDX252"></A>
 This is a partial inverse function to <CODE>R-&#62;canonhom</CODE>. It returns the
 standard representative (<CODE>&#62;=0</CODE>, <CODE>&#60;N</CODE>) of <CODE>x</CODE>.
 
@@ -137,7 +137,7 @@ standard representative (<CODE>&#62;=0</CODE>, <CODE>&#60;N</CODE>) of <CODE>x</
 <DD>
 <DT><CODE>cl_MI R-&#62;random()</CODE>
 <DD>
-<A NAME="IDX252"></A>
+<A NAME="IDX253"></A>
 This returns a random integer modulo <CODE>N</CODE>.
 </DL>
 
@@ -149,20 +149,20 @@ The following operations are defined on modular integers.
 
 <DT><CODE>cl_modint_ring x.ring ()</CODE>
 <DD>
-<A NAME="IDX253"></A>
+<A NAME="IDX254"></A>
 Returns the ring to which the modular integer <CODE>x</CODE> belongs.
 
 <DT><CODE>cl_MI operator+ (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX254"></A>
-Returns the sum of two modular integers. One of the arguments may also be
-a plain integer.
+<A NAME="IDX255"></A>
+Returns the sum of two modular integers. One of the arguments may also
+be a plain integer.
 
 <DT><CODE>cl_MI operator- (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX255"></A>
-Returns the difference of two modular integers. One of the arguments may also be
-a plain integer.
+<A NAME="IDX256"></A>
+Returns the difference of two modular integers. One of the arguments may also
+be a plain integer.
 
 <DT><CODE>cl_MI operator- (const cl_MI&#38;)</CODE>
 <DD>
@@ -170,61 +170,61 @@ Returns the negative of a modular integer.
 
 <DT><CODE>cl_MI operator* (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX256"></A>
-Returns the product of two modular integers. One of the arguments may also be
-a plain integer.
+<A NAME="IDX257"></A>
+Returns the product of two modular integers. One of the arguments may also
+be a plain integer.
 
 <DT><CODE>cl_MI square (const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX257"></A>
+<A NAME="IDX258"></A>
 Returns the square of a modular integer.
 
 <DT><CODE>cl_MI recip (const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX258"></A>
+<A NAME="IDX259"></A>
 Returns the reciprocal <CODE>x^-1</CODE> of a modular integer <CODE>x</CODE>. <CODE>x</CODE>
 must be coprime to the modulus, otherwise an error message is issued.
 
 <DT><CODE>cl_MI div (const cl_MI&#38; x, const cl_MI&#38; y)</CODE>
 <DD>
-<A NAME="IDX259"></A>
+<A NAME="IDX260"></A>
 Returns the quotient <CODE>x*y^-1</CODE> of two modular integers <CODE>x</CODE>, <CODE>y</CODE>.
 <CODE>y</CODE> must be coprime to the modulus, otherwise an error message is issued.
 
 <DT><CODE>cl_MI expt_pos (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX260"></A>
+<A NAME="IDX261"></A>
 <CODE>y</CODE> must be &#62; 0. Returns <CODE>x^y</CODE>.
 
 <DT><CODE>cl_MI expt (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX261"></A>
+<A NAME="IDX262"></A>
 Returns <CODE>x^y</CODE>. If <CODE>y</CODE> is negative, <CODE>x</CODE> must be coprime to the
 modulus, else an error message is issued.
 
 <DT><CODE>cl_MI operator&#60;&#60; (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX262"></A>
+<A NAME="IDX263"></A>
 Returns <CODE>x*2^y</CODE>.
 
 <DT><CODE>cl_MI operator&#62;&#62; (const cl_MI&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX263"></A>
+<A NAME="IDX264"></A>
 Returns <CODE>x*2^-y</CODE>. When <CODE>y</CODE> is positive, the modulus must be odd,
 or an error message is issued.
 
 <DT><CODE>bool operator== (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX264"></A>
+<A NAME="IDX265"></A>
 <DT><CODE>bool operator!= (const cl_MI&#38;, const cl_MI&#38;)</CODE>
 <DD>
-<A NAME="IDX265"></A>
+<A NAME="IDX266"></A>
 Compares two modular integers, belonging to the same modular integer ring,
 for equality.
 
 <DT><CODE>cl_boolean zerop (const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX266"></A>
+<A NAME="IDX267"></A>
 Returns true if <CODE>x</CODE> is <CODE>0 mod N</CODE>.
 </DL>
 
@@ -237,10 +237,10 @@ input/output).
 
 <DT><CODE>void fprint (cl_ostream stream, const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX267"></A>
+<A NAME="IDX268"></A>
 <DT><CODE>cl_ostream operator&#60;&#60; (cl_ostream stream, const cl_MI&#38; x)</CODE>
 <DD>
-<A NAME="IDX268"></A>
+<A NAME="IDX269"></A>
 Prints the modular integer <CODE>x</CODE> on the <CODE>stream</CODE>. The output may depend
 on the global printer settings in the variable <CODE>cl_default_print_flags</CODE>.
 </DL>
index c46c22371f1879d466d8a24592dacf63158739f3..a4acade0aa50f8f3104cd6a78fdb95500eea9268 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 8. Symbolic data types</TITLE>
 </HEAD>
@@ -11,7 +11,7 @@ Go to the <A HREF="cln_1.html">first</A>, <A HREF="cln_7.html">previous</A>, <A
 
 <H1><A NAME="SEC52" HREF="cln_toc.html#TOC52">8. Symbolic data types</A></H1>
 <P>
-<A NAME="IDX269"></A>
+<A NAME="IDX270"></A>
 
 
 <P>
@@ -22,7 +22,7 @@ CLN implements two symbolic (non-numeric) data types: strings and symbols.
 
 <H2><A NAME="SEC53" HREF="cln_toc.html#TOC53">8.1 Strings</A></H2>
 <P>
-<A NAME="IDX270"></A>
+<A NAME="IDX271"></A>
 
 
 <P>
@@ -48,7 +48,7 @@ Strings are constructed through the following constructors:
 
 <DT><CODE>cl_string (const char * s)</CODE>
 <DD>
-<A NAME="IDX271"></A>
+<A NAME="IDX272"></A>
 Returns an immutable copy of the (zero-terminated) C string <CODE>s</CODE>.
 
 <DT><CODE>cl_string (const char * ptr, unsigned long len)</CODE>
@@ -69,21 +69,21 @@ Assignment from <CODE>cl_string</CODE> and <CODE>const char *</CODE>.
 
 <DT><CODE>s.length()</CODE>
 <DD>
-<A NAME="IDX272"></A>
+<A NAME="IDX273"></A>
 <DT><CODE>strlen(s)</CODE>
 <DD>
-<A NAME="IDX273"></A>
+<A NAME="IDX274"></A>
 Returns the length of the string <CODE>s</CODE>.
 
 <DT><CODE>s[i]</CODE>
 <DD>
-<A NAME="IDX274"></A>
+<A NAME="IDX275"></A>
 Returns the <CODE>i</CODE>th character of the string <CODE>s</CODE>.
 <CODE>i</CODE> must be in the range <CODE>0 &#60;= i &#60; s.length()</CODE>.
 
 <DT><CODE>bool equal (const cl_string&#38; s1, const cl_string&#38; s2)</CODE>
 <DD>
-<A NAME="IDX275"></A>
+<A NAME="IDX276"></A>
 Compares two strings for equality. One of the arguments may also be a
 plain <CODE>const char *</CODE>.
 </DL>
@@ -92,7 +92,7 @@ plain <CODE>const char *</CODE>.
 
 <H2><A NAME="SEC54" HREF="cln_toc.html#TOC54">8.2 Symbols</A></H2>
 <P>
-<A NAME="IDX276"></A>
+<A NAME="IDX277"></A>
 
 
 <P>
@@ -112,7 +112,7 @@ Symbols are constructed through the following constructor:
 
 <DT><CODE>cl_symbol (const cl_string&#38; s)</CODE>
 <DD>
-<A NAME="IDX277"></A>
+<A NAME="IDX278"></A>
 Looks up or creates a new symbol with a given name.
 </DL>
 
@@ -129,7 +129,7 @@ Conversion to <CODE>cl_string</CODE>: Returns the string which names the symbol
 
 <DT><CODE>bool equal (const cl_symbol&#38; sym1, const cl_symbol&#38; sym2)</CODE>
 <DD>
-<A NAME="IDX278"></A>
+<A NAME="IDX279"></A>
 Compares two symbols for equality. This is very fast.
 </DL>
 
index f11c049aa8113eda603722f25dd5592a361c8308..fc3b6325cee6cb39c5f71719a18698c8386e6b40 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - 9. Univariate polynomials</TITLE>
 </HEAD>
@@ -11,8 +11,8 @@ Go to the <A HREF="cln_1.html">first</A>, <A HREF="cln_8.html">previous</A>, <A
 
 <H1><A NAME="SEC55" HREF="cln_toc.html#TOC55">9. Univariate polynomials</A></H1>
 <P>
-<A NAME="IDX279"></A>
 <A NAME="IDX280"></A>
+<A NAME="IDX281"></A>
 
 
 
@@ -125,7 +125,7 @@ return the same polynomial ring.
 
 <DT><CODE>cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring&#38; R)</CODE>
 <DD>
-<A NAME="IDX281"></A>
+<A NAME="IDX282"></A>
 <DT><CODE>cl_univpoly_complex_ring cl_find_univpoly_ring (const cl_complex_ring&#38; R, const cl_symbol&#38; varname)</CODE>
 <DD>
 <DT><CODE>cl_univpoly_real_ring cl_find_univpoly_ring (const cl_real_ring&#38; R)</CODE>
@@ -160,33 +160,33 @@ Given a univariate polynomial ring <CODE>R</CODE>, the following members can be
 
 <DT><CODE>cl_ring R-&#62;basering()</CODE>
 <DD>
-<A NAME="IDX282"></A>
+<A NAME="IDX283"></A>
 This returns the base ring, as passed to <SAMP>`cl_find_univpoly_ring'</SAMP>.
 
 <DT><CODE>cl_UP R-&#62;zero()</CODE>
 <DD>
-<A NAME="IDX283"></A>
+<A NAME="IDX284"></A>
 This returns <CODE>0 in R</CODE>, a polynomial of degree -1.
 
 <DT><CODE>cl_UP R-&#62;one()</CODE>
 <DD>
-<A NAME="IDX284"></A>
+<A NAME="IDX285"></A>
 This returns <CODE>1 in R</CODE>, a polynomial of degree &#60;= 0.
 
 <DT><CODE>cl_UP R-&#62;canonhom (const cl_I&#38; x)</CODE>
 <DD>
-<A NAME="IDX285"></A>
+<A NAME="IDX286"></A>
 This returns <CODE>x in R</CODE>, a polynomial of degree &#60;= 0.
 
 <DT><CODE>cl_UP R-&#62;monomial (const cl_ring_element&#38; x, uintL e)</CODE>
 <DD>
-<A NAME="IDX286"></A>
+<A NAME="IDX287"></A>
 This returns a sparse polynomial: <CODE>x * X^e</CODE>, where <CODE>X</CODE> is the
 indeterminate.
 
 <DT><CODE>cl_UP R-&#62;create (sintL degree)</CODE>
 <DD>
-<A NAME="IDX287"></A>
+<A NAME="IDX288"></A>
 Creates a new polynomial with a given degree. The zero polynomial has degree
 <CODE>-1</CODE>. After creating the polynomial, you should put in the coefficients,
 using the <CODE>set_coeff</CODE> member function, and then call the <CODE>finalize</CODE>
@@ -201,14 +201,14 @@ The following are the only destructive operations on univariate polynomials.
 
 <DT><CODE>void set_coeff (cl_UP&#38; x, uintL index, const cl_ring_element&#38; y)</CODE>
 <DD>
-<A NAME="IDX288"></A>
+<A NAME="IDX289"></A>
 This changes the coefficient of <CODE>X^index</CODE> in <CODE>x</CODE> to be <CODE>y</CODE>.
 After changing a polynomial and before applying any "normal" operation on it,
 you should call its <CODE>finalize</CODE> member function.
 
 <DT><CODE>void finalize (cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX289"></A>
+<A NAME="IDX290"></A>
 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.
 
 <DT><CODE>cl_univpoly_ring x.ring ()</CODE>
 <DD>
-<A NAME="IDX290"></A>
+<A NAME="IDX291"></A>
 Returns the ring to which the univariate polynomial <CODE>x</CODE> belongs.
 
 <DT><CODE>cl_UP operator+ (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX291"></A>
+<A NAME="IDX292"></A>
 Returns the sum of two univariate polynomials.
 
 <DT><CODE>cl_UP operator- (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX292"></A>
+<A NAME="IDX293"></A>
 Returns the difference of two univariate polynomials.
 
 <DT><CODE>cl_UP operator- (const cl_UP&#38;)</CODE>
@@ -242,54 +242,54 @@ Returns the negative of a univariate polynomial.
 
 <DT><CODE>cl_UP operator* (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX293"></A>
+<A NAME="IDX294"></A>
 Returns the product of two univariate polynomials. One of the arguments may
 also be a plain integer or an element of the base ring.
 
 <DT><CODE>cl_UP square (const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX294"></A>
+<A NAME="IDX295"></A>
 Returns the square of a univariate polynomial.
 
 <DT><CODE>cl_UP expt_pos (const cl_UP&#38; x, const cl_I&#38; y)</CODE>
 <DD>
-<A NAME="IDX295"></A>
+<A NAME="IDX296"></A>
 <CODE>y</CODE> must be &#62; 0. Returns <CODE>x^y</CODE>.
 
 <DT><CODE>bool operator== (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX296"></A>
+<A NAME="IDX297"></A>
 <DT><CODE>bool operator!= (const cl_UP&#38;, const cl_UP&#38;)</CODE>
 <DD>
-<A NAME="IDX297"></A>
+<A NAME="IDX298"></A>
 Compares two univariate polynomials, belonging to the same univariate
 polynomial ring, for equality.
 
 <DT><CODE>cl_boolean zerop (const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX298"></A>
+<A NAME="IDX299"></A>
 Returns true if <CODE>x</CODE> is <CODE>0 in R</CODE>.
 
 <DT><CODE>sintL degree (const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX299"></A>
+<A NAME="IDX300"></A>
 Returns the degree of the polynomial. The zero polynomial has degree <CODE>-1</CODE>.
 
 <DT><CODE>cl_ring_element coeff (const cl_UP&#38; x, uintL index)</CODE>
 <DD>
-<A NAME="IDX300"></A>
+<A NAME="IDX301"></A>
 Returns the coefficient of <CODE>X^index</CODE> in the polynomial <CODE>x</CODE>.
 
 <DT><CODE>cl_ring_element x (const cl_ring_element&#38; y)</CODE>
 <DD>
-<A NAME="IDX301"></A>
+<A NAME="IDX302"></A>
 Evaluation: If <CODE>x</CODE> is a polynomial and <CODE>y</CODE> belongs to the base ring,
 then <SAMP>`x(y)'</SAMP> returns the value of the substitution of <CODE>y</CODE> into
 <CODE>x</CODE>.
 
 <DT><CODE>cl_UP deriv (const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX302"></A>
+<A NAME="IDX303"></A>
 Returns the derivative of the polynomial <CODE>x</CODE> with respect to the
 indeterminate <CODE>X</CODE>.
 </DL>
@@ -303,10 +303,10 @@ input/output).
 
 <DT><CODE>void fprint (cl_ostream stream, const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX303"></A>
+<A NAME="IDX304"></A>
 <DT><CODE>cl_ostream operator&#60;&#60; (cl_ostream stream, const cl_UP&#38; x)</CODE>
 <DD>
-<A NAME="IDX304"></A>
+<A NAME="IDX305"></A>
 Prints the univariate polynomial <CODE>x</CODE> on the <CODE>stream</CODE>. The output may
 depend on the global printer settings in the variable
 <CODE>cl_default_print_flags</CODE>.
@@ -324,26 +324,26 @@ The following functions return special polynomials.
 
 <DT><CODE>cl_UP_I cl_tschebychev (sintL n)</CODE>
 <DD>
-<A NAME="IDX305"></A>
 <A NAME="IDX306"></A>
+<A NAME="IDX307"></A>
 Returns the n-th Tchebychev polynomial (n &#62;= 0).
 
 <DT><CODE>cl_UP_I cl_hermite (sintL n)</CODE>
 <DD>
-<A NAME="IDX307"></A>
 <A NAME="IDX308"></A>
+<A NAME="IDX309"></A>
 Returns the n-th Hermite polynomial (n &#62;= 0).
 
 <DT><CODE>cl_UP_RA cl_legendre (sintL n)</CODE>
 <DD>
-<A NAME="IDX309"></A>
 <A NAME="IDX310"></A>
+<A NAME="IDX311"></A>
 Returns the n-th Legendre polynomial (n &#62;= 0).
 
 <DT><CODE>cl_UP_I cl_laguerre (sintL n)</CODE>
 <DD>
-<A NAME="IDX311"></A>
 <A NAME="IDX312"></A>
+<A NAME="IDX313"></A>
 Returns the n-th Laguerre polynomial (n &#62;= 0).
 </DL>
 
index 73d2e87cc301c99d2d836dd4d71f21258c7b0308..fc5300b8b2ce24c68bc82f1c5e88d9b7126c0132 100644 (file)
@@ -1,6 +1,6 @@
 <HTML>
 <HEAD>
-<!-- Created by texi2html 1.56k from cln.texi on 5 May 2000 -->
+<!-- Created by texi2html 1.56k from cln.texi on 19 May 2000 -->
 
 <TITLE>CLN, a Class Library for Numbers - Table of Contents</TITLE>
 </HEAD>
 <LI><A NAME="TOC74" HREF="cln_13.html#SEC74">Index</A>
 </UL>
 <P><HR><P>
-This document was generated on 5 May 2000 using
+This document was generated on 19 May 2000 using
 <A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
 </BODY>
 </HTML>