From 2d6362ebe20bce43bb9a391e018c4d25bb722b35 Mon Sep 17 00:00:00 2001 From: Richard Kreckel <kreckel@ginac.de> 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{*Y<hM%;gqL dEgQCr?_t(9X4<Q{-Q_*=8Ai?zbxilc003HFS`z>O 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<QdfZh diff --git a/doc/cln.html b/doc/cln.html index 68af2b7..ebb2da6 100644 --- a/doc/cln.html +++ b/doc/cln.html @@ -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& x, const cl_number_ring& 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& 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&, const cl_modint_ring&)</CODE> <DD> -<A NAME="IDX245"></A> +<A NAME="IDX246"></A> <DT><CODE>bool operator!= (const cl_modint_ring&, const cl_modint_ring&)</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->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->zero()</CODE> <DD> -<A NAME="IDX248"></A> +<A NAME="IDX249"></A> This returns <CODE>0 mod N</CODE>. <DT><CODE>cl_MI R->one()</CODE> <DD> -<A NAME="IDX249"></A> +<A NAME="IDX250"></A> This returns <CODE>1 mod N</CODE>. <DT><CODE>cl_MI R->canonhom (const cl_I& x)</CODE> <DD> -<A NAME="IDX250"></A> +<A NAME="IDX251"></A> This returns <CODE>x mod N</CODE>. <DT><CODE>cl_I R->retract (const cl_MI& x)</CODE> <DD> -<A NAME="IDX251"></A> +<A NAME="IDX252"></A> This is a partial inverse function to <CODE>R->canonhom</CODE>. It returns the standard representative (<CODE>>=0</CODE>, <CODE><N</CODE>) of <CODE>x</CODE>. @@ -3585,7 +3586,7 @@ standard representative (<CODE>>=0</CODE>, <CODE><N</CODE>) of <CODE>x</ <DD> <DT><CODE>cl_MI R->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&, const cl_MI&)</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&, const cl_MI&)</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&)</CODE> <DD> @@ -3618,61 +3619,61 @@ Returns the negative of a modular integer. <DT><CODE>cl_MI operator* (const cl_MI&, const cl_MI&)</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&)</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& 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& x, const cl_MI& 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& x, const cl_I& y)</CODE> <DD> -<A NAME="IDX260"></A> +<A NAME="IDX261"></A> <CODE>y</CODE> must be > 0. Returns <CODE>x^y</CODE>. <DT><CODE>cl_MI expt (const cl_MI& x, const cl_I& 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<< (const cl_MI& x, const cl_I& y)</CODE> <DD> -<A NAME="IDX262"></A> +<A NAME="IDX263"></A> Returns <CODE>x*2^y</CODE>. <DT><CODE>cl_MI operator>> (const cl_MI& x, const cl_I& 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&, const cl_MI&)</CODE> <DD> -<A NAME="IDX264"></A> +<A NAME="IDX265"></A> <DT><CODE>bool operator!= (const cl_MI&, const cl_MI&)</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& 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& x)</CODE> <DD> -<A NAME="IDX267"></A> +<A NAME="IDX268"></A> <DT><CODE>cl_ostream operator<< (cl_ostream stream, const cl_MI& 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 <= i < s.length()</CODE>. <DT><CODE>bool equal (const cl_string& s1, const cl_string& 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& 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& sym1, const cl_symbol& 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& 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& R, const cl_symbol& varname)</CODE> <DD> <DT><CODE>cl_univpoly_real_ring cl_find_univpoly_ring (const cl_real_ring& R)</CODE> @@ -3972,33 +3973,33 @@ Given a univariate polynomial ring <CODE>R</CODE>, the following members can be <DT><CODE>cl_ring R->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->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->one()</CODE> <DD> -<A NAME="IDX284"></A> +<A NAME="IDX285"></A> This returns <CODE>1 in R</CODE>, a polynomial of degree <= 0. <DT><CODE>cl_UP R->canonhom (const cl_I& x)</CODE> <DD> -<A NAME="IDX285"></A> +<A NAME="IDX286"></A> This returns <CODE>x in R</CODE>, a polynomial of degree <= 0. <DT><CODE>cl_UP R->monomial (const cl_ring_element& 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->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& x, uintL index, const cl_ring_element& 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& 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&, const cl_UP&)</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&, const cl_UP&)</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&)</CODE> @@ -4054,54 +4055,54 @@ Returns the negative of a univariate polynomial. <DT><CODE>cl_UP operator* (const cl_UP&, const cl_UP&)</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&)</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& x, const cl_I& y)</CODE> <DD> -<A NAME="IDX295"></A> +<A NAME="IDX296"></A> <CODE>y</CODE> must be > 0. Returns <CODE>x^y</CODE>. <DT><CODE>bool operator== (const cl_UP&, const cl_UP&)</CODE> <DD> -<A NAME="IDX296"></A> +<A NAME="IDX297"></A> <DT><CODE>bool operator!= (const cl_UP&, const cl_UP&)</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& 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& 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& 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& 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& 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& x)</CODE> <DD> -<A NAME="IDX303"></A> +<A NAME="IDX304"></A> <DT><CODE>cl_ostream operator<< (cl_ostream stream, const cl_UP& 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 >= 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 >= 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 >= 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 >= 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> 1.56k. </BODY> </HTML> 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 @@ <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> 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 @@ <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> 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 @@ <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 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 @@ <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. 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 @@ <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> 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 @@ <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> 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 @@ <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> 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 @@ <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> 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 @@ <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> 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 @@ <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& x, const cl_number_ring& R)</CODE> <DD> +<A NAME="IDX240"></A> Tests whether the given number is an element of the number ring R. </DL> 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 @@ <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& 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&, const cl_modint_ring&)</CODE> <DD> -<A NAME="IDX245"></A> +<A NAME="IDX246"></A> <DT><CODE>bool operator!= (const cl_modint_ring&, const cl_modint_ring&)</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->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->zero()</CODE> <DD> -<A NAME="IDX248"></A> +<A NAME="IDX249"></A> This returns <CODE>0 mod N</CODE>. <DT><CODE>cl_MI R->one()</CODE> <DD> -<A NAME="IDX249"></A> +<A NAME="IDX250"></A> This returns <CODE>1 mod N</CODE>. <DT><CODE>cl_MI R->canonhom (const cl_I& x)</CODE> <DD> -<A NAME="IDX250"></A> +<A NAME="IDX251"></A> This returns <CODE>x mod N</CODE>. <DT><CODE>cl_I R->retract (const cl_MI& x)</CODE> <DD> -<A NAME="IDX251"></A> +<A NAME="IDX252"></A> This is a partial inverse function to <CODE>R->canonhom</CODE>. It returns the standard representative (<CODE>>=0</CODE>, <CODE><N</CODE>) of <CODE>x</CODE>. @@ -137,7 +137,7 @@ standard representative (<CODE>>=0</CODE>, <CODE><N</CODE>) of <CODE>x</ <DD> <DT><CODE>cl_MI R->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&, const cl_MI&)</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&, const cl_MI&)</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&)</CODE> <DD> @@ -170,61 +170,61 @@ Returns the negative of a modular integer. <DT><CODE>cl_MI operator* (const cl_MI&, const cl_MI&)</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&)</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& 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& x, const cl_MI& 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& x, const cl_I& y)</CODE> <DD> -<A NAME="IDX260"></A> +<A NAME="IDX261"></A> <CODE>y</CODE> must be > 0. Returns <CODE>x^y</CODE>. <DT><CODE>cl_MI expt (const cl_MI& x, const cl_I& 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<< (const cl_MI& x, const cl_I& y)</CODE> <DD> -<A NAME="IDX262"></A> +<A NAME="IDX263"></A> Returns <CODE>x*2^y</CODE>. <DT><CODE>cl_MI operator>> (const cl_MI& x, const cl_I& 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&, const cl_MI&)</CODE> <DD> -<A NAME="IDX264"></A> +<A NAME="IDX265"></A> <DT><CODE>bool operator!= (const cl_MI&, const cl_MI&)</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& 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& x)</CODE> <DD> -<A NAME="IDX267"></A> +<A NAME="IDX268"></A> <DT><CODE>cl_ostream operator<< (cl_ostream stream, const cl_MI& 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> 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 @@ <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 <= i < s.length()</CODE>. <DT><CODE>bool equal (const cl_string& s1, const cl_string& 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& 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& sym1, const cl_symbol& sym2)</CODE> <DD> -<A NAME="IDX278"></A> +<A NAME="IDX279"></A> Compares two symbols for equality. This is very fast. </DL> 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 @@ <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& 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& R, const cl_symbol& varname)</CODE> <DD> <DT><CODE>cl_univpoly_real_ring cl_find_univpoly_ring (const cl_real_ring& R)</CODE> @@ -160,33 +160,33 @@ Given a univariate polynomial ring <CODE>R</CODE>, the following members can be <DT><CODE>cl_ring R->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->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->one()</CODE> <DD> -<A NAME="IDX284"></A> +<A NAME="IDX285"></A> This returns <CODE>1 in R</CODE>, a polynomial of degree <= 0. <DT><CODE>cl_UP R->canonhom (const cl_I& x)</CODE> <DD> -<A NAME="IDX285"></A> +<A NAME="IDX286"></A> This returns <CODE>x in R</CODE>, a polynomial of degree <= 0. <DT><CODE>cl_UP R->monomial (const cl_ring_element& 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->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& x, uintL index, const cl_ring_element& 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& 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&, const cl_UP&)</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&, const cl_UP&)</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&)</CODE> @@ -242,54 +242,54 @@ Returns the negative of a univariate polynomial. <DT><CODE>cl_UP operator* (const cl_UP&, const cl_UP&)</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&)</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& x, const cl_I& y)</CODE> <DD> -<A NAME="IDX295"></A> +<A NAME="IDX296"></A> <CODE>y</CODE> must be > 0. Returns <CODE>x^y</CODE>. <DT><CODE>bool operator== (const cl_UP&, const cl_UP&)</CODE> <DD> -<A NAME="IDX296"></A> +<A NAME="IDX297"></A> <DT><CODE>bool operator!= (const cl_UP&, const cl_UP&)</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& 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& 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& 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& 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& 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& x)</CODE> <DD> -<A NAME="IDX303"></A> +<A NAME="IDX304"></A> <DT><CODE>cl_ostream operator<< (cl_ostream stream, const cl_UP& 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 >= 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 >= 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 >= 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 >= 0). </DL> 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 @@ <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> @@ -118,7 +118,7 @@ <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> 1.56k. </BODY> </HTML>