]> www.ginac.de Git - cln.git/blob - doc/cln.ps
47e22a0048d62bcd00d89607d3c2e08d0e2e309d
[cln.git] / doc / cln.ps
1 %!PS-Adobe-2.0
2 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
3 %%Title: cln.dvi
4 %%Pages: 60
5 %%PageOrder: Ascend
6 %%BoundingBox: 0 0 596 842
7 %%EndComments
8 %DVIPSWebPage: (www.radicaleye.com)
9 %DVIPSCommandLine: /usr/local/teTeX/bin/ix86-linux-libc6/dvips -D600 -o
10 %+ cln.ps cln.dvi
11 %DVIPSParameters: dpi=600, compressed
12 %DVIPSSource:  TeX output 2000.08.28:2345
13 %%BeginProcSet: texc.pro
14 %!
15 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
16 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
17 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
18 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
19 landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
20 mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
21 matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
22 exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
23 statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
24 N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
25 /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
26 /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
27 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
28 df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
29 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
30 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
31 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
32 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
33 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
34 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
35 sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
36 rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
37 gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
38 /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
39 /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
40 A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
41 get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
42 ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
43 fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
44 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
45 chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
46 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
47 forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
48 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
49 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
50 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
51 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
52 SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
53 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
54 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
55 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
56 /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
57 /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
58 (LaserWriter 16/600)]{A length product length le{A length product exch 0
59 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
60 end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
61 grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
62 imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
63 exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
64 fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
65 delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
66 B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
67 p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
68 rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
69
70 %%EndProcSet
71 TeXDict begin 39158280 55380996 1000 600 600 (cln.dvi)
72 @start
73 %DVIPSBitmapFont: Fa cmbxti10 14.4 1
74 /Fa 1 47 df<13FCEA03FF481380121F4813C0A25AA2B5FCA31480A26C13005B6C5AEA1F
75 F0EA07C0121271912B>46 D E
76 %EndDVIPSBitmapFont
77 %DVIPSBitmapFont: Fb cmr9 9 54
78 /Fb 54 128 df<EC1FE0ECFFFC903803F01E90380FC00390391F000780013EEB0FC0017E
79 131F5BA24848EB0F80ED070092C7FCA9ED0FC0B7FCA23901F8001F150FB3A8486CEB1FE0
80 267FFFC1B5FCA228357FB42B>12 D<EC1FF891B512C0903803F00FEB0FC090381F001F13
81 3E137E49130FA2485AACB7FCA23901F8000FB3A9486CEB1FE0267FFFE3B5FCA228357FB4
82 2B>I<123C127EB4FCA21380A2127F123D1201A4EA0300A31206A35A5A5A127012200917
83 7AB315>39 D<123C127EB4FCA21380A2127F123D1201A4EA0300A31206A35A5A5A127012
84 2009177A8715>44 D<B512F0A514057F921A>I<15301578A215F815F0A2140115E0A214
85 0315C014071580A2140F1500A25C141EA2143E143CA2147C1478A214F85C13015CA21303
86 5CA213075CA2130F91C7FCA25B131EA2133E133CA2137C137813F85BA212015BA212035B
87 A212075BA2120F90C8FCA25A121E123E123CA2127C1278A212F85AA212601D4B7CB726>
88 47 D<EB0FE0EB7FFCEBF83E3903E00F803907C007C0EB8003390F0001E04814F0001E13
89 00003E14F8A3007E14FC007C147CA400FC147EB2007C147CA4007E14FC003E14F8A3001E
90 14F0001F13016C14E039078003C0EBC0073903E00F803900F83E00EB7FFCEB0FE01F347D
91 B126>I<13075B5B137FEA07FFEAFFBFEAF83F1200B3B3A4EBFFC0007FEBFF80A219327A
92 B126>I<EB3FC0EBFFF03803C07C48C67E000C7F48EB0F8048EB07C015E04814F0140312
93 FC6C14F87EA4127E123CC7FC15F0140715E0A2EC0FC0A2EC1F801500143E5C5C5C495A49
94 5A495A49C7FC130E5B4913185B5B48481330485A90C7FC00061470000FB512F05A5A4814
95 E0B6FCA21D327CB126>I<EB1FE0EBFFFC3801E03F3903000F800006EB07C04814E048EB
96 03F0121FD83F8013F8A213C01380121FEA0F00C713F0140715E0A2EC0FC01580EC1F0014
97 3EEB01F8EB7FE014FCEB003FEC1F80EC0FC0EC07E0EC03F015F8A2EC01FCA215FEA2123C
98 127EB4FCA34814FC5A0078EB03F812606C14F06CEB07E06CEB0FC00007EB1F803903E03F
99 003800FFFCEB1FE01F347DB126>I<EC01C0A214031407A2140F141FA2143F147F146F14
100 CF1301148FEB030F13071306130E131C131813381330136013E013C0EA01801203130012
101 06120E120C5A123812305A12E0B71280A2C7380FC000AA4A7E0107B51280A221337EB226
102 >I<000C14C0380FC00F90B5128015005C5C14F014C0D80C18C7FC90C8FCA9EB0FC0EB7F
103 F8EBF07C380D801E380F000F000E1480000CEB07C0A2000814E0C7EA03F0A415F8A31218
104 127C12FEA315F05A00D81307006014E0A26C14C0EC0F806CEB1F006C131E6C5B3803C0F8
105 3801FFE038003F801D347CB126>I<14FE903807FF8090380F81C090383C006049137090
106 38F001F83801E0031203EA07C0A2390F8001F0001F90C7FC90C8FC5AA35A127EEB07F0EB
107 1FFC38FE381F903860078001C013C0EC03E039FF8001F0A2010013F8140015FC5A15FEA4
108 127EA5123E003F14FCA26C14F81401D80F8013F015E03807C0030003EB07C03901E00F80
109 3900F81E00EB3FFCEB0FE01F347DB126>I<1230123C003FB6FCA215FE4814FCA215F800
110 70C7123000601460A215C048EB0180A2EC0300C71206A25C5C143814305CA214E0495AA2
111 1303A2495AA3130FA349C7FCA35BA55BA8133E131C20347CB126>I<EB0FE0EB7FFCEBF0
112 1F3901C0078039030003C00006EB01E0000EEB00F05A1578123CA4123E003F147015F0D8
113 1FC013E0EBE001390FF803C09038FE07803907FF0F006C13DC6C13F87EEB3FFC14FF01F7
114 1380D801C113C0D8038013E03907003FF0000EEB1FF8481307003CEB03FC481300157E00
115 70143E12F0151EA4151C1278153C00381438003C14306C14606C14C039078003803901F0
116 1F003800FFFCEB1FE01F347DB126>I<EB0FE0EB7FF8EBF83E3801E00F3903C007803907
117 8003C0000F14E0381F00014814F0A2007E14F8A200FE130015FCA515FEA4127E1401123E
118 123F6C1303A2380F8006EA07C00003130C3801F03839007FF0FCEB1FC090C7FCA2EC01F8
119 A315F01403001F14E0EA3F80EC07C01580EC0F00EB001E001C131C000C1378380701F038
120 03FFC0C690C7FC1F347DB126>I<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA3
121 4A6C7EA202707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D7EA201
122 0E80010C1300010FB5FC49800118C77EA24981163FA2496E7EA3496E7EA2000182160712
123 03486C81D81FF0EC1FFCD8FFFE49B512E0A233367DB53A>65 D<DA03FE130C91383FFF80
124 9139FE01E01C903A03F000783CD90FC0131C49C7EA067C013EEC03FC4914015B48481400
125 0003167C485A000F163C5B001F161CA2485AA2170C127F90C9FCA2481600AB7E170C7F12
126 3FA36C6C1518A2120F7F000716306C7E000116606C6C15C0017CEC01806D14036DEC0700
127 D90FC0130CD903F01338903900FE01F091383FFFC0DA03FEC7FC2E377CB437>67
128 D<B812C0A2D803FEC7127F6C48140FEE03E01601A21600A21760A41730A21506A21700A3
129 150EA2151E157E90B512FEA29038FC007E151E150EA21506A2170CA392C71218A41738A2
130 17301770A217F016011603160F486CEC7FE0B8FCA22E337DB234>69
131 D<B81280A2D803FEC7FC6C48141FEE07C01603A21601A21600A41760A2150CA21700A315
132 1CA2153C15FC90B5FCA2EBFC00153C151CA2150CA592C8FCAD48B4FCB512FEA22B337DB2
133 32>I<DA03FE130C91383FFF809139FE01E01C903A03F000783CD90FC0131C49C7EA067C
134 013EEC03FC4914015B484814000003167C485A000F163C5B001F161CA2485AA2170C127F
135 90C9FCA24893C7FCAA0303B512E07E92390007FE006DEC01FC123FA36C7EA2120F7F1207
136 6C7E12016C7E017C14036D157C6D1406D90FC0EB0C3CD903F0EB381C903A00FE01F00C91
137 263FFFC0C7FCDA03FEC8FC33377CB43C>I<B5D8FE03B512F8A2000190C73807FC006C48
138 6E5AB3A290B7FCA249C71203B3A5486C4A7EB5D8FE03B512F8A235337EB23A>I<B512FE
139 A2000113006C5AB3B3A9487EB512FEA217337EB21C>I<B512FEA2000390C9FCEA01FCB3
140 ABEE0180A416031700A35EA35E5E5E167EED01FE486C1307B7FCA229337DB230>76
141 D<D8FFFC923801FFF86D5D0003EFFE0000015F01BF1506A3D99F80140CA2D98FC01418A3
142 D987E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027EEB0300A36E1306A26E
143 6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037FC7FCA3486C133E487E
144 486C011C497EB592387FFFF8A23D337CB246>I<EC07FC91387FFFC0903901FC07F09039
145 07E000FCD90F80133E013FC76C7E017E6E7E496E7E48486E7E48486E7EA248486E7E000F
146 8249157E001F167FA24848ED3F80A2007F17C0A290C9121FA24817E0AB6C17C06D153FA3
147 003F17806D157FA2001F17006D5D000F5E6C6C4A5AA26C6C4A5A00015E6C6C4A5A017E4A
148 5A6D4A5AD91FC0017FC7FCD907E013FC903901FC07F09039007FFFC0DA07FCC8FC33377C
149 B43C>79 D<B612FEEDFFC03A03FE0007F86C48EB01FCED007EEE3F80161F17C017E0160F
150 17F0A717E0161F17C01780163FEE7E004B5AED07F890B612C04BC7FC01FCC9FCB3A3487E
151 B512F8A22C337DB234>I<B612FCEDFFC000019038000FF06C48EB01FCED007E82707E83
152 83160F83A65F161F5F5F4CC7FC167E4B5AED0FF090B612C093C8FC9039FE001FC0ED07E0
153 ED01F0826F7E82167E167FA583A5180CA2EE3FC0A2041F1318486CEC0FE0B500FE010713
154 30933803F060C93801FFC09338003F8036357EB239>82 D<90381FE003EB7FFC3901F01F
155 07390380038F48C712CF000E147F4880003C80A24880A200F880A3817EA27E007E91C7FC
156 127F13C0EA3FF013FF6C13F06C13FF6C14C06C80C614F8013F7F01037FEB003FEC03FF14
157 00ED3F80151F16C0150F124000C01407A47E1680A27EED0F007E6C141E6C141C00F35CD8
158 F1E013F039E0FC03E039C01FFF80D903FEC7FC22377CB42B>I<EB7F803803FFF0380F80
159 FC381C003E001F7F486C6C7E81A26C486C7E120EC7FCA4EB01FF131FEBFF873803F807EA
160 07E0EA0F80EA1F00123E127E16C05AA3140FA2007E131BA26C903871F180390FC1E1FF26
161 07FF8013003900FE003C22237DA126>97 D<EA03F012FFA212071203AFEC3F80ECFFE090
162 38F3C0F89038F7003C01FC7F497FED07804914C0ED03E0A216F01501A216F8A816F0A215
163 0316E0A2ED07C06D1480ED0F0001EC131E01C65B90388381F8903801FFE0C76CC7FC2535
164 7EB32B>I<EB0FF0EB3FFE9038F80F803901E001C03803C0073907800FE0EA0F005A48EB
165 07C0003EEB0380007E90C7FCA2127CA212FCA8127C127EA2003E1430A26C14607E6D13C0
166 3907C001803903E003003800F81EEB7FFCEB0FE01C237DA122>I<153FEC0FFFA2EC007F
167 81AFEB07F0EB3FFCEBFC0F3901E003BF4848C6B4FC48487F48C7FC4880123EA2127E127C
168 A212FCA8127CA2127E123EA27E6C5C6C6C5B3903C001BF3A01E0033F802600F81E13FCEB
169 3FFCD90FE0130026357DB32B>I<EB0FE0EB7FFCEBF83E3801E00F3903C0078039078003
170 C0390F0001E05A003E14F01400127E007C14F8A212FCA2B6FCA200FCC8FCA5127C127EA2
171 003E1418121E001F14307E6C6C13606C6C13C03901E001803900FC0F00EB3FFEEB07F01D
172 237EA122>I<EB01FCEB07FEEB1F0790383E0F8090387C1FC013F8A20001EB0F809038F0
173 0700000390C7FCACB512F0A2D803F0C7FCB3A9487E387FFFE0A21A357FB417>I<151F90
174 391FC07F8090397FF1E3C09038F07B833903C01E039039800E01800007010FC7FC000F80
175 EB00074880A66C5CEB800F000791C7FC0003130E6D5AEBF07838067FF0380E1FC090C9FC
176 A5EA0F80EBFFFE6CEBFFC06C14F06C80000780390F0001FE001EEB007F48141F007C1580
177 48140FA5007CEC1F00A26C143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC2233
178 7EA126>I<EA03F012FFA212071203AFEC1FC0EC7FF09038F1E0F89038F3807C9038F600
179 7E01FC133E153F5BA35BB3A2486CEB7F80B538C7FFFCA226347EB32B>I<EA0780EA0FC0
180 EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA2120F1207B3A8EA0FF0B5FCA210337EB215
181 >I<EA03F012FFA212071203B0913803FFE0A20200130015FC15F05D4A5A4AC7FC14065C
182 14385C14F0EBF1F813F3EBFEFCEBFC7EEBF03E80816E7E1407816E7E1401816E7E818148
183 6C1480B500C313F0A224347EB329>107 D<EA07E012FFA2120F1207B3B3A9EA0FF0B5FC
184 A210347EB315>I<2703F01FE013FF00FF90267FF80313C0913AE07C0703E03C07F3803E
185 1C01F02803F7003F387F01F690381F300001FC02E07F495CA3495CB3A2486C496C487EB5
186 3BC7FFFE3FFFF0A23C217EA041>I<3903F01FC000FFEB7FF09038F1E0F83907F3807C39
187 03F6007E01FC133E153F5BA35BB3A2486CEB7F80B538C7FFFCA226217EA02B>I<EB07F0
188 EB3FFE9038F80F803901E003C048486C7E48486C7E48C7127848147C001E143C003E143E
189 A24880A300FC1580A8007C1500A2007E5C003E143EA26C5CA26C6C5B6C6C485A6C6C485A
190 3900F80F80D93FFEC7FCEB07F021237EA126>I<3903F03F8000FFEBFFE09038F3C0F839
191 07F7003CD803FC7F497F168049EB07C016E0150316F0A2150116F8A816F01503A216E015
192 0716C06DEB0F80ED1F006D131E01F6137C9038F381F89038F1FFE0D9F07FC7FC91C8FCAB
193 487EB512C0A225307EA02B>I<3803E07C00FF13FF9038E18F803907E31FC0EA03E613EC
194 EC0F809038F8070091C7FCA35BB3487EB512E0A21A217FA01E>114
195 D<EBFF06000713CE380F00FE001C133E48131E48130EA200F01306A37E6C90C7FCEA7F80
196 13FC383FFFC06C7F6C13F86C7FC67FEB0FFF1300EC3F800040130F12C014077EA36C1400
197 6C5B140E00FE5B38E7807838C1FFE038C07F8019237EA11E>I<1330A51370A313F0A212
198 0112031207121FB512FEA23803F000B01403A81201EBF8061200140CEB7E1CEB1FF8EB07
199 E0182F7FAD1E>I<D803F0133F00FFEB0FFFA20007EB007F000380B3A35DA212015D9038
200 F801BF00000103138090397E073FFCEB1FFCD907F8130026227EA02B>I<B5EBFFF0A2D8
201 0FF0EB3FC06C48EB0F00150E6C6C130CA26D131C00011418A26C6C5BA26D1370017E1360
202 137F6D5BA290381F8180A214C3010F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA21460
203 24217E9F29>I<B53A1FFF81FFF0A23C0FF803FC003F806C486C48EB1F0000030100141E
204 170C816C6C017C5BA26D017E1338000002FE1330A290267E01FF5B159F168090263F030F
205 5BA216C0903A1F8607C180A202C613E390260FCC0390C7FCA2D907FC13F6ECF80116FE6D
206 486C5AA36D481378A36D48133034217F9F37>I<B53801FFF8A23A07FC007F800003EC7E
207 000001143800005C017E1360017F13E090383F81C090381F8380D90FC3C7FCEB07E614FE
208 6D5A6D5A6D7E80805B9038039F809038071FC09038060FE0EB0C0790381C03F0496C7E01
209 707FEB6000D801E0137E0003147FD80FF0EBFF8026FFFC0313FCA226207F9F29>I<3A7F
210 FF807FF8A23A07F8001FE00003EC0F80ED070000011406A26C6C5BA26D131C017E1318A2
211 6D5BA2EC8070011F1360ECC0E0010F5BA2903807E180A214F3010390C7FC14FBEB01FEA2
212 6D5AA31478A21430A25CA214E05CA2495A1278D8FC03C8FCA21306130EEA701CEA7838EA
213 1FF0EA0FC025307F9F29>I<003FB512F0A290380007E0003CEB0FC00038131F0030EB3F
214 8000701400147E006013FE5C495A1303C6485A5C495A131F495A91C7FC017E133013FE48
215 5A5B485A000714705B48481360001F14E0485AEB0003007E130FB6FCA21C207E9F22>I<
216 001C1370003E13F8387F01FC00FF13FEA2007F13FC383E00F8001C1370170879B226>
217 127 D E
218 %EndDVIPSBitmapFont
219 %DVIPSBitmapFont: Fc cmti9 9 1
220 /Fc 1 47 df<121C123E127F12FFA212FE127C12380808778718>46
221 D E
222 %EndDVIPSBitmapFont
223 %DVIPSBitmapFont: Fd cmtt9 9 63
224 /Fd 63 127 df<123C127E12FFAF127EAE123C1200A7123C127E12FFA4127E123C082F71
225 AE27>33 D<131FEB7FC0497E5A80EA03F1EBE1F8EA07E013C0A513C15C9039C3F1FF80D9
226 E3E113C03803E7E3EBEFC1D9FF811380EDF800EC01F0EA01FEEBFC0301F85B00031307D8
227 07FC5B120F381FFE0FD83FBE5BEB3F1FD87E1F90C7FC149F38FC0FBF14FE1307ECFC0201
228 031307903901F80F80A238FE03FC387E07FE397F1FFF9F6CB61200149F6CEB0FFE390FFC
229 03FC3903F000F822307EAE27>38 D<EB01C0EB03E0130F131FEB3FC0EB7F80EBFE00485A
230 5B485A12075B485AA2485AA248C7FCA3127EA45AAC127EA47EA36C7EA26C7EA26C7E7F12
231 036C7E7F6C7EEB7F80EB3FC0EB1FE0130F1303EB01C0133A73B327>40
232 D<127012F812FE7E6C7E6C7EEA0FE06C7E12036C7E7F1200137EA27FA2EB1F80A3EB0FC0
233 A4EB07E0ACEB0FC0A4EB1F80A3EB3F00A2137EA25B12015B485A1207485AEA3FC0485A48
234 C7FC5A12F81270133A7AB327>I<130F497EA60078EB81E000FEEB87F000FF138FEBDFBF
235 6CB512E06C14C0000F1400000313FCC613F0A2000313FC000F13FF003F14C04814E039FF
236 DFBFF0EB1F8F00FE13870078EB81E00000EB8000A66DC7FC1C207BA627>I<EB03C0497E
237 AD007FB512FEB7FCA46C14FE390007E000AD6D5A20227DA727>I<007FB512F8B612FCA4
238 6C14F81E067C9927>45 D<1538157C15FCA2140115F8140315F0140715E0140F15C0141F
239 1580143F1500A25C147E14FE5C13015C13035C13075C130F5CA2131F5C133F91C7FC5B13
240 7E13FE5B12015B12035BA212075B120F5B121F5B123F90C8FC5A127E12FE5AA25A12781E
241 3A7CB327>47 D<130E131FA25BA25B5B5A5A123F5AB5FC13BFEA7C3F1200B3AA003FB512
242 805A15C01580A21A2F79AE27>49 D<EB3FC0EBFFF8000313FE000FEBFF804814C09038E0
243 3FE0383F800F397F0007F0007EEB03F800FE13015A6C14FC1400A2127CA2C8FCA2140115
244 F8A2140315F01407EC0FE0EC1FC0143FEC7F80ECFF00495A495A495A495A495A495A495A
245 01FEC7FC485AD807F81378484813FC485A485A48B5FCB6FCA36C14F81E2F7CAE27>I<EB
246 1FF0EBFFFE0003EBFF80000F14C015E0391FF00FF0393FC007F8EB0001018013FC1400A2
247 6CC7FC1204C8FC140115F8140315F0140FEC3FE090381FFFC0491380A215E06D13F09038
248 000FF81403EC01FCEC00FE157E157F153FA21238127C12FEA2157F48147E6C14FE007FEB
249 01FC90388003F8383FF00F6CB512F06C14E000031480C6EBFE00EB1FF020307DAE27>I<
250 153815FC14011407140FEC3FF8EC7FE0ECFFC001031300495AEB1FF8495A495A3801FF80
251 4890C7FCEA0FFC485AEA7FF0EAFFC05BA27FEA7FF0EA1FF86C7EEA03FF6C7F38007FE06D
252 7E6D7EEB07FE6D7E010013C0EC7FE0EC3FF8EC0FFC14071401140015381E287CAA27>60
253 D<007FB512FEB7FCA4003F14FEC9FCA6003FB512FEB7FCA46C14FE20127D9F27>I<1270
254 12FC7E6C7E7FEA7FF0EA1FF86C7EEA03FF6C7F38007FE06D7E6D7EEB07FE6D7E010013C0
255 EC7FE0EC3FF8EC0FFC1407A2140FEC3FF8EC7FE0ECFFC001031300495AEB1FF8495A495A
256 3801FF804890C7FCEA0FFC485AEA7FF0EAFFC05B48C8FC5A12701E287CAA27>I<EB03F0
257 497EA2497EA4143CEB1F3EA5EB3F3FA3EB3E1FA2017E7FA4496C7EA548486C7EA390B5FC
258 A24880A3EBF003A248486C7EA4000F803A7FFC0FFF8000FF15C06D5A497E007F1580222F
259 7EAE27>65 D<007FB5FCB612C08115F87E3907E003FCEC00FE157E157F81A6157EA25D14
260 03EC0FF890B55A15C015F081819038E000FE157FED3F80151FA2ED0FC0A6151F1680153F
261 ED7F004A5A007FB55AB65A5D15E06C1480222E7FAD27>I<903803F80E90381FFE1F9038
262 3FFFBF90B6FC5A3803FE0FEBF80348487E48487E5B4848137FA248C7123FA25A127E151E
263 150012FE5AAA7E127EA2151E007F143F7EA26C7E157F6C6C137E6D13FE3907F001FC3803
264 F8039038FE0FF86CB512F06C14E0013F13C06D1300EB03F820307DAE27>I<387FFFFC14
265 FFB612C06C80813907E00FF81407EC01FC6E7EA2157E157F811680151FA316C0150FABED
266 1F80A3153F1600A25D15FEA24A5A4A5A140F007FB55A5DB65A6C91C7FC14FC222E7FAD27
267 >I<007FB61280B712C0A37E3907E0000FA6ED078092C7FCA4EC07804A7EA390B5FCA5EB
268 E00FA36E5A91C8FCA4ED03C0ED07E0A7007FB6FCB7FCA36C15C0232E7FAD27>I<007FB6
269 1280B712C0A37E3907E0000FA6ED078092C7FCA4EC07804A7EA390B5FCA5EBE00FA36E5A
270 91C8FCAC387FFF80B5FC805C7E222E7EAD27>I<903807E03890381FFC7C90387FFFFC90
271 B5FC5A3803FC1F3807F00FEBE007380FC003001F13011380123F90C7FCA2127EA2157892
272 C7FC5AA8EC1FFF4A1380A3007E6D1300EC00FCA36C1301A21380121FEBC003120F3807E0
273 07EBF00F3803FC1F6CB5FC7EEB7FFE90381FFC78D907E0C7FC21307DAE27>I<007FB512
274 E0B612F0A36C14E039001F8000B3B2007FB512E0B612F0A36C14E01C2E7BAD27>73
275 D<387FFFC080B5FC7E5CD803F0C8FCB3AAED0780ED0FC0A7007FB6FCA2B7FC7E1680222E
276 7FAD27>76 D<3A7FF003FFE013F800FF4913F06C6C6C13E0A200079038003E0013DEA313
277 CFA3148013C714C0A213C314E0A213C114F0A3EBC0F8A31478147CA2143C143EA2141E14
278 1F140FA3EC07BEA3EC03FEEA7FFCA238FFFE01EA7FFC6E5A242E7FAD27>78
279 D<EBFFFC0007EBFF80001F14E0A24814F0EBC00F397F8007F8EB0003007E1301A348EB00
280 FCB3A76C1301007E14F8A3007F1303EB8007393FE01FF090B5FC6C14E0A200071480C6EB
281 FC001E307CAE27>I<007FB5FCB612E081816C803907E003FEEC00FF81ED3F80151F16C0
282 150FA6151F1680153FED7F005DEC03FE90B55A5D5D5D92C7FC01E0C8FCADEA7FFEB5FCA3
283 6C5A222E7FAD27>I<387FFFF014FEB67E6C80813907E01FF014076E7E1401811400A514
284 015D14034A5A141F90B55A5D5DA281EBE01F6E7E14076E7EA816F0EDF1F8A4397FFE01FB
285 EDFFF0B57E6C4814E0ED7FC0C8EA0F00252F7FAD27>82 D<90383F80E03901FFF1F00007
286 13FF5A5A383FC07FEB801F387F000F007E130712FE5A1403A3EC01E06C90C7FC127E127F
287 EA3FC013F86CB47E6C13F86C13FE6CEBFF80C66C13C0010713E0EB007FEC0FF0EC07F814
288 03140115FC1400127812FCA46CEB01F8A26C130390388007F09038F01FE090B5FC15C015
289 0000F85B38701FF01E307CAE27>I<007FB61280B712C0A439FC03F00FA60078EC078000
290 0091C7FCB3AB90B512C0A248806C5CA2222E7EAD27>I<3A7FFE01FFF8B54813FCA36C48
291 6C13F83A07E0001F80B3AB6D133F00031500A26D5B0001147E6D13FE6C6C485A90387F87
292 F814FF6D5B010F13C06D5BD900FCC7FC262F80AD27>I<D87FE0EB7FE0486CEBFFF0A36C
293 48EB7FE0001FC7EA0F80A76C6CEB1F00A614F0EB81F83907C3FC3EA4149CEBC79EA30003
294 143CA301E7137CEBEF9FA2140FA200011478A49038FE07F8A300005CA2EBFC0390387801
295 E0242F7FAD27>87 D<387FFFF0B512F8A314F000FCC7FCB3B3ACB512F014F8A36C13F015
296 3A71B327>91 D<387FFFF0B512F8A37EEA0001B3B3ACEA7FFFB5FCA36C13F0153A7EB327
297 >93 D<131C137E3801FF80000713E0001F13F84813FC38FFE7FF13C3130000FC133F0078
298 131E180B79AD27>I<007FB512F8B612FCA46C14F81E067C7E27>I<48B47E000F13F04813
299 FC4813FF81EB807FEC1FC0381F000F00046D7EC7FCA2EB07FF137F0003B5FC120F5A383F
300 F807EA7FC0130012FE5AA46C130F007F131F383F807F90B612806C15C07E000313F13A00
301 7F807F8022207C9F27>97 D<EA7FE0487EA3127F1203A9147E9038F3FFC090B512F08181
302 EC81FE49C67E49EB3F8049131F16C049130FA216E01507A6150F16C07F151F6DEB3F80ED
303 7F006D5B9038FF83FEECFFFC5D5D01F313C02601E0FEC7FC232E7FAD27>I<EB0FFE9038
304 7FFFC048B512E04814F05A380FF807EA1FE09038C003E0393F80008048C8FC127EA212FE
305 5AA67E127EA2007F14F0393F8001F8EA1FC0EBE003390FF80FF06CB5FC6C14E06C14C06C
306 6C1300EB0FF81D207B9F27>I<EC3FF04A7EA3143F1401A9EB0FE1EB7FFD48B5FC5A5A38
307 0FF81F381FE00FEBC007383F8003EA7F00007E1301A212FE5AA67E007E1303A2127F6C13
308 07EB800F381FE01F380FF03F6CB612C06C15E06C13FD38007FF9D90FC013C0232E7EAD27
309 >I<EB07F0EB3FFE90B51280000314C04814E0390FF80FF0391FE003F8EBC001393F8000
310 FC48C7FC127E157E12FEB612FEA415FC00FCC8FC7E127EA26C143C6D137E6C7ED80FF013
311 FE9038FC03FC6CB512F812016C14F0013F13C0903803FC001F207D9F27>I<EC1FE0ECFF
312 F84913FC4913FE5BEB0FF0ECC07C131FEC8000A6007FB512F0B612F8A36C14F039001F80
313 00B3A4003FB512C04814E0A36C14C01F2E7EAD27>I<153F90391FC0FF80D97FF313C048
314 B612E05A4814EF390FF07F873A1FC01FC3C09039800FC000A248486C7EA66C6C485AA2EB
315 C01F390FF07F8090B5C7FC5C485BEB7FF0EB1FC090C9FCA27F6CB5FC6C14E04814F84814
316 FE5A90388000FF007EC7EA3F80007C140F00FC15C0481407A46C140F007C1580007F143F
317 6C6CEB7F00391FF003FE90B5FC000714F86C5CC66C1380D90FFCC7FC23337EA027>I<EA
318 7FE0487EA3127F1203A9143F9038F1FFC001F77F90B57E8114C1EC01FCEBFE005B5BA25B
319 B03A7FFF83FFE0B500C713F0A36C018313E0242E7FAD27>I<130F497E497EA46D5A6DC7
320 FC90C8FCA7383FFF80487FA37EEA000FB3A4007FB512F0A2B612F86C14F0A21D2F7BAE27
321 >I<143C147E14FFA4147E143C1400A73801FFFE4813FFA37EC7123FB3B0147E1238007C
322 13FE38FE01FCEB03F8B5FC6C13F014E06C13803807FE0018407CAE27>I<EA7FE07F12FF
323 127FA21201A991383FFFC04A13E0A36E13C0913803F8004A5A4A5A4A5A4A5A02FFC7FCEB
324 F1FEEBF3FCEBF7F8EBFFFC80A2143F496C7E496C7E01F87FEBF0076E7E6E7E6E7EA2157E
325 3A7FFFC1FFF002C313F8B512E36C13C316F0252E80AD27>I<387FFF80B57EA37EEA000F
326 B3B2007FB512F8B612FCA36C14F81E2E7CAD27>I<397F07C01F3AFF9FF07FC09039FFF9
327 FFE091B57E7E3A0FFC7FF1F89038F03FC001E0138001C01300A3EB803EB03A7FF0FFC3FF
328 486C01E3138001F913E701F813E36C4801C313002920819F27>I<387FE03F39FFF1FFC0
329 01F77F90B57E6C80000313C1EC01FCEBFE005B5BA25BB03A7FFF83FFE0B500C713F0A36C
330 018313E024207F9F27>I<EB1FE0EB7FF83801FFFE487F481480390FF03FC0391FC00FE0
331 393F8007F0EB00034814F8007E1301A248EB00FCA76C1301007E14F8A2007F1303393F80
332 07F0A2391FE01FE0390FF03FC06CB512806C14006C5B38007FF8EB1FE01E207C9F27>I<
333 387FE07E39FFF3FFC090B512F0816C800003EB81FE49C67E49EB3F8049131F16C049130F
334 A216E01507A6150F16C07F151F6DEB3F80ED7F006D5B9038FF83FEECFFFC5D5D01F313C0
335 D9F0FEC7FC91C8FCAC387FFF80B57EA36C5B23317F9F27>I<903807F03C90383FFE7E90
336 B5FC000314FE5A380FF80F381FE007EBC003383F800148C7FC127EA200FE147E5AA67E00
337 7E14FEA2127F383F8001381FC003EBE007380FF81F6CB5FC7E6C147E38007FFCEB0FE090
338 C7FCAC91381FFFF8A24A13FC6E13F8A226317E9F27>I<397FFC01FC39FFFE0FFF023F13
339 804A13C0007F90B5FC39007FFE1F14F89138F00F809138E002004AC7FC5CA291C8FCA213
340 7EAD007FB57EB67EA36C5C22207E9F27>I<90387FF3800007B512C0121F5AA2387F801F
341 38FC000F5AA2EC07806C90C7FCEA7F8013FC383FFFE06C13FC000713FFC61480010F13C0
342 9038003FE014070078EB03F000FC1301A27E14036CEB07E0EBC01F90B512C01580150000
343 FB13FC38707FE01C207B9F27>I<133C137EA8007FB512F0B612F8A36C14F0D8007EC7FC
344 AE1518153C157EA315FE6D13FC148390381FFFF815F06D13E0010313C0903800FE001F29
345 7EA827>I<397FE01FF8486C487EA3007F131F00031300B21401A21403EBF80F6CB612E0
346 6C15F0A2EB3FFE90390FF07FE024207F9F27>I<3A7FFC0FFF80486C4813C0A36C486C13
347 803A07C000F800EBE00100035CA2EBF00300015CA2EBF80700005CA390387C0F80A36D48
348 C7FCA3EB3F3FEB1F3EA3EB0FFCA36D5AA26D5A22207E9F27>I<3A7FFE07FFE0A2B54813
349 F06C486C13E0A23A0F80001F00A36D5B0007143EA414F0EBC1F83903E3FC7CA4EBE79EA2
350 00011478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E024207F9F27>I<393FFC1FFF
351 486C5A168016006C487E3901F807E06C6C485A4A5A017E90C7FC6D5AEB1F7E5C6D5A1307
352 6D5A5C80497E130F497E143EEB3E3FEB7E1F90387C0F8001F87F00016D7E3803F0033A7F
353 FE1FFF80A2B54813C06C486C1380A222207E9F27>I<3A7FFC0FFF80486C4813C0A36C48
354 6C13803A07E000F800000313015D13F012016D485A1200A26D485A137CA290387E0F8013
355 3EA2011F90C7FC5CA2130F149E14BE130714FC1303A25C1301A25CA213035CA213075C12
356 08EA3E0F007F5B131FD87E7FC8FCEA7FFE6C5A5B6C5AEA07C022317E9F27>I<001FB512
357 FE4814FFA490380001FEEC03FCEC07F8EC0FF0001EEB1FE0C7EA3FC0EC7F80ECFF00495A
358 495A495AEB1FE0495A495A49C7FC485A4848131E4848133F485A485A485A485AB7FCA46C
359 14FE20207E9F27>I<127812FCB3B3B3A21278063A70B327>124 D<9038F003803903FC07
360 C0000F130F381FFE1F393FFF7F80397FBFFF0038FE1FFE486C5A00F813F0387003C01A0A
361 7AAD27>126 D E
362 %EndDVIPSBitmapFont
363 %DVIPSBitmapFont: Fe cmti10 10.95 9
364 /Fe 9 118 df<120FEA1F80EA3FC0127F12FFA3EA7F801300123C0A0A77891C>46
365 D<EC1FC0ECFFF0903803F038903807C00C90381F000E013E130749131F49133F0001147F
366 485A49137E0007147C484813381500121F5B123FA248C8FCA412FEA65A1502007C140712
367 7E150E003E141C15786C14F06CEB03E03907800F803903E07E003801FFF838003FC02029
368 77A72A>99 D<167C4BB4FC923803C38092380781C0ED0F03ED1F0FA2ED3E1FA292387E0F
369 80EE070093C7FC5DA54A5AA54A5AA30103B512F0825E90260007E0C7FCA44A5AA54A5AA5
370 4AC8FCA5147EA55CA5495AA5495AA45C1307A25CA2130F001C5B127E91C9FCEAFE1F131E
371 12FC485AEA70386C5AEA1FE0EA0F802A5383BF1C>102 D<14E0EB01F0EB03F8A214F014
372 E0EB01C090C7FCAE13F8EA03FCEA070EEA0E0F001C138012181238EA301F1270A2126038
373 E03F00A2137E12C012005BA3485AA3485AA2485AA21430380FC070A3381F80E0A214C013
374 01A2EB03801400EA0F06130EEA07F8EA01F0153E78BC1C>105 D<D803E0137F3A07F003
375 FFC03A0C380781E03A1C3C1E00F026383E387F5CD93FE07F00705BA25C4848C7FCA2137E
376 A24848495A1200A34848495AA34B5A485AA24B5AA24848156092381F80E0A3484890383F
377 01C0A21780ED3E03485AEE07001606ED1E0E48C75B6CEC0FF8000EEC03E02B2978A733>
378 110 D<EC1FC0ECFFF8903803F07C903807C01E90381F000F013E148049EB07C05B120148
379 4814E05B1207485A16F0121F5B123F16E048C7120FA400FEEC1FC0A3ED3F80A216004814
380 7EA2007C5C007E5C4A5A003E13035D6C495A6C011FC7FC3807803E3803C0F86CB45A3800
381 3F80242977A72E>I<EC7F80903801FFE0903807C0F090380F0038011E131C49130C017C
382 130E0178133E01F8137EA20001147C15781510150013FEEBFFC014FC6C13FF6D13806D13
383 C06D13E07F010013F0140F14071403A2121C003E1301127F00FEEB03E0A24814C0481307
384 006014800070EB0F000030131E001C5B380F01F83807FFE0C690C7FC1F297AA725>115
385 D<EB01C0EB03E014F0EB07E0A4EB0FC0A4EB1F80A4EB3F00A3007FB5FCB6FC7E38007E00
386 A25BA4485AA4485AA4485AA4485AA4381F800C141CA21438EA3F0014301470146014E0EB
387 01C0001F1380EB0300EA0F0EEA07FCEA01F0183A78B81E>I<13F8D803FC1438D8070E14
388 7CD80E0F14FC001C7F121800384A5AEA301F1270A200604A5A38E03F00A2137E00C04A5A
389 12005BA24B5A485AA34848495AA4484890383F01801603A392387E0700A315FE0003150E
390 EC01BE00019038033E1C9038F0061E2600F81C5B90393FF80FF090390FE003E0292978A7
391 31>I E
392 %EndDVIPSBitmapFont
393 %DVIPSBitmapFont: Ff cmmi10 10.95 2
394 /Ff 2 80 df<49B592B512F082A290C76D913807FE00DA01BFED01F0705D039F6F5AA291
395 26031FF04A5A150F82150702066D4AC7FC1503A26F7E020C16068281834A017F5CA2707E
396 A24A6E5B161F83160F4A6E5B1607A2834A01035C8316018349486D5CA21880177F49C8EB
397 C180173F18E1171F010604E3C8FCEF0FF3A218FB49ED07FEA21703A2496F5AA301381500
398 6001FC1678EA03FE267FFFF01538B56C15304A15104C3E7DBD49>78
399 D<EE3FF00303B5FC92391FC03FC092397E0007E0DA01F8EB01F8DA07E06D7E4A48147E02
400 3FC87E027EED1F804A16C0D903F8150F494816E0495A4948ED07F0A2494816F849C9FC5B
401 48481603A2484817FCA2485A000F17075B121FA25B123F19F84848160FA44848EE1FF0A3
402 F03FE0A390CAEA7FC0A2F0FF80A219004D5A1703604D5A6C7E4D5A4D5A003F5F4D5A6C6C
403 4BC7FC17FE6C6C4A5A4C5A6C6CEC07E06C6CEC1FC06C6C4A5A6C6C02FEC8FC90393F8003
404 F890390FE01FE00103B5C9FC9038007FF03E427BBF45>I E
405 %EndDVIPSBitmapFont
406 %DVIPSBitmapFont: Fg cmtt12 14.4 1
407 /Fg 1 44 df<157815FC4A7EB3A2003FB812E04817F0B912F8A46C17F06C17E0C7D801FE
408 C8FCB3A26E5A157835347CBE3E>43 D E
409 %EndDVIPSBitmapFont
410 %DVIPSBitmapFont: Fh cmsy7 7 1
411 /Fh 1 1 df<B712FEA327037A8F34>0 D E
412 %EndDVIPSBitmapFont
413 %DVIPSBitmapFont: Fi cmr7 7 5
414 /Fi 5 55 df<1238127C12FEA6127CAA1238AA12101200A51238127C12FEA3127C123807
415 297BA813>33 D<1306130C13181330136013E0EA01C0EA0380A2EA07005A120E121EA212
416 1C123CA35AA512F85AAB7E1278A57EA3121C121EA2120E120F7EEA0380A2EA01C0EA00E0
417 136013301318130C13060F3B7AAB1A>40 D<12C012607E7E7E120E7EEA0380A2EA01C013
418 E0120013F0A213701378A3133CA5133E131EAB133E133CA51378A3137013F0A213E01201
419 13C0EA0380A2EA0700120E120C5A5A5A5A0F3B7DAB1A>I<13381378EA01F8121F12FE12
420 E01200B3AB487EB512F8A215267BA521>49 D<EB0FE0EB3FF8EBF81C3801E0063803801F
421 48485A5A121EA248131E91C7FC127C12781304EB3FC038F8FFF038F98078497E00FA7F12
422 FE487FA2481480A41278A46C1400A2001C131E121E000E5B6C5B3803C0F03801FFC06C6C
423 C7FC19277DA521>54 D E
424 %EndDVIPSBitmapFont
425 %DVIPSBitmapFont: Fj cmmi7 7 3
426 /Fj 3 111 df<1238127C12FEA3127C123807077A8614>58 D<1378EA07FC5BEA0078A3
427 5BA4485AA43903C00780EC1FC0EC3860EC60E0380780C1EB8103138290388401C0D80F18
428 C7FC5B13E07FEA1FFE381E3F80EB07C06D7EEA3C011560A30078EBC0C01303903801C180
429 A200F0EBE300EB00FE0060133C1B297CA723>107 D<3907C01FC0390FE07FE03918F0E0
430 F03930718078EB7B00D8607E1338017C133C01781338D8C0F813785B1200A248485BA34A
431 5AEA03C01660EC03C0A23A07800780C0A2ED8180ED8300390F000386EC01FC00066D5A23
432 1B7D9929>110 D E
433 %EndDVIPSBitmapFont
434 %DVIPSBitmapFont: Fk cmex10 10 2
435 /Fk 2 2 df<1430147014E0EB01C0EB0380A2EB0700130E131E131C133C5BA25BA2485A
436 A212035B1207A2485AA348C7FCA45A123EA3127EA5127CA212FCB3A2127CA2127EA5123E
437 A3123F7EA46C7EA36C7EA212037F1201A26C7EA21378A27F131C131E130E7FEB0380A2EB
438 01C0EB00E0147014301462738226>0 D<124012E012707E7EA27E7E7F12037F6C7EA26C
439 7EA21378A2137C133C133EA27FA3EB0F80A414C01307A314E0A51303A214F0B3A214E0A2
440 1307A514C0A3130F1480A4EB1F00A3133EA2133C137C1378A25BA2485AA2485A5B120790
441 C7FC120E5AA25A5A5A124014627C8226>I E
442 %EndDVIPSBitmapFont
443 %DVIPSBitmapFont: Fl cmsl10 10.95 22
444 /Fl 22 122 df<EC7FC0903803FFF890380F807E90381C001F01306D7E01786D7E13FC6D
445 800001140382A26C5A137890C7FC4B5AA3EC01FF147F903803FF0790391FF00FC0EB7F80
446 EBFE00EA03F8485A485A4848495A485A17C048C7FCA2153F00FEED0180157FA2007F14DF
447 9139019F03006CEB031F3A1F800E0F86260FE03C13FC3A03FFF007F83A007FC003E02A2A
448 7CA82D>97 D<133FEA1FFFA3C6FC7F137EA65BA6485AA5EC0FF03903F03FFE9138F01F80
449 9039F3C007C09039F70003E001FC6D7E498048486D7EA249147EA2167FA2485AA31780A2
450 170048485CA54B5A48C7FC5EA24B5AA24B5A485D4B5A4B5AD87D8091C7FC0079147ED878
451 C05B39F06003F039E0380FC026C01FFFC8FC380007F8294076BE33>I<EC1FE0ECFFFC90
452 3803F01F90390FC0038049C712C0017EEB03E04913074848130F0003141F5B12074848EB
453 0FC0ED0780484890C7FC123FA25B127FA348C9FCAA6C5C5D7E15066C7E5D6C6C5B000714
454 706C6C485A3900F80F80D97FFEC7FCEB0FF0232A7AA828>I<EE03F0ED01FFA3ED000F16
455 0717E0A6EE0FC0A6EE1F80A5EC0FE09139FFF83F00903803F81E90380FC00790391F0001
456 BF133E01FC6DB4FC4848147E485A12075B120F485A5E123F5B127FA348C7485AA64B5AA3
457 7EA36C4A5A150F6C7E000F141F6D13370007ECE7F03B01E001CFFF803900F80F0FEB3FFE
458 D90FF0EBC0002C407ABE33>I<EC3FE0903801FFF8903807E07E90380F801F90393F000F
459 80017E14C0491307484814E0485A0007EC03F05B120F485AA2123F5BA2007F140790B6FC
460 16E048C9FCA97E168015017EED03006C7E000F14066C6C131C6C6C5B6C6C13E03900FC07
461 C0D93FFFC7FCEB07F8242A7BA828>I<ED0FE0ED7FF8EDF81C913803E03E913807C07E91
462 380F80FF4A5A4A13FE143E027E137C4A1300A3495AA6495AA60007B512F8A3260007E0C7
463 FCA3495AA6495AA649C8FCA6137EA65BA5EA03FE387FFFFCB5FCA228407DBF1C>I<177C
464 913907F803FE91393FFE0F8F9139FC0F9C1F903901F007F0903A03E003E01ED907C0EBF0
465 0C90260F80011300011F80133F14004980A301FE495AA3017E5C15075E013E5C013F495A
466 6D49C7FCEC803E903837C0FC903861FFF09038607F8001E0C9FC5B1201A47F7F6CB512F8
467 EDFF806D14E06D8090B67E3A03E0000FFCD80F80EB00FE48C8127E003E81123C007C815A
468 A4163EA25E00785D007C4A5A6C4A5A6CEC0FC0D807C0013FC7FC3903F801FC39007FFFF0
469 010F90C8FC303D7FA82D>I<147EEB3FFEA3130113005CA6495AA6495AA5ED0FF0903907
470 E07FFCEDF03E9138E1801F9139E7000F8014EE02F814C0EB0FD814F05CA25CA2011FEC1F
471 805CA549C7EA3F00A6017E147EA6495CA400011401486C497EB500F0B512F0A32C3F7CBE
472 33>I<147814FCEB01FE130314FFEB07FE130314FCEB01F8EB00F01400ACEB07F03801FF
473 E0A3EA001F130FA214C0A6EB1F80A6EB3F00A6137EA65BA5EA03FE387FFFE0A2B5FC183E
474 7DBD19>I<147EEB3FFEA3130113005CA6495AA6495AA6494890B5FC17FE5D9238007FE0
475 EE3F00163C49485B16E04B5A4BC7FC1506151C90381F80305DEC81C0EC83E0EC87F0149F
476 90383F31F81461ECC0FCEC807C90383E007E153E49133F8182150F826F7E5B6F7EA26F7E
477 00014A7E486C497EB539E01FFFF017E05D303F7EBE30>107 D<147EEB1FFE133FA21301
478 130014FCA6EB01F8A6EB03F0A6EB07E0A6EB0FC0A6EB1F80A6EB3F00A6137EA65BA5EA03
479 FE387FFFF0A2B5FC173F7DBE19>I<902707E00FF0EB07F82803FFC03FFEEB1FFFDBF01F
480 9038780F80913CC1C00F80E007C03E001FC30007C18003E0D90FC6ECC30002CC02E614F0
481 4A14EC02B014F802E05CA24A5CA2011F020FEC07E04A5CA549C74848EB0FC0A6017E4AC7
482 EA1F80A649027EEC3F00A4000103FE5C486C496CECFF80B5D8F07FD9F83F13FCA346287C
483 A74D>I<903907E00FF03A03FFC07FFCEDF03E9138C1801F3B001FC7000F80EB0FCE02D8
484 14C0149814B014E0A25CA2011FEC1F805CA549C7EA3F00A6017E147EA6495CA400011401
485 486C497EB500F0B512F0A32C287CA733>I<EC0FF0ECFFFE903903F01F8090390FC007C0
486 49C66C7E013E6D7E01FC6D7E48488049147C0003157E485A000F157F5B121FA2485AA200
487 7F1680A2170048C85AA54B5AA25E5A6C4A5A7E4B5A5E6C140F6C6C5C4B5A6C6C013EC7FC
488 6C6C5B6C6C485A3900FC0FE090383FFF80D90FF8C8FC292A7BA82D>I<9138FE03FC903A
489 7FFC0FFF8092383C07E09238F001F0903A03FDC000F86DB4C77E4A147E4A147F834A1580
490 A218C0171F495AA318E0A218C04948143FA5EF7F80495A18005F5F16015F011F4A5A4C5A
491 5F6E495A4C5A02B049C7FCD93F1813FC91380E03F0913807FFC0DA01FEC8FC91CAFCA213
492 7EA65BA41201487EB512F0A3333A80A733>I<903907E01F803A03FFC07FE09138C1E1F0
493 ECC3833A001FC607F8EB0FCC16F014989138B003E0ED018002E0C7FCA25C131FA25CA449
494 C8FCA6137EA65BA41201487EB512FCA325287EA724>114 D<9138FF80800107EBE1C090
495 391F0073800138131F49130F491307485A000314034914001207A37F150201F090C7FC13
496 FC3803FFE06C13FE6C6D7E6D13E06D7F010F7F01007F140FEC01FE0010EB007E0038143E
497 A3151EA2151C0078143C127C15385D007E14F0007F495A39F38003C026E1E01FC7FC38C0
498 7FFCEB1FE0222A7DA824>I<1303A45B1306A2130EA2131EA25BA2137C13FC1201120700
499 1FB512C0B6FCA2D801F8C7FCA3485AA6485AA6485AA51403381F8006A65C1300A26D5AA2
500 000F5B6C6C5A3803E1C06CB45AD8007EC7FC1A3978B723>I<D801FCEB01FCB448EBFFF8
501 A30007140700031403A24914F0A64848EB07E0A64848EB0FC0A64848EB1F80A4153FA290
502 C7EA7F00A25DA2EC01BF3A0F80033F80000790380E7FFC3803E03C3801FFF03A003FC07E
503 00262976A733>I<B539C003FFF05D17E02707FC000113006C48EB00FC4914786D147000
504 0115605EA26D495A0000140393C7FC15067F017E5BA25D1538017F13306D5BA25D148090
505 381F8180148392C8FC14C6130F14CCA214D8EB07F85CA25C5C13035CA22C2878A630>I<
506 48B539803FFFC0A2150026000FFC90381FF800D903F8EB0FC094C7FC0101140E6D6C5B6E
507 5B027E5B027F5B6E485A91381F838003C3C8FCEC0FC615ECEC07F86E5A811401811403EC
508 067EEC0C7F4A7E02387FEC701F4A6C7ED901C07F9038038007D907007F010E1303496D7E
509 013C8013FCD807FE49B4FCB5010F13F85DA232277FA630>120 D<90B539C003FFF05E18
510 E0902707FC000113006D48EB00FC4A14706D7E17605F16016E5C01004AC7FCA216068002
511 7E5B161C1618027F5B805EA26F5AEC1F815E0383C8FC15C3EC0FC615CE15CC15F814075D
512 A25D14035D5DA292C9FCA21406140E140C5CA25C1218007E5B00FE5BA2495A4848CAFCEA
513 F806EA600CEA7838EA3FF0EA0FC0343A80A630>I E
514 %EndDVIPSBitmapFont
515 %DVIPSBitmapFont: Fm cmtt12 13.14 1
516 /Fm 1 44 df<EC03C04A7E4A7EB2003FB712F84816FCB812FEA46C16FC6C16F8C7D80FF0
517 C7FCB26E5A6E5A2F307CB838>43 D E
518 %EndDVIPSBitmapFont
519 %DVIPSBitmapFont: Fn cmbx12 13.14 45
520 /Fn 45 123 df<923803FFF0037FEBFE7C0203B612FC141F91397FFE001FDAFFE0133F01
521 030180137F4990C7FC495A4A14FF4948147F495AA24A143F017F151FAFB9FCA526007FF0
522 C7121FB3B3A2003FB5D8E00FB512F8A53D4D7ECC44>13 D<B7FCAA200A7F9C29>45
523 D<EA07E0EA0FF0EA3FFCA2EA7FFEB5FCA6EA7FFEEA3FFCA2EA0FF0EA07E01010778F22>
524 I<15F014011407141F147FEB03FF137FB6FCA313FC1380C7FCB3B3B2007FB712E0A52B47
525 77C63D>49 D<EC7FF00107B5FC011F14E0017F14F848B612FE4801007FD807F0011F13C0
526 48486D13E0D81F80010313F048C7FC6F13F8D87FE06D13FC6D147F6D15FE12FF6D143F17
527 FFA46C5AA26C5AEA0FC0C9FC17FE167F17FCA2EEFFF8A217F05D4B13E017C04B13804B13
528 005E4B5A4B5AED7FE04B5A4A5B4BC7FC4A5A4A5A4A5ADA1FC0131F4A5A4AC7FC14FE4948
529 143E495AEB07E0495A4948147E49C8FC017E15FE90B7FC4816FC5A5A5A5A5A5AA2B812F8
530 A430477AC63D>I<EC3FFE49B512E0010F14FC013F14FF90267FE00F7F2701FE000313E0
531 D803F86D7F497F000782D80FFC6E7E7F7F488280A46C90C7FCA26C485D6C5AD800F04A5A
532 90C8FC5F5D5F4B5B4B5B4B90C7FCED1FFC4AB45A49B512E093C8FC16E016FC90C7EA1FFF
533 030313C06F7F6F7F707E83707E83A2701380A318C0A2EA07C0EA1FF0487E487EA2487E18
534 80A34C13005B007F5E49147F6C485D01C04A5A001F5CD80FF8495B2707FF801F13C06C90
535 B65AC64BC7FC013F14F8010714C09026007FFCC8FC32487BC63D>I<EE07E0160FA2161F
536 163F167F16FFA25D5D5DA25D5D5DA2157D15FDEC01F915F1EC03E11407EC0FC1EC1F8115
537 01143F147E14FC14F8EB01F01303EB07E014C0EB0F80131FEB3F00133E5B13FC485A485A
538 5B1207485A485A90C7FC123E127E5AB912FCA5C80003EBE000AD023FB612FCA536487DC7
539 3D>I<000316E001C0140301FC141F9039FFC003FF91B612C0178017005E5E5E5E16C05E
540 4BC7FC15F001E7138001E0C9FCABEC1FFC91B512C001E314F001EF14FC9039FFE00FFE91
541 390003FF8001FC6D13C001F06D13E04915F049147F17F8C9FC17FC163F17FEA317FFA3EA
542 0F80EA3FE0487E7F12FF7FA217FE5BA2EE7FFC6C5A01C015F86CC8FCEEFFF06C6C5B6D15
543 E06C6C010713C0D807F84913806CB490387FFE006C90B55A6C6C14F0011F14C0010749C7
544 FC010013E030487AC63D>I<EC1FFE91B512F0010714FC011F14FF90263FE0037F49C7EA
545 7FE001FCEC1FF04848140F48486E7E000782491403120F707EA2121FA27F7F7F7F6D6C49
546 5A14E06C6D495A14FC02FF495A6C6E485A9238E03FC06C9138F8FF8092B5C7FC6C15FC6C
547 15F07F6D80010F14FE01036E7E4981011F814981D9FFCF80480103804848C6804848133F
548 48486D7F48481307484801011480814848143F040F13C0824848808282A2177FA318807F
549 127FEFFF006C7E5F6C6C4A5A6D1403D80FFEEC0FF86C6C6CEB3FF06C9039F001FFE0C690
550 B612806D92C7FC011F14FC010314E09026003FFEC8FC32487BC63D>56
551 D<EC1FFC49B512C0010714F0011F14FC90393FF807FE903AFFE001FF8048496C7F48496D
552 7E4890C7FC48486E7E83001F151F003F825B007F82A2160F8312FFA21880A618C0A3007F
553 5DA3123FA26D5C121F000F5DA26C6C91B5FC6C90388001EF6C9038C003CF6CEBE0076DB5
554 128F011F020F1380010713FC010013F0EC010091C7FC18005EA3D803F85D487E486C5D16
555 3F486C5DA24C5AA2494A5A4B5B6C485D494990C7FCD807E0EB0FFE6D495AD803FEEBFFF8
556 6CB612E06C5D013F91C8FC010F13F80101138032487BC63D>I<DC1FFFEC01C00303B500
557 F01303033F02FE13074AB7EA800F0207EEE01F021F903AFC003FF03F027F01C0903807FC
558 7F4A48C73801FEFF010301F8EC007F4901E0814949150F4990C97E494882494882495A48
559 844A177F4849173F5A4A171F5A5C48190FA291CBFC481907A35AA24995C7FCA212FFAD12
560 7FA27FF207C07EA37E80F20F807E807E6EEF1F007E6C6D173E6E177E6C197C6D6C17FC6D
561 6C4C5A6D6C4C5A6D01C04B5A6D6D4B5A6D01F8ED3F80010001FE03FFC7FC91267FFFC0EB
562 03FE021F01FCEB3FF8020790B65A020116C0DA003F4AC8FC030314F8DB001F13804A4D79
563 CB59>67 D<BB12C0A486D8000F01C0C77E18071801F0007F193F191F190F1907861903A3
564 1901A3EF0F80A2737EA497C7FC171FA2173F177F17FF160392B6FCA5EDC0031600177F17
565 3F171FA2050FEC0F80A3F21F00A494C8FC621A3EA21A7EA31AFE6219011903A21907190F
566 F13FF819FF1803183FBBFCA262A3494A7CC951>69 D<DC1FFFEC01C00303B500F0130303
567 3F02FE13074AB7EA800F0207EEE01F021F903AFC003FF03F027F01C0903807FC7F4A48C7
568 3801FEFF010301F8EC007F4901E0814949150F4990C97E494882494882495A48844A177F
569 4849173F5A4A171F5A5C48190FA291CBFC481907A35AA24995C8FCA212FFAD127F0507B7
570 12C07FA27EA294C7000FEBC0006C7FA37E807E807E6C7F806C7F137F6D7E6D6C7E6D6D5D
571 6D7F6D01F85D010001FE92B5FC91267FFFC0EB03FC021F01FE90381FF87F020790B6EAF0
572 3F0201EEC00FDA003FED0003030302FC1300DB001F018091C7FC524D79CB60>71
573 D<B700F890B712FCA5D8001F0180C8000FEBC000B3AA92B9FCA50380C8120FB3AEB700F8
574 90B712FCA5564B7BCA60>I<B712FEA5D8001F0180C9FCB3B3A4193EA4197E197CA519FC
575 A31801A2F003F8A21807180F181F183F187FEF01FF1707173FBA12F0A53F4B7BCA4A>76
576 D<B600C095B612806F5FA26F5FA2D8001F09FCC7FC6FEF07BFA2DABFFCEF0F3FA2DA9FFE
577 171EA2028F183C81A202876D1678A202836D16F0A202816DED01E0A302806DED03C0A26F
578 6CED0780A26F6CED0F00A26F6C151EA36F6C5DA26F6D5CA26F6D5CA26F6D495AA36F6D49
579 5AA2706C495AA2706C49C7FCA3706C131EA2706C5BA2706D5AA2706D5AA370EBE1E0A270
580 EBF3C0A271B45AA27190C8FCA3715AA2715AA2496C6E5AB600F04CB71280A2715AA2715A
581 694B7BCA74>I<B600C092B612FCA2818181D8001F6D9239001FE000745A81818202BF7F
582 149F82028F7F02877F148302817F8202807F6F7F816F7F836F7F6F7F81836F7F6F7F707F
583 8284707F707F707F8284707F707F8371138019C07113E07113F0837113F819FC7113FE71
584 13FF841A8F7213CF7213EF7213FF84A284848485A285858585A2858585496C177FB612F8
585 1A3F1A1F1A0FA2564B7BCA60>I<B912C018FCF0FF8019F085D8001F90C7000713FE9438
586 007FFF061F13807213C07213E07213F0841AF8A27213FCA31AFEA81AFCA34E13F8A21AF0
587 604E13E04E13C04E1380067F1300943807FFFC92B75A19E096C7FC18F80380CAFCB3ABB7
588 12F8A5474B7BCA54>80 D<B9FC18F8F0FF8019E019F8D8000F902680000713FE9439007F
589 FF80061F7F06077F727F727FA2727F86A2197F86A86219FF62A24E5B624E5B4E5B061F5B
590 067F90C8FC943807FFFC92B712F0198006FCC9FC18FF922680001F13C005077F050113F8
591 717F727E183F727EA2868486A786A71C3E8684A28474137C726D13FCB700F86D6D13F896
592 397FFF03F07313FF070F14C007011480CD380FFE00574C7CCA5C>82
593 D<DA3FF8EB01C00103B5EA8003010FECF007013FECFC0F90B6EAFE1F489039E007FFBF48
594 90C7EA7FFFD807FC141F484814074848804980003F81177F4848153FA2171FA200FF160F
595 A37F17077FA27F6D92C7FC6CB4FC14C014FC6CEBFFC015FC6CECFFE016FC6C15FF6C16C0
596 6C16F06C826C826D81011F81010716801301D9003F15C01401DA001F14E01501DB001F13
597 F01607827013F882177F0078163F12F8A2171FA37E18F0A27EA26CEE3FE07F18C001E015
598 7F6DEDFF806D4A130001FE5CD9FFC0495AD97FFEEB3FFCD8FE1FB612F0D8FC075DD8F801
599 158026F0003F49C7FC48010113E0354D79CB44>I<003FBB12C0A5DA80019038F8001FD9
600 F800160148487113E001C0183F49181F90C7170FA2007E1907A3007C1903A500FC1AF048
601 1901A5C894C7FCB3B3A749B812F8A54C4A7CC955>I<B700F0023FB512F8A5D8001F0180
602 C9380FE000745AB3B3AD6D4E5AA2817F50C7FC7F6F163E6D187E6F167C6D18FC6E6C4B5A
603 6E6CED07F06EB44B5A6E6DEC3FC06E01E0ECFF80020101FE011F90C8FC6E6CB612FC031F
604 15F0030715C003004AC9FC040713E0554C7CCA5E>I<ECFFF8010FEBFF80013F14F090B6
605 12FC489038801FFE3B03FC0007FF80486C6D7F6D6D7F486D7E707EA283163F6C90C77FA2
606 6C5AEA00F890C8FCA4ED1FFF020FB5FC91B6FC1307013FEBC03F9038FFFC004813F00007
607 13C04890C7FC485A485AA2485AA2485AA4167FA26C6C14FF16EF6C6C13016D903803CFFF
608 6C6CD90F8F13FE6C9038C07F0700039038FFFE03C6ECF801013F9038E0003F010390C9FC
609 37337CB13C>97 D<EB7FC0B5FCA512037EB3A2ED07FE92383FFFE002C1B512F802C714FE
610 913ACFF807FF809126FFC0017F92C7EA7FF002FC6E7E4A141F4A814A6E7EA2717E1980A3
611 7113C0A419E0AA19C0A44D1380A21900A24D5A804D5A6E4A5A6E4A5A02BE4A5A91261F80
612 015B9027FE0FF00F5B496CB548C7FCD9F80114F8496C6C13C0C8D80FFCC8FC3B4D7CCB44
613 >I<913807FF80027F13F80103B512FE010FECFF804948C613C0D97FF0EB1FE04948EB3F
614 F04849137F4849EBFFF84890C7FCA2485A121F49EC7FF0123FEE3FE0EE0F80484891C7FC
615 A312FFAB127FA27FA2123FA2001F163E7F120F6D157C6C6D14FC6C16F86C6DEB01F06C01
616 F013076D6CEB0FE06DB4EB7F80010F90B51200010314FCD9007F13F0020790C7FC2F337C
617 B137>I<EF1FF0EE3FFFA51600177FB3A2EC07FE91387FFFC00103B512F0010F14FC9039
618 3FFE00FFD97FF0EB3FFF4948130F48497F48497F4890C77E484880A2485AA2123FA2485A
619 A412FFAA127FA46C7EA3121F6C7E5E6C6C5C6C5D6E5B6C6D497F26007FF0017FEBFFE090
620 393FFC03FE010FB512F8010314E00100148091260FFC00EBC0003B4D7CCB44>I<EC07FF
621 027F13F00103B512FC010F14FF90263FFC037F90267FF0007FD9FFC0EB3FE048496D7E48
622 90C76C7E5A48486E7EA248486E7EA2003F82A2484880A21880A212FFA290B8FCA401F8CA
623 FCA5127FA36C7EA3001FEE0F807F120F6C6CED1F006E5C6C167E6C01E05C6C6D495AD93F
624 FCEB07F0903A1FFF803FE0010790B55A010192C7FCD9003F13F80203138031337DB138>
625 I<ED7FE0913807FFF8021F13FE027F7FDAFFE013800103010113C0EB07FE49484813E014
626 F8131F14F0133F4A6C13C0137F9238007F00163E93C7FCADB77EA526007FF0C8FCB3B3A2
627 003FB512F8A52B4D7DCC26>I<DA3FF8EB0FE00103B538807FF8010F9138E1FFFC013F14
628 FB903B7FF01FFFF3FE2701FF800313034A7E48486DEB81FC000716C1EFC0F8484891387F
629 E000A2001F82A8000F5EA26C6C4A5AA200035E6C6C4990C7FC6E5A6C9038F01FFC91B55A
630 D801EF14E0D803C314809026C03FF8C8FC000790CAFCA57F7F13FC90B612F8EEFFC06C16
631 F017FC6C16FF18806C17C06D16E048B812F01207D81FF8C7000713F8D83FE0EC007F4915
632 1F007FEE0FFC5B00FF1607A56C6CED0FF8A26C6CED1FF06D153F6C6CED7FE06C6CEDFFC0
633 6CB46C01071380000101F090383FFE006C6CB612F8011F15E0010392C7FCD9001F13E037
634 487DB03D>I<EB7FC0B5FCA512037EB3A24BB47E030F13F0033F13FC4B13FF9126C1FE07
635 7F9138C3F0039126C7C0017F1580DACF008002DE7F02DC8114F8A25CA35CB3AAB6D8C07F
636 EBFFE0A53B4C7BCB44>I<13FC487E3807FF80A2487F487FA66C5B6C5BA2D801FEC7FC6C
637 5A90C8FCACEB7FC0B5FCA512037EB3B3B61280A5194D7BCC22>I<EB7FC0B5FCA512037E
638 B3A393383FFFFEA5DC03FEC7FC5FEE07F0EE1FE04C5A4C5A04FEC8FCED03FC4B5A4B5AED
639 1FC0ED7F804BC9FC14C102C37F14CF02DF7F91B57E825C4A6C7E4A6C7E02E07FECC01F6F
640 7E6F7F836F7F816F7F83707E163F707E707E848284B6D8803FEBFF80A5394C7CCB41>
641 107 D<EB7FC0B5FCA512037EB3B3B3AAB61280A5194C7BCB22>I<D97FC0D9FFC0EC3FF0
642 B5010701F8903801FFFE031F01FE01076D7E037F9026FF801F14E0DBFE039026C03F807F
643 9126C3F0019138FC007F00039026C7C000D9E1F06D7E6C4A5D02CFC7D9F3C08002DE9126
644 7FF780131F02DC93C7FC02F803FE81A24A5DA34A5DB3AAB6D8C03FB5D8F00FB512FCA55E
645 317BB067>I<903A7FC001FF80B5010F13F0033F13FC4B13FF9126C1FE077F9138C3F003
646 00039026C7C0017F6C1480DACF008002DE7F02DC8114F8A25CA35CB3AAB6D8C07FEBFFE0
647 A53B317BB044>I<913807FF80027F13F80103B6FC010F15C090261FFE017F903A7FF000
648 3FF8D9FFC0EB0FFC48496D7E4890C76C7E4817804980000F17C048486E13E0A2003F17F0
649 49157FA2007F17F8A400FF17FCAB007F17F8A36C6CEDFFF0A3001F17E06D5C000F17C06C
650 6C4A13806C17006C6D495A6C01E0EB1FFC6D6C495A903A3FFE01FFF0010FB612C0010392
651 C7FCD9007F13F80207138036337DB13D>I<90397FC007FEB590383FFFE002C1B512F802
652 C714FE913ACFF80FFF809126FFC0037F000391C713F06C01FC6E7E4A143F4A814A6E7E17
653 0F84198083A219C0A283A219E0AA19C05FA31980A24D1300A24D5A804D5A6E4A5A6E4A5A
654 6E495B6E6C485B9126EFF01F5B02E7B548C7FC02E114F8DAE07F13C0DB0FFCC8FC92CAFC
655 AFB612C0A53B467CB044>I<9039FF801FC0B5EB7FF8913881FFFE02837FDA87E11380EC
656 8F830003D99F0713C06C139E14BC14B814F84A6C1380A26F13009138E0007C93C7FCA35C
657 B3A8B612E0A52A317CB032>114 D<D907FF1370017FEBE1F048B512FB000714FF380FFC
658 00D81FE0133F49130F4848130748C71203A3481401A27FA27F01F090C7FC13FE387FFFF0
659 ECFF806C14F015FC6C14FF6C15806C15C06C15E0C615F0013F14F81307D9003F13FC1401
660 9138003FFE150F0078140700F81403A26C1401A36C15FCA27E6DEB03F87F6DEB07F06DEB
661 1FE001FEEB7FC048B61280D8FC3FEBFE00D8F00F13F8D8E00113C027337CB130>I<14F8
662 A61301A41303A21307A2130FA2131F133F137F13FF1203000F90B512F0B7FCA426007FF8
663 C7FCB3A6167CAA013F14F880131FED01F090380FFE03903907FF07E06DEBFFC06D148090
664 39007FFE00EC0FF826467EC430>I<D97FE0EC3FF0B5EC7FFFA5000315016C81B3AB5EA3
665 5E7EEE077F160F6D6C011E7F6D6C013CEBFFE09138FE01F8010FB512F06D14E001011480
666 9027001FFE00EBC0003B327BB044>I<B66C90B512C0A5000101E0C73807F0006E5D6C5F
667 6E140F017F5E80171F013F93C7FC6E5C011F153E6E147E6D157C6F13FC6D5DEDC001A26D
668 01E05B16036D5DEDF0076D5DEDF80F027F5CEDFC1F023F91C8FC15FE5E021F133EEDFF7E
669 6E137C16FC6E5BA26E5BA36E5BA26E5BA26F5AA26FC9FCA23A317DAF41>I<B6D88007B5
670 12C0A526007FFCC7387F8000013F037EC7FC6E14FE6D6C495A6D6D485A6D6D485A6D01E0
671 5B4C5A6D6D485A6DEBF83F6E6C48C8FC91383FFEFE6E6C5A5E6E5B6E5B806E7FA26E7F82
672 824A7F5C4A80DA0FE77FDA1FC37FDA3F817F4AC67F147E4A6D7E49486D7E01036E7E4948
673 6D7F49487F49488149486D7F017F6E7FB500F8011FEBFFF0A53C307EAF41>120
674 D<007FB500C090387FFFE0A5C601F0C73803F8006E5D017F5E6E1407013F5E6E140F011F
675 5E6E141FA26D6D91C7FC5F6D153E6F137E6D157C6F13FC6D5DEDF0016D5DEDF803027F5C
676 15FC1607DA3FFE5B160F021F5CEDFF1F6E91C8FC16BF6E13BE16FE6E5BA36E5BA26E5BA2
677 6F5AA26F5AA26F5AA393C9FC5D153E157E157CD81F8013FC486C5B387FE001D8FFF05B14
678 035D14074A5A49485A007F49CAFCEBC07E383F81FC6CB45A6C5B6C13C0C648CBFC3B467E
679 AF41>I<001FB712FCA4DA000113F801F84913F001E04913E05B494913C04B138048C748
680 1300A24B5A4B5A003E495B5E5C4A5B4A5BC75C5C4A90C7FC4A5A4A5AA2495B4949137C49
681 5B5D5B495B4990C712F85C137F495A48491301485BA248491303484913074849130F161F
682 4890C7EA7FF04848EB03FFB8FCA42E307DAF37>I E
683 %EndDVIPSBitmapFont
684 %DVIPSBitmapFont: Fo cmbx12 17.28 42
685 /Fo 42 123 df<19F0F001F819FC1803A2180719F8180F19F0A2181F19E0183F19C0A218
686 7F198018FF1900A25F60170360A2170760170F60A2171F60173F60A2177F60A217FF95C7
687 FC5E5FA216035F16075FA2160F5F161F5FA2163F5F167F5FA216FF94C8FC5D5EA215035E
688 15075EA2150F5E151F5EA2153F5E157F5EA215FF93C9FC5C5DA214035D14075DA2140F5D
689 141F5DA2143F5D147F5DA214FF92CAFC5B5CA213035C13075CA2130F5CA2131F5C133F5C
690 A2137F5C13FF91CBFCA25A5B12035BA212075B120F5BA2121F5B123F5BA2127F5B12FF90
691 CCFCA25A127E123C3E9077EB51>47 D<ED0FFF4AB512F8020F14FF023F15C091B712F049
692 D9FC037F01079039E0007FFE490180EB1FFF4990C76C7F49486E7F49486E7F49486E7FA2
693 48496E7F48844A157F4884A248496F7EA3481980A34819C0A24A81A24819E0A7B518F0B3
694 A86C19E0A76C19C06E5DA36C1980A36C1900A26E5D6C60A26C606E15FF6C606C6D4A5B6E
695 5C017F5F6D6C4A5B6D6C4A5B6D01C0013F90C7FC6D6D495A6D9039FC03FFFC010090B612
696 F0023F15C0020F92C8FC020114F8DA001F138044607ADD51>I<16F04B7E1507151F153F
697 EC01FF1407147F010FB5FCB7FCA41487EBF007C7FCB3B3B3B3007FB91280A6395E74DD51
698 >I<EDFFF8021FEBFFC091B612F8010315FE010F6F7E013F16E090267FFC0114F89027FF
699 C0003F7F4890C7000F7FD803FC02037F48486E148048486E14C048486F13E0496F13F0EA
700 3FF801FE6F13F8486C816E16FC80B56F13FE80A219FF83A36C5BA26C5BA26C90C8FCEA07
701 FCD800E04B13FE90C9FCA219FC5FA219F85F19F04D13E0A24D13C0198094B512004C5B60
702 4C5B4C5B4C5B604C90C7FC4C5A4C5A4C5A4B13E04B5B4B5B4CC8FC4B5A4B5AED3FE04B48
703 143F4B5A4A90C8FC4A5ADA07F8157E4A5A4A5A4A5A4A5A02FEC912FE495A495A4948ED01
704 FC4948150749B8FC5B5B90B9FC5A4818F85A5A5A5A5AA2BAFC19F0A4405E78DD51>I<ED
705 7FFE0207B512F0023F14FF91B712C0010316F0010FD9C00F13FC90271FFC00037FD93FE0
706 01007FD97F806E7F49C86C7F4848836D6F7F4813C06E82486D8080486D82A4805CA27E61
707 4A5C6C5B6C495E6C6C5A011EC85A90C95C615F6194B5C7FC604C5B4C5B4C5B041F13C04C
708 5B922607FFFEC8FC020FB512F817E094C9FC17F817FF91C7001F13C0040313F804007F71
709 B4FC717F7113E085717FA2717F85A285831A80A31AC0EA03FCEA0FFF487F487FA2487FA2
710 B57E1A80A44D14005C6C605C4D5B6C90C8FC494B5BD81FF05F6C6C5DD807FE4B5B6C6C6C
711 91B55A6C01F0010391C7FC6C9026FF801F5B013F90B612F86D16E00107168001004BC8FC
712 021F14F0020049C9FC426079DD51>I<F01F804E7E187F18FFA25F5F5F5FA25F5F5FA294
713 B5FC5E5E5EA25E5EEE3FBFEE7F3FA216FEED01FCED03F8ED07F0A2ED0FE0ED1FC0ED3F80
714 16005D15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24AC7FC14FE495A5C1303495A495A495A5C
715 133F49C8FC13FE485AA2485A485A485A5B121F485A48C9FC12FEBCFCA6CA6CEBC000B103
716 7FB8FCA6485E7CDD51>I<01C0EE01C0D801F0160701FE163FD9FFE0EC03FFDAFF8090B5
717 FC92B71280190060606060606095C7FC5F17F817E017804CC8FC16F0D9FC3F90C9FC91CB
718 FCAEED3FFE0203B512E0020F14FC023F14FF91B712C001FDD9E00F13F09027FFFE00037F
719 02F801007F02E06EB4FC02808091C86C13804917C04917E049816C4817F090C914F8A371
720 13FCA219FEA419FFA3EA03F0EA0FFC487E487E487FA2B57EA319FEA35C19FC6C90C85A49
721 17F85BD83FF017F001805D001F18E07F6C6C4B13C06D4B13806C6C92B51200D803FE4A5B
722 6C6C6C495B6C01E0010F5BD97FFE017F13E0011FB75A6D93C7FC010315FC010015E0023F
723 91C8FC020313E0406078DD51>I<EE1FFE4BB512E0031F14F8037F14FE4AB7FC0207D9F8
724 017F021F9039C0003FC04A48C76C7EDAFFFC140F4901F06E7E4949143F4949ECFFF84949
725 5B4990C75A49834A5C495A13FF5C5A5A4A6E5B5A715B48705B4AED3F8095C8FC5AA35AA2
726 5C923801FFC048020713FC031FEBFF80037F14E092B67E9126C1FC0113FCB53AC3F0007F
727 FEDAC7C0EB1FFF4B6D7F02CFC76C7F02CE6E7F02DE8202DC6E7F14F885855C717FA25C1A
728 80A44A17C0A37EA77EA46C6D1780A37E1A007EA24D5B6C7F617E6C6D4A5B616D6C4A5B6D
729 7E6D6C4A5B6D6D495B6D01E0017F90C7FC6D9039F803FFFC6D90B65A6D6C15E0021F5D02
730 0792C8FC020114F8DA001F90C9FC426079DD51>I<EA07E0120F7F13FCEBFFFC91B912F8
731 A45A1AF01AE0A21AC01A801A00614860A261616101E0C9EA3FC001805F48CA127F4EC7FC
732 4D5A007E4C5A4D5A60170F4D5A484C5A4D5A4DC8FC5FC912014C5A4C5A4C5AA24C5A163F
733 5F4C5A16FFA24B90C9FC5D5E1507A24B5A151FA2153F5E157FA315FF5E5CA35CA35CA25E
734 5CA45CA75CAC6E5B6E5B6E90CAFC6E5A6E5A456377E051>I<ED1FFF0203B512F8021F14
735 FF027F15C049B712F049D9E00313FC010F90C76C7ED91FF8EC1FFF49486E7F494802037F
736 4A6E7F495A48707FA24890C96C7EA25A727EA35A80A28080806E4B5A14FE8003C04A5A6C
737 14F06F495B03FE5D6C6E6C5ADCE0075B6C6F4890C7FC9338FC1FFE6C9238FF7FF86D4B5A
738 18C06D93C8FC6D5D6D6F7E6D82010116F06D16FC023F818491B87E010383010F6D819026
739 1FFE1F8190267FF80F819026FFF003814849C6FC4849013F8048497F4890C70007801601
740 48486E6C14804981003F160F170348486F14C0717E8448488284A284A284A21A80A36C7E
741 1A00A26D4C5A123F6D5F001F170F6D4C5A6C6D4B5A6C6D157F6C01F04B5A6C6D02035B6C
742 01FF020F5B6D9027E001FFFEC7FC011F90B65A6D16F0010316C0D9007F92C8FC020F14F8
743 DA007F90C9FC426079DD51>I<ED3FFE0203B512E0021F14FC027F14FF49B712C00107D9
744 F8077F49D9C00013F84990C76C7ED97FFE6E7E49486E7E48496E7F4849808548496E7F5A
745 717F5A85485B855AA28583B5FC85A41A80A71AC0A26C5EA47E5FA26C7F5F7EA26C160E6C
746 6D141E6C161C6C6D143C6D6C5C6D6C14F8903A1FFF8003F06D9038E00FE06D90B5481480
747 01015D6D6C495A020F13F8020013E092C8FC1A00A25F61A361137F3801FFC0486D4A5B48
748 7F61487F4D5BA24D5B615F4A93C7FC6C4C5A4A4A5A4A14FF6C90C7485B01FC4A5B6C6C02
749 0F13C06D6C013F5B6CD9F801B5C8FC6DB612FC011F15F06D15C0010392C9FC010014F802
750 0F90CAFC426079DD51>I<942601FFFEED03C0057FD9FFF014070407B600FE140F043F6F
751 6C131F4BB800E0133F030705F8137F031F9127F0007FFE13FF037F49C73807FF014AB500
752 E0020013C302070280ED3FE74A49C96CB5FC4A01F81607027F01E08291B54882494A8249
753 49CB7E49498449498449864949845D49498490B5855D48874891CDFC1D7F485BA2481C3F
754 5CA25A1D1F5C5AA34899C7FCA25CA4B5FCAE7EA480A27EA2F50FC07E80A27EA2806CF41F
755 80A26C7F1D3F6C6E1A007E6F197E7F6D6D616F18016D6D616D1A036D6D4E5A6D6D4E5A6D
756 6D6C4D5A6D6E173F6E6D4D5A021F01F84C48C7FC6E01FEEE07FC6E6D6C4B5A020102F0ED
757 7FF06E6C01FE913803FFC0031FD9FFF0013F5B030791B648C8FC030117F8DB003F16E004
758 0793C9FCDC007F14F8050149CAFC626677E375>67 D<BD12E0A41CF0A2D8000102C0C712
759 07F1003F1A0F1A031A001B7F1B3FF31FF81B0FA21B07A21B03A21B011CFCA31B00A419FC
760 A21C7EA41C00A21801A31803A21807180F183FEF01FF93B6FCA6EEC001EF003F180F1807
761 1803A21801A31800A896C9FCB3A5B912F8A657617AE065>70 D<B912E0A6C702E0C7FCB3
762 B3B3B3AEB912E0A633627CE13C>73 D<B700C0083FB612F070627097B7FCA37061D80001
763 0DF8C7FC70F103EFA202FD6DF107CFA202FC6DF10F8FA36F6DF01F0FA26F6D183EA26F6D
764 187CA26F6D18F8A36F6DEF01F0A26F6DEF03E0A26F6DEF07C0A26F6DEF0F80A3706DEE1F
765 00A2706D163EA2706D5EA2706D5EA3706D4B5AA2706D4B5AA2706D4B5AA2706D4B5AA371
766 6D4AC7FCA2716D143EA2716D5CA2716D5CA3716D495AA2716D495AA2716D495AA2716D49
767 5AA3726D48C8FCA272EBC03EA2726D5AA2726D5AA372EBF9F0A272EBFFE0A2725CA2725C
768 A37390C9FCA2735AA2735A90381FFFC0B700F86E480207B812F0A3735AA2735A8C627AE1
769 99>77 D<94381FFFE00407B67E043F15F04BB712FE030FEEFFC0033FD9FC0014F092B500
770 C0010F13FC020349C7000113FF4A01F86E6C7F021F01E0031F13E04A496F7F4A90C90003
771 7F4A48707F0103497013FF4949717FA24949717F4949717F4949717F49874B8390B58648
772 91CB6C7FA24849727FA2481D804A84481DC0A348497313E0A3481DF0A448497313F8A5B5
773 1CFCB06C1DF8A26E61A46C1DF0A36E96B5FC6C1DE0A36C6D4E14C0A26C1D806E606C1D00
774 A26C6E4D5BA26C6E4D5BA26D6D4D5B6D6D4D5B6D636F5F6D6D94B55A6D6D4C5C6D6D4C91
775 C7FC6D6E4B5B6D6E4B5B023F01F0033F13F06E6D4B5B6E01FE4AB55A0203D9FFC0010F91
776 C8FC020002FC90B512FC033F90B712F0030F17C0030394C9FCDB007F15F804071580DC00
777 1F01E0CAFC666677E379>79 D<BA12F8F1FFE01AFEF2FFC01BF01BFED800010280C76C7F
778 070314C0070014F0083F7F080F7F747F747F8986897480A3757FA389A865A398B55AA265
779 62655091C9FC64505B081F5B505B97B55A07071480077F49CAFC93B812F81BC050CBFCA2
780 747E932680000314E0DE007F13F8071F7F07077F737F7380738088747FA2747FA3747FA9
781 88A91F0FF71F808886A21F3F746E1400A2746E5B74167EB96E6E13FE759038F801FC7590
782 38FE07F8090F90B55A755D09005DCF001F91C7FC9938007FFC71647AE178>82
783 D<DB7FFCEC01E0020FB500E01303027F14FC49B713070107EEC00F49EEF01F013FD9C003
784 EBF83FD97FFCC7383FFC7FD9FFF00207B5FC4849140148496E7E48498191C97E48488249
785 82001F8384484882197F127F193FA2191F12FFA2190F7FA27F19077F8080806C6D93C7FC
786 14FCECFF806C14F8EDFF8016FC6CEDFFC017FE6CEEFFC06C17F818FE6C836C18C06C846D
787 17F86D836D8313076D8301001880023F17C0140F020017E0150FDB007F15F01607DC003F
788 14F81703DD007F13FC848418077213FEA2007C8300FC83A2197FA3193F7EA21AFCA27EA2
789 7F1AF86D177F1AF07F6DEFFFE07F6D4C13C07F6D6C4B138002E04B130002F84B5A02FEED
790 3FFC9026CFFFE0ECFFF8018301FF01075B010091B65A48013F168048010F4BC7FC480101
791 15F8DA003F14C048020001FCC8FC476677E35A>I<001FBEFCA64849C79126E0000F1480
792 02E0180091C8171F498601F81A0349864986A2491B7FA2491B3F007F1DC090C9181FA400
793 7E1C0FA600FE1DE0481C07A5CA95C7FCB3B3B3A3021FBAFCA663617AE070>I<B96C023F
794 B612FEA6D8000102C0CA0007EBF000E2007FC7FCB3B3B3AA6D6365A28280525AA26E1903
795 70606E1907656E6D170F6E6270171F6E4F5A6E6D4D5A6E6D4DC8FC6F6D4B5A6F01E0ED07
796 FC6F6DED1FF86F01FCED7FF00303D9FF80903803FFE06F02F8017F5B6F6C90B7C9FC041F
797 5E040716F8040016C0050F4ACAFCDD003F13C06F647AE17C>I<913803FFF8027FEBFFC0
798 0103B612F8010F15FE013F6F7E90277FFC003F13E0D9FFC001077F4801F06D7F486F7F6E
799 6D7F48707E6E6E7FA2717FA2856C5B836C4982A238007FC0011FC8FC90C9FCA7043FB5FC
800 031FB6FC0203B7FC143F91B5EAF00F0107EBFE00011F13F0017F13C090B5C7FC00035B48
801 13F8485B5C5A485B5C5AA2B5C8FCA45FA36C6D143B177B17736C6D14F36C6DD901E37F6E
802 D907C313FF6C01FCD91F8114FE000301FFD9FF0114FF6C9138FFFE006C6C4A7F011F02F0
803 131F010302C0010313FE9026001FFCCAFC48437BC14E>97 D<903807FF80B6FCA6C6FC7F
804 7FB3A8EFFFF0040FEBFF80043F14F00381B612FC038315FF92268FFE0080DBBFF0010F13
805 E0DBFF8001037F93C76C7F03FC6E7F4B6F7E4B6F7E4B6F13805D7313C01BE0A27313F0A2
806 1BF8A37313FCA51BFEAC1BFCA41BF861A21BF0A24F13E0A21BC0616F17804F13006F5D6F
807 4B5A6F4A5B4A6C4A5B9126FC7F804913E09126F81FE0011F5B9127F00FFC01B55A4A6CB6
808 48C7FCDAC00115F84A6C6C14C091C7001F49C8FC90C8000113E04F657BE35A>I<92380F
809 FFE092B6FC020715E0023F15F891B712FE499039FE001FFF010701F0010113804901C001
810 0713C0494915E0017F90C75A4A16F049485C485B485B5A5C487013E0A248496E13C0A248
811 04011300EF007C95C7FC485BA5B5FCAC7EA3807EA36C7F19FC7E806CEF01F8806CEF03F0
812 6C6D15076E16E06C6D150F6D6DEC1FC06D6DEC3F806D6DECFF00010701FCEB03FE6D9039
813 FF801FFC010091B512F0023F15C0020F92C7FC020014F8030F13803E437BC148>I<F17F
814 F8050FB5FCA6EF000F8484B3A8ED0FFF92B512F0020714FE023FECFF8391B712C3010391
815 38007FF34901F0EB07FB011F01C00101B5FC49497F4990C87E4948814849814A81484981
816 5A5C5A5C5AA25AA25C5AA4B5FCAC7EA56C7FA37EA26C7FA27E6C6D5D606C6D5D6C6D5D6D
817 6C92B5FC6D6C4A806D6D0107806D01E0D91FF7EBFFFE010301FEEBFFC76D90B612876D6C
818 ECFE07020F14F8020314C09127001FFE00ECC0004F657BE35A>I<92380FFFC04AB512FC
819 020FECFF80023F15E091B712F80103D9FE017F499039F0003FFE4901C0EB0FFF4990C76C
820 7F49486E7F49486E7F49486E7F48844849157F48844A153F48845A4A151F855AA3485B72
821 1380A3B5FCA391B9FCA31A000280CBFCA67EA3807EA37E6E160F6CF01F80A26C6D163F6C
822 19006E5E6C6D16FE6C606D6C15016D6C6CEC07F86D6D4A5A6D01F0EC3FE0010301FC49B4
823 5A6D9026FFC01F90C7FC6D6C90B55A021F15F8020715E0020092C8FC030713F041437CC1
824 4A>I<EE3FFC0307B5FC033F14C092B612F0020315F8020F9038F03FFC4AEB807F913A7F
825 FE00FFFE4A5A4B4813FF4913F04913E0A24913C0A2496E13FEA24949EB7FFCEF3FF8EF1F
826 F0EF038094C7FCB0B812C0A6D8001F01C0C8FCB3B3B0007FB612FCA638657CE431>I<F1
827 07F0DB7FFCEC3FFC020FB500E090B5FC023FECF80349B7000F148049D9E00FEB9FF1010F
828 D98003D9FF8113C04948C7EBFC014948EC7FF84948EC3FFC01FF04FE148048496E6C7E1B
829 0048F0803C4A6E91C7FC4884A34884A86C60A36C606E5C6C95C8FCA26C6D4A5A017F5E6D
830 6C4A5A6D6C4A5A90270FFF80035B49D9E00F1380013D90B6C9FCD9783F14F8020F14E090
831 27F8007FFCCAFC92CCFCA21201A47F7FA26D7E14E091B7FC18FC6CEFFF8019F06D17FC85
832 6D717E6D8486010784131F017F8448BAFC000701C0C70001804890C9120F484804017F48
833 48EE007F49173F007F727E5B00FF84A76C6C4D5AA26C6C4D5AA26C6C4D5A6C6C4D5A6C01
834 C003035B6C6D4B5BC601F8031F90C7FC6DB4EDFFFE011F01F8011F13F8010390B712C001
835 0094C8FC020F15F0DA003F01FCC9FC4A607CC151>I<903807FF80B6FCA6C6FC7F7FB3A8
836 EF0FFF94B512F0040314FC040F14FF4C8193267FC03F7F9326FE001F7FDB81F86D7FDB83
837 E07FDB87C06D7F5E038FC780159E039C8015BC03B88215F0A35DA35DB3B3B7D8F007B712
838 80A651647BE35A>I<EB0FE0EB3FF8497E497E487F4880A24880A76C5CA26C91C7FC6C5B
839 6D5A6D5AEB0FE090C9FCAF903807FF80007FB5FCA6C6FC7F7FB3B3AEB712C0A622657BE4
840 2C>I<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>108
841 D<902607FF80D90FFFEE7FF8B691B500F00207B57E040302FC021F14E0040F02FF027F14
842 F84C6F90B67E93267FC03F9027C003FE017F9326FE001F9027E007F0007FC6DA81F86D90
843 26F00FC06D7F6DD983E06D4AC77E6DD987C06DD9F83E6E7F4C163C038FC76E4882039E5F
844 039C6E4A8003BC16FD03B8DCFFC08203F05FA34B94C8FCA34B5EB3B3B7D8F007B7D8803F
845 B612FCA67E417BC087>I<902607FF80EB0FFFB691B512F0040314FC040F14FF4C819326
846 7FC03F7F9326FE001F7FC6DA81F86D7F6DD983E07F6DD987C06D7F5E038FC780159E039C
847 8015BC03B88215F0A35DA35DB3B3B7D8F007B71280A651417BC05A>I<923807FFE092B6
848 FC020715E0021F15F8027F15FE494848C66C6C7E010701F0010F13E04901C001037F4990
849 C87F49486F7E49486F7E49486F7E48496F13804819C04A814819E04819F04A814819F8A3
850 48496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A26C6D
851 4B13E06C19C06E5D6C19806C6D4B13006D6C4B5A6D6C4B5A6D01C001035B010701F0010F
852 13E06D01FE017F5B010090B7C7FC023F15FC020715E0020092C8FC030713E048437CC151
853 >I<902607FF80EBFFF0B6010FEBFF80043F14F00381B612FC038315FF92268FFE0080DB
854 BFF0011F13E0C6DAFF806D7F6D91C700037F6D01FC6E7F4B6E7F4B824B6F13804B811BC0
855 7313E0A27313F0A21BF885A21BFCA385A21BFEAC1BFC61A31BF8A2611BF0A24F13E0A21B
856 C0616F4B13801B006F92B5FC6F4A5B6F4A5B6F4A5B6F6C011F13E0DBDFE0495B9226CFFC
857 03B55A03C7B648C7FC03C115F8DBC07F14C0041F49C8FC040113E093CBFCB3A3B712F0A6
858 4F5D7BC05A>I<D90FFFEB07F8B6EB3FFF4C13C04BB512F04B14F8923907F87FFCED0FE0
859 C6923880FFFE6D495A6DD91E0113FF153CA21578A2DB700013FE15F04BEB7FFCA2EF1FF0
860 EF07C04B90C7FCA55DB3B0B712F8A638417BC042>114 D<DA3FFFEB07800103B5EAF00F
861 011FECFE3F017F91B5FC90B8FC0003EBE0004848C7121FD80FF81407484814014980003F
862 167F5B007F163FA2171F12FFA27FA27F01FC92C7FC13FF14C06C13FEECFFF8EDFFC06C15
863 F816FF6C16C06C826C16F86C826C826C82013F1680010F16C01303D9007F15E01403DA00
864 0F14F0ED007F160F040313F8007C8100FC81177F6C163FA2171F7EA218F07F7FEF3FE07F
865 6D16C06D157F6DEDFF8001FF4A130002C0EB07FE02F8EB7FFC019FB65A010715E0D8FC01
866 1580486C6C01FCC7FC48010713C035437BC140>I<EC07E0A6140FA5141FA3143FA2147F
867 A214FF5BA25B5B5B5B137F48B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0FC0AC
868 6D1680171F816D16005F6D6D133E6F137E6D6D5B6D9038FF03F86E13FF021F14E002075C
869 020191C7FC9138001FFC325C7DDA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE00076D
870 826D82B3B3A260A360A2606D160E181E606D6D147C4E7F6D6D4948806D6DD907E0ECFF80
871 6D01FEEB3FC06D90B65A023F5D020F14FC020314F0DA001F018002F0C7FC51427BC05A>
872 I<B700C00103B512FCA6C66C01C0C8381FFE006D6DED07F0A26D6D5E190F6D6D5E191F6D
873 606F153F6D95C7FC6F5DA26D6D157E19FE6D6E5C18016E5E7013036E5E701307A26E6D5C
874 180F6E6D5C181F6E6D5C183F6E93C8FC705BA26E6D13FEA26E6E5A17816FEBC1F817C36F
875 5C17E76F5C17FFA26F5CA26F5CA26F91C9FCA26F5BA36F5BA2705AA2705AA2705AA2705A
876 4E417DBF55>I<007FB600C0017FB512F8A6D8001F01F8C70003EBE0006D040090C7FC6D
877 6D4A5A6D6D4A5A6D6D4A5A70495A6D4C5A6E7F6E6D495A6E6D495A7049C8FC6E4A5A6E6D
878 485A6E6D485A6E13FFEF8FF06EEC9FE06FEBFFC06F5C6F91C9FC5F6F5B816F7F6F7F8481
879 707F8493B57E4B805D4B80DB0FF37FDB1FE17F04C080153F4B486C7F4B486C7F4A486D7F
880 4A486D7F4A5A4B6D7F020F6E7F4A486D7F4A486D804A5A4AC86C7F49486F7F4A6F7F0103
881 707FEB3FFFB600F049B7FCA650407EBF55>120 D<B700C00103B512FCA6D8003F01C0C8
882 381FFE006FED07F0A26D6D5E190F6D6D5E191F6D6D5E193F6D95C7FC6F5D6D177E6F15FE
883 A26D6E495AA26E6D5C18036E6D5C18076E5E70130F6E5E70131FA26E6D495AA26E6D91C8
884 FC606E6D137E18FE6E5D17816F5C17C3A26FEBE7F0A26FEBF7E017FF6F5CA26F5CA26F91
885 C9FCA36F5BA26F5BA2705AA2705AA2705AA35FA25F163F94CAFC5E167E16FED807E05CD8
886 1FF81301487E486C495AA2B5495AA24B5A5E151F4B5A6C4849CBFC15FEEBFC01393FF807
887 FC391FF03FF06CB55A6C5C6C91CCFCC613FCEB1FE04E5D7DBF55>I<0007B912E019F0A4
888 02FCC714E04801C016C091C7481480495C491700494A5B494A5B5E495E4C5B494A5B93B5
889 FC604B5C001F4A91C7FC495B5F4B5B4B5B5DC85C4B5B92B55A5C5F4A91C8FC5C4A5B5E4A
890 5B5C4CEB03F04A5B91B55A5B5E4991C7FC494914074917E05D495B495B49160F5D90B55A
891 484A141F5A92C8123F4849157F484915FF485E4A14074849021F13C0484BB5FCBAFCA47E
892 3C407CBF48>I E
893 %EndDVIPSBitmapFont
894 %DVIPSBitmapFont: Fp cmtt10 10.95 86
895 /Fp 86 127 df<121C127FA2EAFF80B2EA7F00B1123EC7FCA9121C127FA2EAFF80A3EA7F
896 00A2121C09396DB830>33 D<003C131E00FEEB3F80A26C137FA248133FB3007E1400007C
897 7F003C131E191B75B830>I<903903800380496C487E496C487EA8011F131F02C05BA400
898 3FB612FE4881B81280A36C16006C5D3A003F803F80017F137F020090C7FCA9495B495B00
899 3FB612FE4881B81280A36C16006C5D2701FC01FCC7FCA30003130301F85BA86C486C5A6C
900 486C5A29387DB730>I<147814FCA5EB03FF011F13E090B512FC4880000780481580261F
901 FCFC13C001F0EB3FE0D83FC0130FD87F80EB07F001001303007E15F812FE5A1507A3ED03
902 F07E007E91C7FC127FEA3F8013E0EA1FF8EA0FFF7E6CEBFF80C614F0013F7F010F13FE01
903 007F168002FC13C0153FED0FE0ED07F0A21503007E15F81501B4FCA35A1503A2007E15F0
904 007F1407ED0FE0D83FC0131FD81FE0EB7FC09039FCFDFF806CB612006C5C6C5CC614F001
905 3F13C0D903FEC7FCEB00FCA6147825477BBE30>I<EB07C0EB1FF0497E497E13FF803801
906 FC7EEBF83EEBF03F00037F13E0A55CA2143E91387E1FFF9026F0FE3F1380000113FC13F1
907 EBF3F89026F7F01F130001FFEB07C06C13E0ECC00F02805BEC001F4892C7FC5B00035C48
908 6C133E5A48EB807ED83FCF137C90388FC0FCD87F075B007E13E101035B00FE13F338FC01
909 FB6DB45AA26E5A023F13079238800F80A26CEB7FC0007E9038FFE01FD87F0113F0018790
910 38FC3F00263FFFF9B5FC6C01F15B14E06C9038C03FFC6C9038001FF8D800F8EB03E0293A
911 7DB830>38 D<141E147F14FF5BEB03FEEB07F8EB0FF0EB1FE0EB3FC0EB7F80EBFF005B48
912 5A485A5B12075B120F5B121F5B123F90C7FCA25A127EA412FE5AAB7E127EA4127F7EA27F
913 121F7F120F7F12077F12037F6C7E6C7E7FEB7F80EB3FC0EB1FE0EB0FF0EB07F8EB03FEEB
914 01FF7F147F141E184771BE30>40 D<127812FE7E7F6C7EEA1FE06C7E6C7E6C7E6C7E6C7E
915 7FEB3F80EB1FC0130F14E0130714F0130314F8130114FC1300A214FE147EA4147F143FAB
916 147F147EA414FE14FCA2130114F8130314F0130714E0130F14C0131FEB3F80EB7F005B48
917 5A485A485A485A485AEA7FC0485A90C7FC5A1278184778BE30>I<14E0497EA70030EC01
918 80007CEC07C000FFEC1FE00181133F01E113FF267FF9F313C0261FFDF713000007B512FC
919 000114F06C5C013F1380D90FFEC7FC90383FFF8090B512E04880000714FC391FFDF7FF26
920 7FF9F313C026FFE1F013E00181133F0101131F007CEC07C00030EC0180000091C7FCA76D
921 5A23277AAE30>I<141C143E147FAF003FB612FE4881B81280A36C16006C5DC76CC8FCAF
922 143E141C29297DAF30>I<EA07C0EA0FF0EA1FF8123F13FCA213FEA2121F120F1207EA00
923 7E13FE13FC1201A2EA07F8EA0FF0123FEAFFE013C01380EA7E0012380F18708A30>I<00
924 3FB612E04815F0B712F8A36C15F06C15E025077B9E30>I<120EEA3F80EA7FC0EAFFE0A5
925 EA7FC0EA3F80EA0E000B0B6E8A30>I<16E0ED01F0ED03F8A2150716F0150F16E0151F16
926 C0153F1680A2157F16005D5D14015D14035D14075D140F5D141F5DA2143F5D147F92C7FC
927 5C5C13015C13035C13075C130F5C131F5CA2133F5C137F91C8FC5B5B12015B12035B1207
928 5B120F5BA2121F5B123F5B127F90C9FC5A5AA2127C123825477BBE30>I<EB01FCEB07FF
929 011F13C0497F497F90B57E48EB07FC3903FC01FE48486C7E497F4848EB3F8049131F001F
930 15C049130F003F15E090C71207A2007EEC03F0A548EC01F8AD6C1403007E15F0A3007F14
931 07A26C15E06D130FA2001F15C06D131F6C6CEB3F80A26C6CEB7F006D5B6C6C485A3901FF
932 07FC6CEBFFF86D5B6D5B6D5B010790C7FCEB01FC253A7BB830>I<EB0380497EA2130FA2
933 131F133FA2137FEA01FF5A127FB5FCA213CF138FEA7C0F1200B3B0007FB512F8A2B612FC
934 A26C14F8A21E3976B830>I<EB07FC90383FFF8090B512F00003804814FE4880261FF807
935 1380EBE000D83F80EB3FC048C7EA1FE0007E140FED07F000FE1403A26C15F81501A2127E
936 A21218C8FCA2150316F0150716E0150F16C0151FED3F80ED7F005D4A5A4A5A4A5A4A5A4A
937 5AEC7FC04A5A4990C7FC495AEB07F8495AEB3FE0495A495A4890C8FCD803FC14F04848EB
938 01F8EA1FF0485A48B6FCB7FCA46C15F025397BB830>I<EB03FF011F13E090B512F84814
939 FE4880481580260FFC0013C001F0133FD81FC0EB0FE06D130716F01503A26C5A6C5AC8FC
940 150716E0A2150FED1FC0153FEDFF8002071300903807FFFE495B5D8115FF6D148090C713
941 C0ED1FE0ED0FF0ED07F8150116FC150016FE167EA21218127EB4FCA216FE16FC481401A2
942 007FEC07F86DEB0FF0D83FE0131FD81FFCEBFFE06CB612C06C15806C1500C614FC011F13
943 E0010390C7FC273A7CB830>I<EC03FC4A7E140FA2141FEC3FBE153E147F147E14FEEB01
944 FC14F81303EB07F014E0130F14C0131FEB3F8014005B13FE5B12015B1203485A5B120F48
945 5A5B123F90C7FC5A12FEB8FC1780A46C1600C8003EC7FCAA91383FFFFE4A7FA46E5B2939
946 7DB830>I<000FB612804815C0A416800180C8FCAEEB81FF018F13E001BF13F890B57E81
947 81D9FE0113809039F0007FC049131F49EB0FE04913076CC713F0C81203A216F81501A412
948 3C127EB4FC150316F015074815E0007E140F007FEC1FC06D137FD83FE0EBFF80261FF807
949 13006CB55A6C5C6C5C6C14E0D8003F1380D907F8C7FC25397BB730>I<EC0FF0ECFFFE01
950 037F010F14804914C04914E090387FF00F9039FF8007F048EB000FEA03FC5B485A4848EB
951 07E0ED03C0484890C7FC5B123F90C9FCA25A127E903803FF80011F13F0D8FE7F7F48B512
952 FE00FD80B7FCD9FC00138001F0EB3FC001C0131F49EB0FE090C7EA07F0A248140316F815
953 01A3127EA4127F6C14036D14F0A2001F14076DEB0FE06C6C131F6DEB3FC06C6CEB7F803A
954 03FE01FF006CB6FC6C5C6D13F86D5B010F13C0D901FEC7FC253A7BB830>I<1278B712FC
955 16FEA416FC00FCC7EA03F8ED07F0ED0FE00078EC1FC0C8EA3F80ED7F00157E15FE4A5A5D
956 4A5A14075D140F5D4A5AA24AC7FCA2147EA214FE5C13015CA213035CA213075CA3130F5C
957 A5131F5CA96DC8FCA2273A7CB830>I<49B4FC011F13F0017F13FC90B57E0003ECFF8048
958 15C04848C613E0D81FF8EB3FF001E0130F4848EB07F849130348C7EA01FC007E1400A500
959 7F14016C15F86D13036C6CEB07F06C6CEB0FE0D807F8EB3FC03A03FF01FF806C90B51200
960 6C6C13FC011F13F0497F90B512FE48802607FE0013C0D80FF0EB1FE04848EB0FF0D83F80
961 EB03F890C712014815FC007E140000FE15FE48157EA66C15FE007E15FC007F14016C6CEB
962 03F86D13076C6CEB0FF001F8133FD80FFEEBFFE06CB612C06C1580C6ECFE006D5B011F13
963 F0010190C7FC273A7CB830>I<EB01FC90381FFF80017F13E090B512F8488048803807FE
964 03390FF800FFD81FE0EB7F804848133F49EB1FC048C7120F007E15E0150712FE4815F015
965 03A416F8A37E127E007F1407A26C6C130F6C6C131F6D137F390FF801FF6CB6FC15FD6C14
966 F9C614F36D13C390390FFE03F090C7FCA2150716E0150F16C0151F121E003FEC3F80486C
967 EB7F005D4A5A4A5AEB000F393FC03FF890B55A6C5C6C14806C91C7FC000113F838003FC0
968 253A7BB830>I<120EEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA0E00C7FCB1120EEA3F80
969 EA7FC0EAFFE0A5EA7FC0EA3F80EA0E000B276EA630>I<EA0380EA0FE0EA1FF0EA3FF8A5
970 EA1FF0EA0FE0EA0380C7FCB1EA0780EA0FE0EA1FF0123F13F8A4121F120F120712011203
971 13F0A21207EA0FE0121FEA7FC0EAFF8013005A127C12380D3470A630>I<16E0ED01F0ED
972 07F8150F153FEDFFF04A13E0020713C04A1300EC3FFEEC7FF8903801FFE0495B010F90C7
973 FC495AEB7FF8495A000313C0485BD81FFEC8FC485AEA7FF0485A138013E06C7EEA3FFC6C
974 7E3807FF806C7FC613F06D7EEB1FFE6D7E010313C06D7F9038007FF8EC3FFEEC0FFF6E13
975 C0020113E06E13F0ED3FF8150F1507ED01F0ED00E0252F7BB230>I<003FB612FE4881B8
976 1280A36C16006C5DCBFCA7003FB612FE4881B81280A36C16006C5D29157DA530>I<1238
977 127CB4FC7F13E0EA7FF86C7E6CB4FC00077F6C13E0C67FEB3FFC6D7E903807FF806D7F01
978 0013F06E7EEC1FFE6E7E020313C06E13E09138007FF0ED3FF8150F153FED7FF0913801FF
979 E04A13C0020F13004A5AEC7FF84A5A010313C0495BD91FFEC7FC495AEBFFF000035B4813
980 80001F90C8FCEA3FFC485AEAFFE0138090C9FC127C1238252F7BB230>I<EC1FE0ECFFF8
981 010313FE010F7F4914804914C090397FE01FE09038FF800F3A01FE0007F0484813039039
982 F801F9F83907E007FF000F131F494813FCEA1F80495A48EBFF0F003EEBFC03903901F801
983 FE007EEBF000EA7C034A137EA2EAFC0712F84A133EA86E137E12FCD87C03147CA26E13FC
984 D87E0114F8003EEBF801903900FC03F0003FEBFF0F6C90387FFFE06D6C13C0EA0FC06D6C
985 13800007903807FE003903F801F86DC7127C6C6C14FE3900FF800390387FE00F6DB512FC
986 6D14F86D14E0010314C00100EBFE00EC1FF0273A7CB830>64 D<EC3F804A7EA44A7EA214
987 FBA201017FA214F1A201037FA414E001077FA490380FC07EA4011F137F4A7EA449486C7E
988 A4498091B5FCA490B67EA29038FC0007A2000181491303A3000381491301A2D87FFF9038
989 1FFFC06E5AB515E0A26C16C04A7E2B397EB830>I<007FB512F0B612FE6F7E82826C813A
990 03F0001FF815076F7E1501150082167EA516FE5E15015E15074B5AED7FE090B65A5E4BC7
991 FC6F7E16E0829039F0000FF8ED03FCED00FE167E167F82A2EE1F80A6163F17005EA2ED01
992 FE1503ED0FFC007FB65AB7FC16E05E93C7FC6C14FC29387EB730>I<91383F801C903901
993 FFF03E0107EBFC7E011F13FE4913FF4914FE9038FFC07F48EB001F4848130F4913074848
994 1303484813015B48481300A2485A167E90C8FC5A127E163C160012FEA25AAA7EA2127EA2
995 163C007F157E7E7FA26C7E16FE6C6C14FC6D13016C6C14F86C6C13036DEB07F06C6C130F
996 6C9038C03FE06DB512C06D14806D1400010713FC010113F09038003F80273A7CB830>I<
997 007FB512E015FCB67E6F7E6C81823A03F0007FF0ED1FF815076F7E6F7E1500167FA2EE3F
998 80A2161F17C0A2160FA317E01607AB160F17C0A3161F1780163FA2EE7F00A216FE15014B
999 5A1507ED1FF8ED7FF0007FB65A5EB75A93C7FC6C14FC15E02B387FB730>I<007FB612FE
1000 B8FCA47ED803F0C7123FA8161E93C7FCA4157815FCA490B5FCA6EBF000A4157892C8FCA5
1001 EE0780EE0FC0A9007FB7FCB8FCA46C16802A387DB730>I<007FB7128017C0B8FCA27EA2
1002 D801F8C7120FA8EE078093C7FCA5151E153FA490B6FCA69038F8003FA4151E92C8FCAE38
1003 7FFFF080B5FCA27E5C2A387EB730>I<027F1370903903FFC0F8010F13F1013F13FD4913
1004 FF90B6FC4813C0EC003FD803FC131F4848130F5B484813075B001F14035B123F90C71201
1005 A25A127E6F5A93C7FC12FE5AA992B5FC17805C7E007E7F1700ED01F8127F6C1403A27F12
1006 1F6D1307120F7F6C6C130F6D131F6C6C133F6CB4137FEC80FF6C90B5FC6D13FD6D13F901
1007 0F13F10103EBC0F0D9007EC8FC293A7DB830>I<3B7FFF803FFFC0B56C4813E0A46C496C
1008 13C03B03F00001F800B290B6FCA69038F00001B3A23B7FFF803FFFC0B56C4813E0A46C49
1009 6C13C02B387EB730>I<007FB512FEB7FCA46C14FE390007E000B3B3A8007FB512FEB7FC
1010 A46C14FE203878B730>I<387FFFF8B5FC80A25C7ED801F8C9FCB3B0160FEE1F80A9007F
1011 B7FCB8FCA46C160029387DB730>76 D<D87FF0EC7FF06D14FF00FF16F86D5B007F16F0A2
1012 D807DE903803DF00A301DF130701CF149FA2EC800FA201C7141FECC01FA201C3131EECE0
1013 3EA201C1133CECF07CA39038C0F8F8A3EC78F0147DA2EC3DE0143FA2EC1FC0A2EC0F80EC
1014 070091C7FCADD87FFC903801FFF0A2486C4913F8A26C486D13F0A22D387FB730>I<D87F
1015 F890381FFFC0486C4913E0A27FA26C6C6D13C0D803EF903800F800A28013E7A28013E380
1016 A213E180A213E080A2147CA380A2141E141FA2801580A2EC07C0A3EC03E0A2140115F0A2
1017 140015F8A21578157C153CA2153E151EA2D87FFF131FB5EA800FA21507A26C496C5A2B38
1018 7EB730>I<90383FFFE048B512FC000714FF4815804815C04815E09038F0007F01C0131F
1019 4848EB0FF090C71207A2007E1403A300FE15F8481401B3A96C1403A2007E15F0A3007F14
1020 07A26D130F6C6CEB1FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F13E025
1021 3A7BB830>I<007FB512E0B612FC15FF16C016E06C15F03903F0003FED0FF8ED03FC1501
1022 ED00FEA2167E167F163FA6167F167E16FEA2ED01FC1503ED0FF8ED3FF090B6FC16E016C0
1023 160015FC15E001F0C8FCB0387FFF80B57EA46C5B28387DB730>I<007FB5FCB612E015F8
1024 15FE816C812603F0017F6E6C7E151F6F7E15071503821501A515035E1507150F4B5A157F
1025 4A485A90B65A93C7FC5D5D8181D9F0017FEC007FED1FC0150F821507A917F0EEE1F8A316
1026 F13A7FFF8003F3B500C0EBFFF0A26F13E0816C49EB7FC0C9EA1F002D397EB730>82
1027 D<90390FF801C090397FFF03E048B512C34814F74814FF5A381FF007383FE00190388000
1028 7F48C7123F007E141F12FE48140FA21507A46CEC03C0007E91C7FC127F6C7E13E0EA1FF8
1029 6CB47E6C13F86CEBFF806C14F0D8003F13FC01077F9038007FFF020713809138007FC015
1030 3FED0FE0ED07F01503A216F80078140112FCA56C140316F06C14077F6DEB0FE001F0EB3F
1031 C001FE13FF90B61280160000FD5CD8F87F13F8011F13E0D870011380253A7BB830>I<00
1032 7FB712C0B812E0A53AFC001F8007A80078ED03C0C791C7FCB3B1010FB5FC4980A46D91C7
1033 FC2B387EB730>I<3B7FFF800FFFF0B56C4813F8A46C496C13F0D803F0C7EA7E00B3B16D
1034 14FE00015DA26D1301A26C6C495AA2017F495A90393FC01FE0ECF07F6DB55A6D5C6D91C7
1035 FC6D5B010013F8EC1FC02D397FB730>I<D87FFE90380FFFC0B54913E0A46C486D13C0D8
1036 07E0903800FC00A26D130100035DA36D130300015DA36D130700005DA36D130F017E5CA3
1037 017F131F6D5CA3EC803F011F91C7FCA490380FC07EA46D6C5AA4903803F1F8A401015B14
1038 FBA301005B14FFA36E5AA36E5A2B397EB730>I<D87FF8ECFFF0486C4913F8A46C486D13
1039 F0001FC8EA07C06C6CEC0F80A76D141F00071600A73A03E01FC03EEC3FE0A4EC7DF0A300
1040 01153C01F0147CECF8F8A59038F1F07C00001578A201F914F8A2ECE03CA201FB133E017B
1041 5CECC01EA4017F131FEC800FA2013F5CA2EC0007011E6D5A2D397FB730>I<3A3FFF807F
1042 FE92B5FC487FA26C5B6F5A3A00FC001FC06D5C017E133F017F91C7FC6D5BEC807E011F13
1043 FE6E5AEB0FE15DEB07F35DEB03FF5D7F6D5BA26E5AA26EC8FCA24A7EA24A7EA2497FA290
1044 3803FBF014F3903807F1F814E190380FE0FC14C0011F137EEC807F013F7F02007F49131F
1045 017E8001FE130F49800001140749801503D87FFF90381FFFC05DB5008014E0A26C010014
1046 C0812B387EB730>I<003FB612FC4815FEA416FC007EC71201ED03F8ED07F0A2ED0FE0ED
1047 1FC0A2ED3F80003CEC7F00C8FC15FE4A5A5D14034A5A4A5AA24A5A4A5AA24AC7FC14FEA2
1048 495A495AA2495A495AA2495A495A91C8FC5B13FE4848143C167E485A485AA2485A485AA2
1049 485A48C8FC90B612FEB7FCA46C15FC27387CB730>90 D<007FB5FCB61280A4150000FCC8
1050 FCB3B3B3A5B6FC1580A46C140019476DBE30>I<1238127C12FEA27E7E7F123F7F121F7F
1051 120FA27F12077F12037F12017F12007F7F80133F80131FA280130F801307801303801301
1052 801300808081143F81141FA281140F81140781140381140181140081811680153FA216C0
1053 151F16E0150F16F0150716F81503A2ED01F0ED00E025477BBE30>I<007FB5FCB61280A4
1054 7EC7121FB3B3B3A5007FB5FCB6FCA46C140019477DBE30>I<1307EB1FC0497EEBFFF800
1055 0313FE000FEBFF80D81FFD13C0D87FF813F039FFE03FF8EB800FEB0007007CEB01F00070
1056 EB00701D0D77B730>I<003FB612E04815F0B712F8A36C15F06C15E025077B7D30>I<EB3F
1057 F03801FFFE0007EBFFC04880488048809038C00FFCEC03FE1400157F6C487F0006C77FC8
1058 121FA4EC1FFF0103B5FC133F90B6FC1203000FEBFC1F381FFE00EA3FF013C048C7FC12FE
1059 5AA4153F7E007F14FF6D5A263FE00FEBFF806CB712C0A26C14EF6C14870001D9FC001380
1060 26003FE090C7FC2A2A7BA830>97 D<EA7FF87F12FFA2127FA21200AAEC03F8EC1FFF027F
1061 13C091B57E90B612F8A29138F80FFC9138E003FE4AC67E4A7F91C7EA3F8049141F17C049
1062 140FA217E0A21607A7160FA26D15C0161FA26DEC3F80167F6EEBFF006E485AECE0039138
1063 F80FFC91B55A01FD5C01FC5C6E13809026781FFEC7FC90380007F02B397FB730>I<49B4
1064 7E010F13F0013F13FC497F48B6FC4815803907FE007F13F8485A485A49EB3F004848130C
1065 90C9FC5A127EA212FE5AA87E127EA2127FED07806C6CEB0FC07F6C6C131F6C6C148001FC
1066 133F6CB4EBFF006C90B5FC6C5C6C5C013F13F0010F13C0D901FEC7FC222A79A830>I<91
1067 3803FFC0825CA280A2EC0007AAEB01FC90380FFF87013F13E790B512F74814FF5A3807FE
1068 03380FF80049137F4848133F4848131F49130F48C7FC1507127E12FEA25AA77E150F127E
1069 A2007F141F7E6D133F6C6C137F6D13FF380FF8012607FE07EBFFC06CB7FC6C02F713E06C
1070 14E76D01C713C0011F1303D903F8C8FC2B397DB730>I<EB01FE90380FFFC0013F13F090
1071 B57E488048803907FE01FFD9F80013804848133F4848EB1FC049130F484814E090C71207
1072 5A127E16F000FE14035AB7FCA516E000FCC9FC7E127E127FA26C6CEB01E06DEB03F0121F
1073 01F013076C6CEB0FE0D807FE131F3A03FF807FC06C90B512806C15006D5B011F5B010713
1074 F0010090C7FC242A7BA830>I<157F913803FFE0020F13F0143F4A13F8A2ECFF07EB01FE
1075 9138FC03F0903903F800C04A1300A8007FB612C0B712E0A46C15C0260003F0C7FCB3A900
1076 3FB6FCA2481580A26C1500A225397DB830>I<D903FC137F903A0FFF03FFC0013F13CF90
1077 B712E05A5AD9FE07EB07C03B07F801FE0380D9F00090C7FC4848137F497F001F8149131F
1078 A66D133F000F92C7FC6D5B6C6C13FEEBF8013903FE07FC90B55A5A5D4814C0018F90C8FC
1079 EB83FC0180C9FCA27F12077F6CB512F015FF4815E0488148813A3FC0000FFC49EB00FE00
1080 7EC8127F007C8100FC81178048150FA46C151F007EED3F00007F5D6C6C14FE01E01303D8
1081 1FFEEB3FFC6CB65A6C5D000115C06C6C91C7FC011F13FC010113C02B3E7DA730>I<EA7F
1082 F87F12FFA2127FA21200AAEC03F8EC1FFF027F7F91B57E01FD8090B6FC9138F80FF0ECE0
1083 074A6C7E1480EC0001A25BA25BB3A23B7FFFF83FFFF05DB500FC14F8A26C01F814F0812D
1084 387FB730>I<EB01C0EB07F0A2497EA36D5AA2EB01C090C9FCA9383FFFF0487FA47EEA00
1085 01B3A9007FB6128016C0B7FCA27E1680223979B830>I<EC01C0EC07F0A2EC0FF8A3EC07
1086 F0A2EC01C091C7FCA990387FFFF090B512F8A47FEB0001B3B3A5140315F0007E130715E0
1087 B4130FEC1FC0147F90B512806C14005C6C5B000F13F0000113801D4E7CB830>I<EA7FF0
1088 487EA4127F1200AB0203B512805C17C0A21780809139001FC0004B5A03FFC7FC4A5A4A5A
1089 4A5AEC0FE04A5A4A5A4AC8FC5C01F97F01FB7F90B57E14E7ECC3F0EC81F8EC00FC5B4913
1090 7E497F6F7EA26F7E6F7E6F7EA23B7FFFF01FFFE0B56C5A17F0A217E06C497E2C387EB730
1091 >I<387FFFF0B57EA47EEA0001B3B3A8007FB612E0B712F0A46C15E024387AB730>I<9039
1092 01F001F03A7F8FFC0FFC3AFFDFFE1FFE90B5487E92B51280A23A7FFE1FFE1F3B07FC0FFC
1093 0FC001F813F89039F007F00701E013E0A401C013C0B3A23B7FFC1FFC1FFC3BFFFE3FFE3F
1094 FEA43B7FFC1FFC1FFC2F2880A730>I<EC03F8397FF81FFFD9FC7F7F00FF90B57E01FD80
1095 6CB6FC9138F80FF0C6EBE0074A6C7E1480EC0001A25BA25BB3A23B7FFFF83FFFF05DB500
1096 FC14F8A26C01F814F0812D287FA730>I<EB01FC90380FFF80013F13E090B512F8488048
1097 803907FE03FF260FF800138049137FD81FC0EB1FC0A24848EB0FE090C712074815F0007E
1098 1403A200FE15F8481401A86C1403007E15F0A2007F1407A26C6CEB0FE06D131F6C6CEB3F
1099 C06D137F6C6CEBFF802607FE0313006CB55A6C5C6C5C013F13E0010F1380D903FEC7FC25
1100 2A7BA830>I<EC03F8397FF81FFFD9FC7F13C000FF90B57E90B612F87E9138F80FFCC690
1101 38E003FE4AC67E4A7F91C7EA3F8049141F17C049140FA217E0A21607A7160FA26D15C016
1102 1FA26DEC3F80167F6EEBFF006E485AECE0039138F80FFC91B55A01FD5C01FC5C6E1380DA
1103 1FFEC7FCEC07F091C9FCAD387FFFF8A2B57EA26C5BA22B3C7FA730>I<903901FC01E090
1104 390FFF83F0013F13E390B512F34814FB4814FF481301380FF80049133F4848131F484813
1105 0F5B48C71207A2127E150312FE5AA77E1507127E127F150F6C7E151F6C6C133F6D137FD8
1106 0FF813FF3807FE036CB6FC6C14FB6C14F36D13C3011F1303EB03F890C7FCAD4AB512E04A
1107 14F0A46E14E02C3C7CA730>I<ED0FF0D87FFFEB7FFEB50081B5FC1487028F1480149F6C
1108 9038BFF07F39001FFFC09238003F004A130C4A90C7FC5C5C5CA25CA45CAF007FB512FCB6
1109 FC81A25D7E29287DA730>I<90381FFC0E90B5129F000714FF5A5A5A387FE007EB800100
1110 FEC77E5A81A37E007F141E01C090C7FCEA3FF8381FFFE06C13FF000314C0C614F0010F13
1111 FC9038007FFEEC03FFEC007F0078EC3F8000FC141FED0FC0A27EA27E151F01C0EB3F806D
1112 137F9039F803FF0090B6FC5D5D00F814F0013F13C0267007FEC7FC222A79A830>I<EB07
1113 80497EAA007FB612E0B712F0A46C15E026000FC0C7FCB2167816FCA5ECE001ED03F89038
1114 07F0079138FC0FF06DB512E07F16C06D1400EC3FFCEC07F026337EB130>I<D87FF8EBFF
1115 F06D8000FF5BA2007F7FA200001401B3A41503A21507150F6D131F903A7F807FFFF091B6
1116 FC6D15F8A26D01F913F0010713E0010090C8FC2D287FA630>I<3B7FFF803FFFC0B56C48
1117 13E0A46C496C13C03B01F00001F000A26D130300005DA2017C495AA36D495AA36D49C7FC
1118 A390380F803EA36D6C5AA2ECE0FC01035BA214F101015BA214FB01005BA214FF6E5AA302
1119 1FC8FC2B277EA630>I<3B7FFF800FFFF06E5AB515F8A26C16F04A7ED807C0C7EA1F00A2
1120 6D5C0003153EA56D147E0001157CEC0FC0EC1FE0EC3FF0A32600F87F5BEC7DF8147CA214
1121 FC01786D5AA290387CF87C137D157D14F0013DEB3DE0013F133FA2ECE01FA2011F5C6D48
1122 6C5A2D277FA630>I<263FFFC0B5FC48168014E1A214C06C16003A007E001F806D49C7FC
1123 EB1F80157E6D6C5A6D6C5AEB03F1903801F3F0ECFFE06D5B147F6E5A92C8FCA2814A7E4A
1124 7EEB01F3ECF1F0903803E0F849487E010F137C49487EEC003F496D7E017E6D7E4913073B
1125 7FFF803FFF806E4813C0B5FCA27E4A6C13802A277EA630>I<3B7FFF803FFFC06E4813E0
1126 B5FCA27E4A6C13C03B01F80001F000120015036D5C137C4B5A7FA2013F495A7FA26E48C7
1127 FC130F14C00107133EA214E001035BA2EB01F05DA2EB00F85D1479147D5D143FA26E5AA3
1128 6E5AA2141F92C8FCA25C143EA2147E147C120F486C5AEA3FC113C3EB07F0495A13FF6C5B
1129 5C6C90C9FCEA07FCEA01F02B3C7EA630>I<003FB612FC4815FEA416FC007EC7EA07F8ED
1130 0FF0ED1FE0ED3FC0ED7F80003CECFF00C7485AEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC
1131 495A495A495A495A495A495A49C7121E4848143F485A485A485A485A485A48B7FCB8FCA4
1132 6C15FE28277DA630>I<ED1FF0EDFFF814075C143F16F091387FE00092C7FC14FE5CB3A2
1133 1301495A130F383FFFF0485BB55A91C8FC14C06C7F6C7F38000FF813036D7E1300B3A280
1134 147F15E091383FFFF016F8140F801400ED1FF025477BBE30>I<1238127C12FEB3B3B3AD
1135 127C123807476CBE30>I<EA7FC0EAFFFCEBFF808014F07E38001FF813036D7E1300B3A2
1136 80147F15C091383FFFE06E13F06E13F81403140F4A13F04A13E091387FC00092C7FC14FE
1137 5CB3A21301495A131F387FFFF0B5FC14C05C01FCC8FCEA7FC025477BBE30>I<01781338
1138 D803FE137C3907FF80FE001F13C148EBE7FC4813FF01CF13F8D8FF0713F0486C13C0D87C
1139 0013800038EB3C001F0B78B730>I E
1140 %EndDVIPSBitmapFont
1141 %DVIPSBitmapFont: Fq cmsy10 10.95 3
1142 /Fq 3 16 df<007FB812F8B912FCA26C17F83604789847>0 D<EE3FFC0307B512E0033F
1143 14FC92B7FC0203D9E00713C0DA0FFCC7EA3FF0DA1FE0EC07F8DA3F80EC01FC02FEC9127F
1144 D901F8EE1F804948707E4948707ED90F80EE01F049CB7E013E187C49840178181E01F818
1145 1F4848F00F804848F007C049180300071AE0491801000F1AF090CDFC481AF8001E1A78A2
1146 003E1A7C003C1A3CA2007C1A3E00781A1EA300F81A1F481A0FAD6C1A1F00781A1EA3007C
1147 1A3E003C1A3CA2003E1A7C001E1A78A2001F1AF86C1AF06D180100071AE06D180300031A
1148 C06D18076C6CF00F806C6CF01F000178181E017C183E6D606D606D6C4C5AD907E0EE07E0
1149 6D6C4C5A6D6C4C5AD900FE047FC7FCDA3F80EC01FCDA1FE0EC07F8DA0FFCEC3FF0913B03
1150 FFE007FFC0020090B6C8FC033F14FC030714E09226003FFCC9FC50557BC05B>13
1151 D<EB07F8EB3FFF90B512C0488048804880488048804880A2481580A3B712C0A86C1580A3
1152 6C1500A26C5C6C5C6C5C6C5C6C5C6C5C013F90C7FCEB07F822227BA72D>15
1153 D E
1154 %EndDVIPSBitmapFont
1155 %DVIPSBitmapFont: Fr cmr10 10.95 81
1156 /Fr 81 128 df<DA03FFEB0FE0021F9038C07FF8913AFE00F1F81CD901F890383BE03ED9
1157 07E090387FC07F49489038FF80FF49485AD93F005C013E167E017E163C6F48130049147E
1158 AEB91280A3D800FCC7007EC7FCB3AE486C14FF277FFFF83F13FFA338407FBF35>11
1159 D<EC03FC91383FFF809138FE03C0903901F00060D907E07FD90F8013F84948487E491303
1160 133E137EA2496D5A6F5A93C7FCABED01FCB7FCA33900FC000315011500B3AC486C497E3B
1161 7FFFF87FFFF8A32D407EBF33>I<EC03FE91383FFFDC9138FE01FCEB01F0903807E003EB
1162 0F80EB1F005B133E017E1301017C130013FCAEB7FCA3D800FCC7FCB3AE486C497E3B7FFF
1163 F87FFFF8A32D407EBF33>I<DA03FEEB01FE913B1FFF801FFFC0913BFE01E07F01E0903C
1164 01F00070F80030D907E0D91BF07FD90F80D97FC0137C011F4A4813FE4948481401013E15
1165 00137EA2496D486D5A047E147896C7FCAB19FEBAFCA3D800FCC7387E00011800197EB3AC
1166 486C02FF14FF277FFFF83FD9FC3F13FCA346407EBF4C>I<121E123FEA7F80EAFFC0A7EA
1167 7F80AAEA3F00AA121EAB120CA5C7FCA9121E123FEA7F80EAFFC0A4EA7F80EA3F00121E0A
1168 4179C019>33 D<001E130F003FEB1F80397F803FC039FFC07FE0A201E013F0A2007F133F
1169 393F601FB0001EEB0F3000001300A5491360A3484813C0A23903000180A20006EB0300A2
1170 481306485B485B002013101C1C7DBE2D>I<121E123FEA7F80EAFFC0A213E0A2127FEA3F
1171 60121E1200A513C0A3EA0180A2EA0300A21206A25A5A5A12200B1C79BE19>39
1172 D<1430147014E0EB01C0EB0380EB0700130EA25B5B1378137013F05B1201485AA2485AA3
1173 48C7FCA35A121EA2123EA2123CA2127CA5127812F8B21278127CA5123CA2123EA2121EA2
1174 121F7EA36C7EA36C7EA26C7E12007F1370137813387F7FA27FEB0380EB01C0EB00E01470
1175 1430145A77C323>I<7E7E7E12707E7E7EA27E6C7E7F12017F12007F1378A27FA37FA313
1176 1F7FA21480A21307A214C0A5130314E0B214C01307A51480A2130FA21400A25B131EA35B
1177 A35BA25B5B12015B12035B48C7FC120EA25A5A5A5A5A5A135A7AC323>I<EB03C0A2805C
1178 A600F0140F00FC143F00FE147F00FF14FF393FC3C3FC390FE187F03903F18FC03900FDBF
1179 00EB3FFCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F0393FC3C3FC39FF
1180 03C0FF00FE147F00FC143F00F0140F00001400A6805CA220277AC32D>I<121E123FEA7F
1181 80EAFFC0A213E0A2127FEA3F60121E1200A513C0A3EA0180A2EA0300A21206A25A5A5A12
1182 200B1C798919>44 D<B512FEA517057F951E>I<121E123FEA7F80EAFFC0A4EA7F80EA3F
1183 00121E0A0A798919>I<ED0180ED03C0A215071680A2150F1600A25D151EA2153E153CA2
1184 157C157815F85DA214015DA214035DA214075DA2140F92C7FCA25C141EA2143E143CA214
1185 7C1478A214F85CA213015C13035CA213075CA2130F91C8FCA25B131EA2133E133CA2137C
1186 1378A213F85BA212015BA212035BA212075B120F90C9FCA25A121EA2123E123CA2127C12
1187 78A212F85AA21260225B7BC32D>I<EB01FE90380FFFC090383F03F090387C00F849137C
1188 48487F48487F4848EB0F80A2000F15C04848EB07E0A3003F15F0A290C712034815F8A648
1189 15FCB3A26C15F8A56C6CEB07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F80000315006C6C
1190 133E6C6C5B017C5B90383F03F090380FFFC0D901FEC7FC263F7DBC2D>I<14C013031307
1191 131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78BC2D>I<EB07FC
1192 90383FFF8090B512E03901F01FF039038003FC48486C7E000C6D7E48EC7F8012380030EC
1193 3FC012700060EC1FE0A212FE6C15F07F150FA36CC7FC003E141F121CC813E0A3ED3FC0A2
1194 ED7F8016005D5D4A5A5D4A5A4A5A4A5A5D4AC7FC143E5C14F0495A5C495A49C8FC010E14
1195 305B5B5B4914605B485A48C8FC000615E0000FB6FC5A5A4815C0B7FCA3243D7CBC2D>I<
1196 EB07FC90383FFF809038F80FE03901C003F848C66C7E00066D7E48147F481580EA1F8048
1197 6C14C06D133FA46C5A6C48137F6CC71380C8FCA216005D5D5D4A5A5D4A5AEC0FC0023FC7
1198 FCEB1FFCECFF809038000FE0EC03F0EC01FC6E7E157F1680153F16C0A2ED1FE0A216F0A2
1199 120C123F487E487EA316E05B153F6CC713C012606CEC7F80003815006C14FE6C495A3907
1200 C003F83903F80FF0C6B55A013F1380D907FCC7FC243F7CBC2D>I<150EA2151E153EA215
1201 7E15FEA214011403157E1406140E140C141814381430146014E014C0EB01801303140013
1202 06130E130C5B133813305B13E05B485A120390C7FC1206120E120C5A123812305A12E0B8
1203 FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00021403D807C0130F01F813FE90B55A
1204 5D5D5D158092C7FC38063FF890C9FCADEB01FE90380FFF8090383E03E090387001F09038
1205 C00078D80780137C90C77E153F0002EC1F80C8FC16C0A2ED0FE0A316F0A4123E127F5A7F
1206 A290C713E0A248141F006015C0A2007015800030143F003815000018147E000E5C6C495A
1207 3903C003F03901F00FE06CB55A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF89038
1208 03F01C903807800690381F0003013EEB018049130F49EB1FC04848133FA2485A120749EB
1209 1F80000FEC0F0092C7FC485AA2123FA348C9FCA2EB01FE903807FF8090380E03E039FF18
1210 00F049137849137C8149133FED1F80A24914C0150F16E0A290C7FC16F0A47EA57E7F16E0
1211 A2121FED1FC0120F6D14800007EC3F007F0003147E6C6C137C6C6C485A90387E07F09038
1212 3FFFC0010F5BD903FCC7FC243F7CBC2D>I<12301238123E003FB612FCA316F84815F0A2
1213 16E00070C812C00060EC0180A2ED030015065A5D5DA2C85A5D15E05D4A5A140392C7FC14
1214 06A2140E5CA2143C14381478A214F85CA21301A21303A3495AA4130FA6131FA96D5A6D5A
1215 26407BBD2D>I<EB03FC90381FFF8090383C03E09038E000F04848133C48C77E4880120E
1216 ED07805AED03C0A2123CA3123EA2003FEC07807FD81FE014006D5B6C6C131E01FE131C6C
1217 6C5B6CEBC0F06CEBE1E06CEBFF806D48C7FC6D7E010F7F15E0497F017813FC9038E03FFE
1218 48486C7E3803800748486C1380000E010013C0001E147F48EC1FE00038140F00781407ED
1219 03F0481401A31500A416E01278ED01C07EED03807E6CEC07006C6C131ED803E0137C3901
1220 FC03F039007FFFE0011F1380D903FCC7FC243F7CBC2D>I<EB03FCEB1FFF90383E07C090
1221 38F801E048486C7E484813784848137C000F805B001F80123F168048C7FC16C0A248140F
1222 16E0A616F0A47E151FA27E7F001F143FA26C7E0007146F6C6C13CF12013900F0018F9039
1223 7C070FE0EB1FFEEB07F890C7FCA2ED1FC0A31680A2ED3F00120F486C133E486C137E157C
1224 15FC5D49485A6C48485A0018495A000E495A2607C07FC7FC3803FFFC6C5B38003FC0243F
1225 7CBC2D>I<121E123FEA7F80EAFFC0A4EA7F80EA3F00121EC7FCB3121E123FEA7F80EAFF
1226 C0A4EA7F80EA3F00121E0A2779A619>I<007FB912E0BA12F0A26C18E0CDFCAE007FB912
1227 E0BA12F0A26C18E03C167BA147>61 D<EB1FF890B5FC3903E01FC039070007F0000CEB01
1228 F84814FC4813004814FE127C00FE14FF7EA4127E003C14FEC7120115FC140315F8EC07E0
1229 EC0FC0EC1F801500143E143C5C147014F05C495AA35C1303A291C7FCA990C8FCA9EB0780
1230 497E497E497EA46D5A6D5A6D5A20407BBF2B>63 D<1507A34B7EA34B7EA24B7EA34B7E15
1231 6FA2EDEFF815C7A291380187FC1583A291380303FE1501A291380600FFA34A6D7EA34A6D
1232 7EA34A6D7EA20270800260130FA202E0804A1307A201018191B6FCA2498191C71201A201
1233 068182A2496F7EA3496F7EA3496F7EA21370717E13F0486C82D80FFEED3FFCB500E0010F
1234 B512F8A33D417DC044>65 D<B712FCEEFF8017F00001903980000FF86C6CC7EA03FEEE00
1235 FFEF7F80EF3FC018E0171F18F0170F18F8A31707170FA318F0171F18E0173F18C0EF7F80
1236 EFFF00EE03FCEE0FF8EE7FE091B6C7FC17E091C7EA03FCEE00FEEF7F80EF3FC0EF1FE0EF
1237 0FF018F8170718FC1703A218FEA718FC1707A2EF0FF8EF1FF0A2EF3FE0EFFFC04C138048
1238 486C90380FFE00B85A17E094C7FC373E7DBD40>I<DB3FF01306913803FFFE020F9038FF
1239 800E913A3FF007E01E9139FF8000F0D901FCC7EA383ED907F0EC0C7E494814064948EC03
1240 FE4948140149C9FC13FE4848167E0003173E5B4848161E120FA24848160EA2123F5B1806
1241 127FA349160012FFAC127F7F1806A2123FA27F121F180C6C7EA2000717186C7E6D163800
1242 0117306C6C1660137F6D6C15C06D6CEC01806D6CEC03006D6C140ED901FC5C6DB46C13F8
1243 91393FF007F0020FB512C0020391C7FC9138003FF037427BBF42>I<B712FCEEFF8017E0
1244 00019039C0001FF86C6C48EB03FEEE00FFEF3F80717E717E717E717E717EA2717E848419
1245 80183F19C0A3F01FE0A519F0AB19E0A4183F19C0A21980187FA2190018FEA24D5A4D5A17
1246 074D5A4D5A4D5A05FFC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E7DBD45>I<B9
1247 12E0A3000101C0C7FC6C6C48141FEF07F01703170117001870A31830A418181618A41800
1248 A21638A2167816F8150391B5FCA3EC8003150016781638A21618A21806A3180C93C7FCA4
1249 181C1818A21838A21878A218F0170117031707171F48486CEB01FFB912E0A3373E7DBD3E
1250 >I<B91280A300019038C000036C6C48EB003FEF1FC017071703A21701A31700A41860A2
1251 1630A31800A31670A216F01501150791B5FCA3EC8007150115001670A21630A693C8FCAF
1252 3801FFE0B612F0A3333E7DBD3B>I<DB3FF0130C913803FFFE021F9038FF801C913A7FE0
1253 0FC03C9139FF0001E0D903FC903800787CD907F0EC1CFC4948140ED91F80140749C81203
1254 49150113FE484815004848167CA24848163C120FA24848161CA2123F5B180C127FA25B95
1255 C7FC12FFAB041FB512F0127FA26D9139000FFE00EF03FC123FA27F121FA26C7EA212076C
1256 7E7F12016C7E137F6D6C14076D7E6D6C140C6D6CEC1C7CD903FC1438D900FFECF03C913A
1257 7FF007E01C021FB5EA800C020349C8FC9138003FF03C427BBF47>I<B6D8C01FB512F8A3
1258 000101E0C7383FFC0026007F80EC0FF0B3A691B7FCA30280C7120FB3A92601FFE0EC3FFC
1259 B6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6EBF000EB3FC0B3B3B2EBFFF0B612F0A3
1260 1C3E7EBD21>I<B600C090381FFFFCA3000101E0C70007138026007F80913801FC0018F0
1261 6018804DC7FC17065F5F5F5F5F4C5A4CC8FC16065E5E5E5E5E4B5A15074B7E4B7E153FED
1262 6FF0EDCFF8EC818791388303FC02867FEC8C0191389800FF02B08002E0137F4A6D7E4A80
1263 161F707E831607707E831601707E84177F717E717E84170F717E841703844D7E2601FFE0
1264 4A13C0B600C090B6FCA3403E7DBD47>75 D<B612F8A3000101E0C9FC38007F80B3B0EF01
1265 80A517031800A45FA35FA25F5F5F17FE160348486C133FB8FCA3313E7DBD39>I<B56C93
1266 387FFFC06E93B5FCA20001F1E00026006FE0923801BF80A3D967F0ED033FA2D963F81506
1267 A3D961FC150CA3D960FE1518A2027F1530A36E6C1460A26E6C14C0A36E6CEB0180A36E6C
1268 EB0300A26E6C1306A36E6C5BA36E6C5BA2037F5BA36F6C5AA36F6C5AA292380FE180A3DB
1269 07F3C7FCA2ED03FEA36F5AA213F0486C6D5AD807FEEFFFE0B500F00170017FEBFFC0A34A
1270 3E7CBD53>I<B56C91387FFFF880A2C66C6C020313006EEC00FC016F1678D967F8153080
1271 1363EB61FE8001607F147F6E7E81141F6E7E8114076E7E8114016E7E82157F6F7E82151F
1272 6F7E826F7E15036F7E8281EE7F8017C0163FEE1FE017F0160FEE07F817FC1603EE01FE17
1273 FF82EF7FB018F0173F171F170FA217071703A201F01501486C1500EA07FEB500F0157018
1274 30A23D3E7DBD44>I<ED7FE0913807FFFE91391FC03F8091397E0007E0D901F8EB01F8D9
1275 07F0EB00FED90FC0143F49486E7E49C86C7E017E6F7E01FE8248486F7E49150100038348
1276 486F7EA24848167FA2001F1880A24848EE3FC0A3007F18E049161FA300FF18F0AC007F18
1277 E06D163FA4003F18C06D167F001F1880A26D16FF000F1800A26C6C4B5A00035F6D150300
1278 015F6C6C4B5A017F4B5A6D6C4A5A6D6C4A5A6D6C4AC7FC6D6C14FED901F8EB01F8D9007E
1279 EB07E091391FC03F80912607FFFEC8FC9138007FE03C427BBF47>I<B712F8EEFF8017E0
1280 00019039C0001FF86C6C48EB03FC707EEE007FEF3F8018C0EF1FE0A218F0170F18F8A818
1281 F0171F18E0A2EF3FC01880EF7F00EE01FEEE07FCEE3FF091B612C04CC7FC0280C9FCB3A7
1282 3801FFE0B612C0A3353E7DBD3E>I<B712C016FCEEFF8000019039C0007FE06C6C48EB0F
1283 F0EE03FC707E707E717E717EA284171F84A760173F6060177F4DC7FCEE01FC4C5AEE0FE0
1284 EEFF8091B500FCC8FC5E91388000FFEE3F80EE0FE0707E707E707EA283160083A684A619
1285 06A2EF7FC0A2053F130C3801FFE0B600C0EB1FE0050F1318943803F870CA3801FFE09438
1286 003F803F407DBD43>82 D<D907FC131890381FFF80017FEBE0383A01FC03F0783903F000
1287 7CD807C0EB1EF84848130748C712031501123E15005A1678A200FC1538A46C1518A37E6C
1288 6C14007F6C7E13F86CB47E14F86CEBFF806C14F06C14FC6C14FF6C6C14806D14C0010714
1289 E0D9007F13F0020713F8EC007FED0FFC1507ED01FEA21500167F124012C0163FA47EA216
1290 3E7E167E6C157C7E16F8B4EC01F0D8FB8014E0D8F9E0EB03C0D8F0F8EB0F8090397F803F
1291 0039E01FFFFED8C00713F89038007FC028427BBF33>I<003FB91280A3903AE0007FE000
1292 90C76C48131F007EEF0FC0007C17070078170300701701A300601700A5481860A5C81600
1293 B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090387FFFF8A3000101E0C7000313
1294 0026007F80EC00FC18781830B3B3A4013F5EA280011F16E060130F6E4A5A010715036D6C
1295 92C7FC6E14060101150E6D6C5C027F147891391F8001F091390FF00FC00203B55A020049
1296 C8FCED1FF03D407DBD44>I<B6913807FFFEA3000301E0020013E0C60180ED3F80F01F00
1297 017F160E180C6E151C013F1618A26D6C5DA280010F5EA26E15E001075EA26D6C4A5AA280
1298 01014BC7FCA26E5C6D150681027F5CA26F131C023F1418A26F1338021F143081020F5CA2
1299 6F13E002075CA26E6C485AA215FE020149C8FCA26F5A6E1306A2ED7F8CA216CCED3FD8A2
1300 16F86F5AA26F5AA36F5AA36F5AA23F407EBD44>I<B500FE017FB5D88003B5FCA3000301
1301 C0010101E0C7EA7FF86C90C849EC0FC07148EC07806C1B00716C806E60017F1906717E6E
1302 180E013F190C4D7E80011F614D7E17676D6C60EFE7FC17C36D6C6084EE01816D6C60A24C
1303 C67E6D6C4D5AA20406EB7F806E17036D96C7FC4CEB3FC003805E027F17064CEB1FE003C0
1304 160E023F170C4CEB0FF015E0021F5F047014F804601307DA0FF05E04E014FC4C1303DA07
1305 F85E19FEDBF9801301DA03FD5EA203FFC812FF6E5FA24B157F020094C8FCA24B81A2037C
1306 153E0378151EA20338151C0330150C58407EBD5D>I<007FB5D8C003B512E0A3C66C48C7
1307 387FFC00D93FF8EC1FE06D48EC0F806D6C92C7FC170E6D6C140C6D6C5C17386D6C14306D
1308 6D5B17E06E6C5B023F495AEDE003DA1FF090C8FC020F1306EDF80E6E6C5A1618913803FE
1309 386E6C5A16606E13E06F5AA26F7E6F7EA26F7E4B7EA2ED33FEED71FF156103C07F020113
1310 7F03807F4A486C7E5C02066D7E4A6D7E141C02186D7E4A6D7E147002606D7E4A6D7F1301
1311 4A6E7E49C86C7E5B01066F7E010E6F7E133F496C812607FFC0EC3FFFB500F80103B512FE
1312 A33F3E7EBD44>I<B66C49B51280A3000101F0C8383FF8006C6C48ED1FC0013F70C7FC18
1313 0E6D6C150C181C6D6C15186D6C153818306D6C5D6E15E06D5E6D6D1301606E6C49C8FC6E
1314 6C5B17066E6C130E170C6E6C5B6E7E5F6E6C13706F13606E14E06E6D5AEE8180ED7FC3DB
1315 3FE3C9FC16E7ED1FF616FC150F6F5AB3A4ED1FFC020FB512FCA3413E7FBD44>I<EAFFFC
1316 A4EAF000B3B3B3B3ABEAFFFCA40E5B77C319>91 D<6D1340000114C039030001800006EB
1317 0300481306A2485BA2485BA2485BA3485BA500CFEB678039DF806FC039FFC07FE001E013
1318 F0A2007F133FA2393FC01FE0391F800FC0390F0007801C1C73BE2D>I<EAFFFCA4EA003C
1319 B3B3B3B3ABEAFFFCA40E5B7FC319>I<13801201EA030012065AA25AA25AA25AA35AA512
1320 CFEADF80EAFFC013E0A2127FA2EA3FC0EA1F80EA0F000B1C7ABE19>96
1321 D<EB0FF8EB7FFE3901F01F8039038003E039060001F0390F8000F86D7F486C137C157EA2
1322 816C5A6C5AC8FCA4EC0FFF0103B5FC90381FFC3FEB7F803801FC00EA03F0485A485A485A
1323 123F48C7FCEE018012FEA3157FA3007F14DFEC019F3B3F80038F83003A1FC0070FC73A07
1324 F01C07FE3A01FFF803FC3A003FE001F0292A7DA82D>I<EA01F812FFA3120712031201B1
1325 EC07F8EC3FFF9138780FC09138C003E09039F98001F001FBC77E01FE147C498049143F17
1326 80161F17C0A2EE0FE0A317F0A917E0A2161F17C0A21780163F6D1500167E01F6147C5E01
1327 E3495A9039C1C007E09039C0F01F809026803FFEC7FCC7EA0FF02C407DBE33>I<49B4FC
1328 010F13E090383F00F8017C131C4913064848131F48485B0007EC7F80485A121F5B003FEC
1329 3F00151E007F91C7FC90C9FCA35AA97EA27F123F16C0121F6DEB0180120F6C6CEB0300A2
1330 6C6C13066C6C5BD8007C133890383F01F090380FFFC0D901FEC7FC222A7DA828>I<ED03
1331 F815FFA3150715031501B114FF010713C190381F80F190387E003901F8130D4848130748
1332 5A0007140348481301121F5B123FA2127F90C7FCA25AA97EA36C7EA2121F7F000F140312
1333 076C6C13076C6CEB0DFC6C6CEB19FE017C903871FFF090383F01E190380FFF81903A01FE
1334 01F8002C407DBE33>I<EB01FE90380FFFC090383F03F090387C00F801F0137C00038049
1335 133F48487F000F1580485AED0FC0123FA248C713E0A35AA290B6FCA290C9FCA67EA27F12
1336 3F1660121F6D14C0120F6C6CEB018012036C6CEB03006C6C130E017E5B90381F80F09038
1337 07FFE0010090C7FC232A7EA828>I<EC1FC0ECFFF0903803F038903807C07C90380F80FE
1338 EB1F01133F133E90387E00FC1578491300AFB6FCA3D800FCC7FCB3AE487E387FFFFEA31F
1339 407EBF1C>I<167C903903F801FF90391FFF0787903A7E0FCE0F809038F803F83901F001
1340 F03B03E000F8070000076EC7FCA24848137EA2001F147FA6000F147EA26C6C5BA200035C
1341 6C6C485A6D485A39037E0FC0D91FFFC8FC380703F80006CAFCA2120EA2120F7E7F7F6CB5
1342 12F015FE6C6E7E6C15E00003813A07C0001FF848C7EA03FC001E140048157E007C153E00
1343 78153F00F881A50078151E007C153E6C5D001E15786C5DD807C0EB03E0D803F0EB0FC0D8
1344 00FE017FC7FC90383FFFFC010313C0293D7EA82D>I<EA01F812FFA3120712031201B1EC
1345 03F8EC1FFF91383C0F8091386007C04A6C7ED9F9807FEBFB0001FE1301825BA35BB3A648
1346 6C497EB500F0B512F0A32C3F7CBE33>I<EA01E0487E487E487EA46C5A6C5A6C5AC8FCAC
1347 EA01F8127FA3120712031201B3AC487EB512E0A3133E7DBD19>I<14F0EB01F8EB03FCEB
1348 07FEA4EB03FCEB01F8EB00F01400AC14FE137FA313011300147EB3B3A6123C007E137CB4
1349 13FC14F8A2EB01F0007E13E0383803C0381E0780380FFF00EA01FC175184BD1C>I<EA01
1350 F812FFA3120712031201B292387FFF80A392381FF800ED0FE01680030EC7FC5D5D15605D
1351 4A5A4AC8FC140E5C143E147FECDF80EBF98F9038FB0FC09038FE07E0EBFC0301F07F6E7E
1352 140081157E8181826F7E1507826F7E82486CEB07FEB539E03FFFE0A32B3F7EBE30>I<EA
1353 01F812FFA3120712031201B3B3B1487EB512F0A3143F7DBE19>I<2703F003FCEB01FE00
1354 FF903B0FFF8007FFC0913B3C0FC01E07E0913B7003E03801F00007903BC001F06000F826
1355 03F1806D487F2601F300EBF98001F6D900FBC7127C04FF147E01FC5CA3495CB3A6486C49
1356 6C14FFB528F07FFFF83F13FCA346287CA74D>I<3903F003F800FFEB1FFF91383C0F8091
1357 386007C00007496C7E2603F1807F3801F30001F613018213FCA35BB3A6486C497EB500F0
1358 B512F0A32C287CA733>I<14FF010713E090381F81F890387E007E01F8131F4848EB0F80
1359 4848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA44815FFA96C15
1360 FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D8007E
1361 EB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901F807F800FFEB3FFF91
1362 38781FC09138C007E03A07F98001F02603FB007FD801FE6D7E49147E49147FEE3F80A2EE
1363 1FC0A217E0A2160F17F0A917E0161FA217C0A2EE3F80A26DEC7F00167E6D5C4B5A01FB49
1364 5A9039F9C007E09039F8F01F80DA3FFEC7FCEC0FF091C9FCAD487EB512F0A32C3A7DA733
1365 >I<02FF13180107EBC03890381F80E090397E0030784913184848130C4848EB06F8485A
1366 000F1403485AA248481301A2127FA290C7FC5AA97E7FA2123FA26C7E15036C7E00071407
1367 6C7E6C6C130D00001419017E137190383F81E190380FFF81903801FE0190C7FCAD4B7E92
1368 B512F0A32C3A7DA730>I<3903F007E000FFEB1FF0EC7878ECE0FC3907F181FE12033801
1369 F3019038F600FCA2153001FC1300A35BB3A5487EB512FCA31F287EA724>I<90387FC060
1370 3901FFF8E03807C03D380E0007481303481301481300A212F01560A27EA27E007F140013
1371 C0EA3FFE381FFFE06C13FC6C7F6C7FC61480010F13C09038007FE0EC0FF00040130300C0
1372 EB01F814007E1578A37E15707E15E07E6CEB01C000F3EB038039E1E01F0038C0FFFCEB1F
1373 E01D2A7DA824>I<1318A61338A41378A213F8A2120112031207001FB512C0B6FCA2D801
1374 F8C7FCB3A21560A9000014C07F137CEC0180133E90381F8700EB07FEEB01F81B397EB723
1375 >I<D801F8EB03F800FF14FFA3000714070003140300011401B3A61503A300001407A201
1376 7CEB0DFCED19FE6D903831FFF090381F80E1903807FFC10100903801F8002C297CA733>
1377 I<B539C007FFE0A32707FC000113006C48EB007C0001157816707F00001560A2017E5CA2
1378 017F13016D5CA26D6C48C7FCA26E5A010F1306A26D6C5AA2ECF01C01031318A26D6C5AA2
1379 ECFC7001001360A2EC7EC0A2147F6E5AA26EC8FCA3140EA22B287EA630>I<B53BC3FFFE
1380 01FFF8A33D0FFC001FE0007FC0D803F06D48EB1F800307EC0E007F00016F130CA26D161C
1381 00004A6C1318150D017E5EED1DF815186D5EED307CA2D91F80017E5BED603EA2D90FC090
1382 383F0180EDC01FA2D907E00283C7FC9138E1800F02F11487010315C69138F3000702FB14
1383 CE6DB414EC4A1303010015F8A24A1301027C5C02781300A202385C023014603D287EA642
1384 >I<3B7FFFC00FFFE0A3000390390007FE00C648EB03F0017E6D5A6DEB03801480011F49
1385 C7FC90380FC00E903807E00C6E5A903803F83801015B6D6C5AEC7EC0EC7F80143F141F6E
1386 7E81141FEC3BF0EC71F8ECE1FC14C0903801807E01037FD907007F01066D7E49130F496D
1387 7E01386D7E017880EA01F8D80FFCEB07FEB590381FFFF8A32D277FA630>I<B539C007FF
1388 E0A32707FC000113006C48EB007C0001157816706C6C1460A27F017E5CA26D495AA2EC80
1389 03011F91C7FCA290380FC006A2ECE00E0107130CA26D6C5AA2ECF8380101133014FC0100
1390 5BA2EC7EC0A2147F6E5AA26EC8FCA3140EA2140CA2141C1418A25CA2147000381360007C
1391 13E000FE5B13015C49C9FCEA7C07EA700EEA383CEA1FF8EA07E02B3A7EA630>I<001FB6
1392 1280A29039E0003F0090C7127E001E14FE001C495A5D0018495A003813075D0030495A14
1393 1F4A5A92C7FC147EC712FE495A5C495A13075C495A011FEB0180EB3F801400137E13FE48
1394 5A491303485A000715005B48485B001F5C485A90C7123F007E49B4FCB7FCA221277EA628
1395 >I<001C130E007EEB1F80007F133F39FF807FC0A3397F003F80007E131F001CEB0E001A
1396 0977BD2D>127 D E
1397 %EndDVIPSBitmapFont
1398 %DVIPSBitmapFont: Fs cmbx12 14.4 62
1399 /Fs 62 123 df<EEFFF8031F13FF92B612C0020315F0020F9038C00FF8913A3FFC0001FC
1400 DAFFF06D7E4901C0EB03FF49495B4990C7487F4A5C130F495AA25C133FA27190C7FCA271
1401 5AEF01F894C9FCA90403B512C0BAFCA526003FFCC7120783B3B3A6003FB5D8FC03B612C0
1402 A542547DD34B>12 D<EEFFFC031F9038FFCFC092B7FC1407021FEBC00791383FFC00DAFF
1403 F05B4913C049495B4990C7FC495AA2495A835C013F1503B0BAFCA526003FFCC71203B3B3
1404 A7003FB5D8FC03B612C0A542547DD34B>I<DC7FFC913807FFC0031FB56C90B512F892B6
1405 D8E00714FE0203DBF01F6E7E020F903DC00FFC7FFE007FC091273FFC0001B500E0EB0FE0
1406 DAFFF06D02806D7E4901C0010349C7EA1FF849494949143F4990C748494A7E4A4C14FF01
1407 0F5D49485EA24A5E133F83765A8371705A71EE0FC099C8FCA998381FFFFEBEFCA526003F
1408 FCC7000101E0C7123F1C1FB3B3A6003FB5D8FC01B6D8E01FB512FEA567547DD370>I<B7
1409 12F0AB240B7F9F2D>45 D<EA03E0EA0FF8487E487E487EA2B51280A56C1300A26C5A6C5A
1410 6C5AEA03E01111769025>I<EF01C0EF03E0EF07F0A2170F18E0A2171F18C0173F1880A2
1411 177F18005F5FA216015F16035FA216075F160F5FA2161F5F163F5FA2167F94C7FC5E5EA2
1412 15015E15035EA215075E150F5EA2151F5E153F5EA2157F93C8FC5D5DA214015D14035DA2
1413 14075DA2140F5D141F5DA2143F5D147F92C9FCA25C5C13015CA213035C13075CA2130F5C
1414 131F5CA2133F5C137F91CAFCA25B5B12015BA212035B12075BA2120F5B121F5BA2123F5B
1415 127F90CBFCA25A5AA2127C1238347879D943>I<913803FFC0023F13FC91B6FC010315C0
1416 010F010013F0D91FFCEB3FF8D93FF0EB0FFC49486D7E49486D7E48496D13804817C091C8
1417 FC4817E04817F049157FA2001F17F8A2003F17FCA249153FA2007F17FEA600FF17FFB3A5
1418 007F17FEA6003F17FC6D157FA3001F17F8A3000F17F06D15FF6C17E0A26C6D4913C06C6D
1419 491380A26C6D491300D97FF8EB1FFED91FFCEB3FF8903A0FFF81FFF06D90B55A01011580
1420 D9003F01FCC7FC020313C0384F7BCD43>I<157815FC14031407141F14FF130F0007B5FC
1421 B6FCA2147F13F0EAF800C7FCB3B3B3A6007FB712FEA52F4E76CD43>I<EC1FFC49B512E0
1422 010F14FC013F14FF90B712C048D9803F7F2703FC00077FD807F06D13FC484801007F4848
1423 147F48488101E06E1380D87FF8806D16C06D8000FF17E07FA27013F0A36C5AA26C5AA2EA
1424 0FF0D803C05CC914E0A34C13C0A218805E18004C5A5F16FF5F4B5B4B5B4B5B94C7FC4B5A
1425 4B5A4B5AED7FE05E4B5A4A90C8FCEC03FC4A5A4A48EB01F04A5A4A5A4A5A02FEC7EA03E0
1426 495A495A495A5C4948140749C8FC013E150F017FB7FC90B812C05A5A5A5A5A5A5AA2B912
1427 80A4344E79CD43>I<91380FFF8091B512FC010314FF010F15C090263FF00313F09026FF
1428 800013FC4848C76C7ED803F86E7E4980D807FC168001FF16C0487F82486D15E0A3805CA2
1429 7E4A4913C07E6C90C7FCD800FC168090C85A18005F167F4C5A5F4B13E04B5B030F5BDB7F
1430 FEC7FC91B512F816C016FCEEFF80DA000713E0030013F8707E70B4FC7013807013C018E0
1431 7013F0A218F88218FCA318FEEA01C0EA0FF8487E487E487EA2B57E18FCA44C13F86C90C7
1432 FC18F0495C6C4816E001F04A13C06C484A1380D80FF84A1300D807FE4A5A2703FFF0035B
1433 C690B612F0013F15C0010F92C7FC010114F8D9001F1380374F7ACD43>I<177C17FEA216
1434 0116031607160FA2161F163F167FA216FF5D5DA25D5DED1FBFED3F3F153E157C15FCEC01
1435 F815F0EC03E01407EC0FC01580EC1F005C147E147C5C1301495A495A5C495A131F49C7FC
1436 133E5B13FC485A5B485A1207485A485A90C8FC123E127E5ABA12C0A5C96C48C7FCAF020F
1437 B712C0A53A4F7CCE43>I<0003160ED807E0153E01FCEC03FED9FFE0137F91B65A5F5F5F
1438 5F5F94C7FC5E16F85E16C04BC8FC15F801E090C9FC91CAFCABEC0FFF027F13F001E3B512
1439 FC01E714FF9026FFF80713C0DAC0017F49C713F8496E7E01F0143F496E7E49816C5AC914
1440 8018C082A218E0A318F0A3EA07C0EA1FF0487E487EA2487EA318E0A25B18C06C485C4916
1441 8013C0003EC81400003F5D6C6C5D6C6C4A5A6D4A5AD807F8495B6C6C01075B2701FFC03F
1442 5B6C90B6C7FC013F14FC010F14F0010314809026007FF8C8FC344F79CD43>I<ED0FFE92
1443 B512C0020714F0021F14FC91397FFC01FE9139FFE0007F01030180131F4990C7EA0F80D9
1444 0FFCEC3FC0494814FF013F5C49484913E0495A48495BA25A485B7013C05A91C76C138070
1445 130048163C94C7FC5AA25BA2127F1508EDFFF8020313FF020F14C000FF498091393E007F
1446 F84AEB1FFC02706D7E02F06D7E6D4815804A6D13C0A24A15E0A27013F091C7FC18F8A349
1447 16FCA3127FA6123FA37F6C17F8A27E18F0A26C4B13E0806C17C06C7F4C13806C6D491300
1448 6D6C495AD93FFC495A6DB4EBFFF8010790B512E06D5D010092C7FC023F13FC020313C036
1449 4F7ACD43>I<121F7F7FEBFF8091B81280A448180060A26060606060A2485F0180C86CC7
1450 FC007EC912FE5F007C15014C5A4C5A4C5A4C5A485E163F4CC8FC16FEC8485A5E15034B5A
1451 150F5E4B5A153FA24B5AA24BC9FCA25C5C5D1407A34A5AA2141FA3143FA34A5AA414FFA6
1452 5BAB6D5B6E5A6E5A6E5A395279D043>I<913807FFC0027F13FC49B67E010715E090261F
1453 FC007FD93FC0EB3FFC4948EB0FFE49C76C7E48488048486E138082484816C0A2000FEE7F
1454 E0A3121F7FA27F7F6E15C002E014FF8002FC15806C01FF5BDBC00313006F485A6C02F85B
1455 9238FE0FF86C9138FF3FF06CEDFFE017806C4BC7FC7F6D6E7E010F15E06D81010115FC49
1456 81010F81013F1680EB7FC32601FF8015C048496C14E04848131F4848010714F0497F001F
1457 020014F84848143F160F48486E13FC1601824848157F173F171FA2170FA318F8A26C7E18
1458 F0171F6C6C16E0A26C6CED3FC06DED7F806C6C15FF6C6C6C4913006C01E0EB0FFE6C01FC
1459 EB7FF86C6CB65A011F15C0010792C7FC010014F8020F1380364F7ACD43>I<913807FF80
1460 027F13F00103B512FC010F14FF90261FFE0113C0903A7FF8007FE0D9FFE06D7E48496D7E
1461 48496D7E486F7E4890C77FA2486F1380A2484816C0A2007F17E0A28200FF17F0A418F8A6
1462 18FCA2127F5EA3123F5E6C7EA26C5DA26C6D5B6C153D6C6D13396C6D13F990397FF801F1
1463 011FB512E16D02C113F8010314019038007FFCEC00401500A218F05EA218E013F0EA03FC
1464 486C16C0486C5C1880487F18005E5F91C7485A4C5A6C48147F495DD807F049485A4B5B6C
1465 6C010F5B6CB4D93FFEC7FC6C90B55A6D14F0011F14C0010749C8FC010013E0364F7ACD43
1466 >I<EC7FFF0107B512F0013F14FE90B77E0003D9800713E02707F800017FD80FE06D6C7E
1467 D81F806E7E48C87F01C0141FD87FF0817F00FF17807FA56C5A18006C485CD80FC05DC912
1468 7F5F4C5A4B5B4B5B4B13804B90C7FCED1FFC5EED3FE04B5A5E4BC8FC5D4A5AA24A5A5DA2
1469 4A5AA25DA2140F5DAB91CAFCAAEC1FC04A7E4A7E4A7E497F497FA76D5B6D5B6E5A6E5A6E
1470 5A315479D340>63 D<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C80
1471 83047F80167E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F
1472 81168083033F8293C77E4B82157E8403FE824B800201835D840203834B800207835D844A
1473 B87EA24A83A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A82
1474 010785A24A82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65
1475 D<BA12C019FEF1FFC01AF01AFCD8000701F0C7000313FFDE007F7F737F070F7F737F8785
1476 87858785A287A84F5BA263616361634F5B4F5B077F90C7FC4E485A060713F892B812E097
1477 C8FC861AF003F0C7000313FE9539003FFF80070F13E0737F07017F87737F747E1C807413
1478 C0A27413E0A31CF0A386A362A31CE0A2621CC0A250138097B5FC1C004F5B19074F5B073F
1479 13F04EB55ABC128098C7FC1AF81AC007F8C8FC54527CD160>I<932601FFF8EC01C0047F
1480 D9FF8013030303B600F01307031F03FC131F92B8133F0203DAE001EBC07F020F01FCC738
1481 3FF0FF023F01E0EC07F94A01806EB5FC4A48C9FC010301F8824949824949824949824949
1482 824990CA7E4948835C48854849187FA24849183FA2485B1B1F5AA24849180FA45A4A95C7
1483 FCA3B5FCAE7EA3806CF207C0A46C7FA26C1A0F1C806C7FA26C6DF01F00A26C6D183E7E6E
1484 606D6C18FC6D6D4C5A6D6D4C5A6D6D16076D6D4C5A6D6D4C5A010001FE4C5A6E6C6C03FF
1485 C7FC6E01E0EC03FC020F01FCEC1FF80203903AFFE001FFE0020091B61280031F4BC8FC03
1486 0315F8DB007F14C0040101FCC9FC525479D261>I<BA7E19FCF1FF801AF01AFCD8000701
1487 F0C7000F13FF060014C0071F7F070713F807017F737F747E747F747F86747F747F888688
1488 8688A2757EA31D8087A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515AA2646264
1489 505B6264505B505B5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FCBB5A1AF0
1490 1AC007FCC9FC19805B527CD167>I<BC1280A5D8000701F8C7000114C0F0001F19071901
1491 851A7F1A3F1A1FA2F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A31703170717
1492 0F177F92B6FCA59238F8007F170F170717031701A317001B3EA31B7CA395C8FCA21BFCA2
1493 1BF8A21A01A31A031BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5FCBCFCA2
1494 1BC0A34F517CD058>I<BB12FEA5D8000701F8C700077FF0007F191F190785858586861B
1495 80A21A1FA31A0FA41BC006F81307A497C7FCA31701A317031707170F177F92B6FCA59238
1496 F8007F170F170717031701A31700A795C9FCB3B812F8A54A517CD055>I<932601FFF8EC
1497 01C0047FD9FF8013030303B600F01307031F03FC131F92B8133F0203DAE001EBC07F020F
1498 01FCC7383FF0FF023F01E0EC07F94A01806EB5FC4A48C9FC010301F88249498249498249
1499 49824949824990CA7E4948835C48854849187FA24849183FA2485B1B1F5AA24849180FA4
1500 5A4A95C8FCA3B5FCAE6C057FB712E0A280A27E95C7003FEBC000A36C7FA27E807EA26C7F
1501 A26C7F7E806D7E6D7F6D7F6D7F6D6D5E6D13FC01006D93B5FC6E6C6C5C6E01E0EC07FB02
1502 0F01FCEC1FF10203D9FFE0EBFFE0020091B6EAC03F031FEE001F030303FC1307DB007F02
1503 E01301040101FCCAFC5B5479D26A>I<B8D8C003B8FCA5D8000701F8C9001FEBE000B3AE
1504 92BAFCA503F8C9121FB3B1B8D8C003B8FCA560527CD169>I<B812C0A5D8000701F8C7FC
1505 B3B3B3B2B812C0A52A527CD132>I<B812F8A5D8000701F8CAFCB3B3A91A7CA41AFC1AF8
1506 A51901A31903A219071AF0190FA2191F193F197F19FF180360183F4DB5FCBB12E0A54652
1507 7CD151>76 D<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01EFA202EF6D
1508 EF03CFA202E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F6C1778A26F
1509 6C17F0A26F6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D151EA26F6D5D
1510 A3706C5DA2706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA2706D131EA270
1511 6D5BA2716C5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FCA3715BA271
1512 5BA2725AA2725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>I<B600F893B7
1513 FC81818182D800076E9239003FFC00F307E082828202EF7F8214E702E37F02E18002E080
1514 836F7F816F7F6F7F6F7F83816F806F80707F707F8482707F707F707F85827080717F717F
1515 717F8583717F717F7114801AC0837213E07213F07213F87213FC1AFE847213FF72148772
1516 14C71BE77313F7857313FF8585A28585858686A286868686A286861B7FD93FFC183FB717
1517 1FA21B0F1B07755A60527CD169>I<93380FFFC00303B6FC031F15E092B712FC0203D9FC
1518 0013FF020F01C0010F13C0023F90C7000313F0DA7FFC02007F494848ED7FFE4901E0ED1F
1519 FF49496F7F49496F7F4990C96C7F49854948707F4948707FA24849717E48864A83481B80
1520 4A83481BC0A2481BE04A83A2481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A2
1521 6E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D6D4B
1522 5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0011F13
1523 F0020F01FC90B512C0020390B7C8FC020016FC031F15E0030392C9FCDB001F13E0565479
1524 D265>I<BAFC19F819FF1AE086D8000701F0C7001F13FC060113FF726C13807313C0070F
1525 13E01BF0857313F81BFCA27313FEA41BFFA81BFEA31BFC61A21BF84F13F04F13E0614F13
1526 C04F13004E485A061F5B92B812F01AC04FC7FC19E003F8CBFCB3AEB812C0A550527CD15C
1527 >I<B912F0F0FF8019F819FF1AC0D8000701F0C714F0060F7F060113FE727F737F737F85
1528 737F87A2737FA387A863A2616363A24F5B4F5B4F90C8FC4F5A06035B060F13F095B512C0
1529 92B8C9FC19F819E019F89226F0000313FE9439007FFF80061F7F727F727F86727F8486A2
1530 727FA887A71D1C1D3E8785A275137E73157C7315FC736D13F8B86C6DEBF801739038FE07
1531 F07390B512E0736C14C0080F1400CEEA7FFC5F537CD164>82 D<91260FFF80130791B500
1532 F85B010302FF5B010FEDC03F013FEDF07F90267FF8006D5A2601FFC0EB07FD4890C70001
1533 B5FC48486E7E49814848150F48488183003F825B007F82A284A200FF83A27F84A27F7F7F
1534 6D93C7FC6C13C014F014FF6C14F0EDFF806C15F8EEFF806C16F017FC6C16FF6C836C17E0
1535 6C836D82011F826D821303010082020F16801400030715C0ED007F1603DC007F13E08317
1536 0F7113F08383127800F882A3187FA27E19E0A37E19C06C17FF6D17807F6D4B13006D5D6D
1537 5E01FE4B5AD9FFC0EC1FF802F84A5A903B1FFFC003FFE0D8FE0790B65AD8FC0193C7FC48
1538 6C6C14FC48010714E0489026003FFEC8FC3C5479D24B>I<003FBC1280A59126C0003F90
1539 38C0007F49C71607D87FF8060113C001E08449197F49193F90C8171FA2007E1A0FA3007C
1540 1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912F0A553517BD05E>I<B800C00103B6
1541 12FCA5D8000701F8CAEBF000F31F80B3B3B26D193F99C7FC81A26D197EA26D6D17FE6302
1542 7F17016E6C4C5A636E6D15076E6D4B5A6E6DED3FC06E6D4B5A020001FCDA03FFC8FC6FB4
1543 6CEB0FFE6F9039F001FFF8030F90B65A030316C0DB007F92C9FC040F14F8DC007F13805E
1544 537CD167>I<B700FC017FB600FE91B612F0A5D8003F01C0C8001F01E0C9EBF8006F71EE
1545 0FC06D7161876F1C1F6D7196C7FC6F8373606D1E3E6F836D7160876F1CFC6D666F4B801F
1546 016D66704A806E525A88704A17076E059F5F70021F80080F160F6E6570023F806EDC3E07
1547 4CC8FC8870027E5F6EDC7C03163E7002FC804F6C167E6E1C7C700101814F6C16FC6E745B
1548 70010317016E4C6D5D060716C00580496D14036F63DDC00F16E04F6D14076F07F05BDDE0
1549 1F170F6F92C76C5D1DF8DDF03E6E141F6F98C9FCDDF87E16FC067C6E5C6FF1FE3EDDFCFC
1550 177E6F4A6E147C1DFFDDFFF06E14FC6F62A24E816F62A270496F5BA24E817061A295C97E
1551 7061A270487090CAFCA37048705AA24D1601040360A27048705A84537DD18B>87
1552 D<003FB7D88003B7FCA5D8000749C8000701F8C7FC6D6D9238007F806D6E93C8FC7015FE
1553 6D17016E6D5D704A5A6E16076E6D4A5A6E6D5D4F5A6E6D143F6E6D4A5A7191C9FC6E16FE
1554 6EECC00171485A6F5D6F6D485A6FEBF80F71485A6F5D6F6D485AEFFF7F6F4ACAFC6F5C6F
1555 5CA2705B705B8482707F707FA2707F7080855E4C80855E4C80DC3FCF7F058F7FEE7F074C
1556 6C7FDB01FE814C7E4B486C8003076E7F4B48814C7F4B486D7F033F824C7F4BC76C7F4B6E
1557 7F4A5A4B6E804A486E800207844A48814B6F7F4A4883023F824A486F7F92C96C7F02FE84
1558 0101834948708090263FFFC084B76C0103B712F8A55D527CD166>I<001FBA12C01AE0A4
1559 0380C714C002F8C8148002C05C91C8481400495F495D494B5B495F495D48484B5B61495D
1560 94B55A6190C85A4C91C7FC605E003E4B5B605E4C5B60C95A93B55A605D4B91C8FC5F5D4B
1561 5B5F5D4B5B5F5D92B55A5F5C4A91C9FC5E5C4A5B5E4AEE03E04A5B5E5C91B55A5E491707
1562 4991C8FC4B16C05B495B5D49170F495B5D49171F90B55A4B153F5A4891C9127F4A16FF48
1563 5F48495D4A5D485F4849033F13804A4AB5FC48163FBBFCA47E435279D152>90
1564 D<EC3FFF0107B512F0011F14FE017F6E7E2701FFC0077F2703FC000113F001FF6D6C7E48
1565 6D6D7E83486D131F707EA284A26C497F846C90C7FCEA00FC90C8FCA6033FB5FC020FB6FC
1566 91B7FC01071407011F13E090387FFE003801FFF84813E0485B485B4890C7FC485A5B127F
1567 A2485AA45EA25E6C6C141D163D6C6C02797F6C6C02F113F86C9026C003E0EBFFE06C9027
1568 F01FC07F13F06C90B5487EC64A487E011F01F8010713E0010001E090C8FC3C387CB641>
1569 97 D<EB3FF0B5FCA51203C6FCB3A4EEFFE0030F13FE033F6D7E92B612E09126F1FE0013
1570 F8DAF7F0EB1FFEDAFFC06D7E4B01037F92C76C7F4A824A6E7F4A157F85727EA285A3727E
1571 A41A80AB1A00A44E5AA261A24E5AA24E5A6E5E6E5C6E4A5B6F495BDACFC04948C7FCDA87
1572 F0EB3FFC913A03FC01FFF049C6B65A49013F91C8FC49010F13FC90C70001138041547BD2
1573 4B>I<913801FFF8021FEBFF8091B612E0010315F8010F9038800FFE4948C77ED93FF813
1574 03D9FFF0491380485B4A4913C0485B5A4890C7FCA2486F13805B003F6F1300EE00FC94C7
1575 FC485AA412FFAB127FA27FA2123FA2001FEE03E07F7E6EEC07C07E6EEC0F806C6D141F6C
1576 EE3F006C6D147ED97FFC5CD91FFEEB03F8903A0FFFC01FF0010390B55A01001580021F01
1577 FCC7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707B3A4EDFFC0021F13FC
1578 91B6FC010315C7010F9038C01FE7903A1FFE0003F7D93FF86DB5FCD9FFF06D7E48498048
1579 49805C48824890C8FCA2485AA2123FA2485AA412FFAB127FA46C7EA3121FA26C7E6C5E6E
1580 5C6C7F6C5E6C6D49B5FCD97FF84914E06D6CD90FEFEBFF80903A0FFF807FCF010390B512
1581 0F010014FE023F13F00203018049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC01
1582 0715C04901817F903A3FFC003FF0D97FF06D7E4948EB07FC48498048496D7E5A91C76C13
1583 805A486F13C05B003F17E0A2177F485A18F0A312FFA390B8FCA318E001FCCAFCA5127FA3
1584 7F123FA2001F17E06DED01F07E17036C6D15E06C16076C6DEC0FC06C6DEC1F806D6CEC3F
1585 006D6C14FED91FFEEB03FC903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F0
1586 34387CB63D>I<ED1FF84AB5FC020F14C0023F14E09139FFF81FF0499038C03FF849EB80
1587 7F49010013FC494813FF5C495AA2133F4AEB7FF8017FEC3FF0EE1FE0EE0FC093C7FCAEB7
1588 12E0A526007FF8C8FCB3B3A7007FB512FEA52E547CD329>I<DA1FFF147F91B539E003FF
1589 C00107DAFC0F13E0011FECFF3F90263FFC079038FF1FF09026FFE00013F84849EB7FF04A
1590 133F4890C7D81FF813E0489338FC0FC0F0038048486E6CC7FCA3001F82A7000F5EA36C6C
1591 4A5AA26C5E6C6D495A6E137F6C6D495A90267FFC07138090B7C8FCD801E714FC01E014E0
1592 2603C01F90C9FC91CBFC1207A37FA27F7F13FE90B7FC6C16F017FE717E6C17E0846C836D
1593 826D8248B9FC12074848C71201D81FF8DA001F1380484815074848817113C0484881A66C
1594 6C4B1380A26C6C4B1300A26C6C4B5AD80FFEED1FFC6C6C4B5A6C01C0ECFFF0C601FC010F
1595 13C0013FB7C7FC010F15FC010115E0D9000F01FCC8FC3C4F7CB543>I<EB3FF0B5FCA512
1596 03C6FCB3A4EE1FFC93B57E030314E0030F14F892391FC07FFC92393E001FFE5D03F06D7E
1597 ECF1E0DAF3C0814B7F02F7C7FC02FF825CA25CA35CB3ADB6D8F807B612C0A542537BD24B
1598 >I<137F497E487F487F487F487FA76C5B6C5B6C5B6C5B6DC7FC90C8FCADEB3FF0B5FCA5
1599 12017EB3B3A6B612E0A51B547BD325>I<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C53
1600 7BD225>108 D<D93FF0D91FFCEDFFE0B591B56C010713FC030302E0011F13FF030F02F8
1601 017F14C092271FC07FFCD9FE037F922A3E001FFE01F0007F00034A4B5AC602F090270FFF
1602 07806D7EDAF1E04BC7FCDAF3C0039E814B6D019C143F02F7C714B802FF04F8814A5EA24A
1603 5EA34A5EB3ADB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B57E03
1604 0314E0030F14F892391FC07FFC92393E001FFE00035CC602F06D7EECF1E0DAF3C0814B7F
1605 02F7C7FC02FF825CA25CA35CB3ADB6D8F807B612C0A542367BB54B>I<913801FFE0021F
1606 13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF0903803FF8049486D7F
1607 48496D7F48496E7EA24890C86C7E488349151F001F83A2003F834981A2007F1880A400FF
1608 18C0AC007F1880A36C6C4B1300A3001F5FA26C6C4B5AA26C6D4A5A6C5F6C6D4A5A6C6D49
1609 5B6D6C495BD93FFC010F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113
1610 E03A387CB643>I<D93FF0EBFFE0B5010F13FE033F6D7E92B612E09126F1FE0113F8913A
1611 F7F0003FFE0003D9FFC06D7EC64A01077F92C76C7F4A824A6E7F4A8085727EA285183FA2
1612 85A284A21A80AB1A0060A361A24E5AA24E5AA24D5B6E5E6E5C6E4A5B6F495B6F4948C7FC
1613 03F0EB7FFC913AFBFC03FFF002F8B65A033F91C8FC030F13FC0301138092CBFCB1B612F8
1614 A5414D7BB54B>I<DBFFC0EB0780021F01F8130F027F01FE131F0103B61280499039E03F
1615 C03F011F90390007E07FD93FFCEB03F0D9FFF8903801F8FF4849EB00F94849147F4A805A
1616 484980A24890C87EA2485A83127FA35B12FFAB127FA27FA2123FA26C7E5FA26C6D5C7E6E
1617 5C6C6D5C6C93B5FC6C6D5BD97FFC5B6D6CEB0FEF903A0FFFC07F8F010390B5120F010014
1618 FC023F13F00201138091C8FCB1040FB61280A5414D7CB547>I<90397FE001FCB590380F
1619 FF80033F13E04B13F09238FE1FF89139E1F03FFC0003EBE3E0C69138C07FFEECE7801500
1620 14EF14EE02FEEB3FFC5CEE1FF8EE07E04A90C7FCA55CB3AAB612FCA52F367CB537>I<90
1621 3901FFE007011FEBFC1F017FEBFF7F48B7FC3907FE001FD80FF01307D81FC01301497F00
1622 3F8148C87EA34881A27FA27F01F091C7FC13FC387FFFC014FEECFFF06C14FEEDFFC06C81
1623 6C15F86C810001816C81013F1580010715C01300020714E0EC001F1503030013F0007815
1624 7F00F8153F161F7E160FA27E17E07EA26DEC1FC07F6DEC3F806DEC7F0001FCEB01FE9039
1625 FF800FFC013FB55AD8FC1F14E0D8F803148027E0007FF8C7FC2C387CB635>I<143EA614
1626 7EA414FEA21301A313031307A2130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FC
1627 B3A9EE07C0AB011FEC0F80807FEE1F006D1380EDC03E6D6D5A0100EBFFF86E5B021F5B02
1628 0190C7FC2A4D7ECB34>I<D93FF8913801FFC0B50207B5FCA50003ED001FC61607B3AF5F
1629 A35F017F5D173B177B6D6C14F3011FDA01E313F06ED907C3EBFFC0903A0FFF801F830103
1630 90B512036D14FED9003F13F8020301C091C7FC42377BB54B>I<B600F00107B5FCA50001
1631 01F8C8EA7FC06C6DED3F00A2017F163E6E157E013F167C6E15FC6D5E6F13016D5E811703
1632 6D5E6F13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C133E177E023F147C6F13FC6E5C
1633 16816E5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8FCA26F5AA36F5AA26F5AA26F5A
1634 A26F5A6F5A40367DB447>I<B6D8E07FB5D8C003B512C0A5000101F0C701F0C7381FF800
1635 6E027FED07E06C715DA26E023F150F017F705DA26E181F013F4B6C92C7FC6E606D70143E
1636 94B5FC6F177E6D4A6E137C03C001F315FC6D715B160303E001E114016D020702E05B03F0
1637 13C06D71485A160F03F8D9807F13076D05F85B93381F003F03FC160F027F4902FC5BDBFE
1638 3E011F131F023F04FE90C8FC167EDBFF7C010F5B6E01FCECFF3E4C6D137E6E5FA24C7F6E
1639 5F4C7F6E5FA24C7F6E5F4C147FA26E5F93C8123F6F5EA2033E6FC9FC5A367DB461>I<00
1640 7FB500F090387FFFFEA5C66C48C7000F90C7FC6D6CEC03F86D6D495A6D6D495A6D4B5A6F
1641 495A6D6D91C8FC6D6D137E6D6D5B91387FFE014C5A6E6C485A6EEB8FE06EEBCFC06EEBFF
1642 806E91C9FCA26E5B6E5B6F7E6F7EA26F7F834B7F4B7F92B5FCDA01FD7F03F87F4A486C7E
1643 4A486C7E020F7FDA1FC0804A486C7F4A486C7F02FE6D7F4A6D7F495A49486D7F01076F7E
1644 49486E7E49486E7FEBFFF0B500FE49B612C0A542357EB447>I<B600F00107B5FCA5C601
1645 F8C8EA7FC06EED3F00A26D6C153E187E013F167C6E15FC6D5E6F13016D5E6F13036D5E81
1646 17076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E6F137E023F147C6F13FCA26E6D5A
1647 16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8FCA36F5AA26F5AA26F5AA26F5AA2
1648 6F5AA35E150F5E151F93C9FC5DD81FC0133E486C137E486C137C486C13FC5D14015D1403
1649 4A5A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C13F000035BC690CBFC404D7DB447
1650 >I<001FB8FC1880A3912680007F130001FCC75B01F014FF49495B49495B495D5D48C748
1651 5B4B5B5F5D003E4A90C7FC4B5A5E5C4A5B5EC75A4A5B4A5B5E5C4A90C8FC4A5A5D5B4949
1652 EB0F80495B5D5B495B4B131F4916004990C7FC495A4A5C5A485B48495C5C485E48495B48
1653 49130791C7485A4815FFB8FCA37E31357CB43C>I E
1654 %EndDVIPSBitmapFont
1655 %DVIPSBitmapFont: Ft cmbx12 20.736 16
1656 /Ft 16 122 df<13FF000313C04813F0487F487F487F5A801580B6FCA215C0A315E0A27E
1657 A37E7E7E6C13F76C13E7C61387EB0007A2140F15C0A3141FA21580143FA215005C147E14
1658 FEA2495AA2495A495AA2495A495A133F495A49C7FC485A485A485A485A6C5A6C5A6C5A1B
1659 3A729836>44 D<96267FFFE01670063FB616F80503B700E01401053F04FC14034CB91407
1660 040706C0130F043F06F0131F93B626FE000F01FC133F030303809026007FFE137F030F02
1661 FCC8390FFF80FF4B02E0030313C1037F91CA13E392B500FCEF3FF7020302F071B5FC4A4A
1662 17074A0280834A91CB7E4A01FC844A498591B54885494A854988494A85495C93CD7E4988
1663 495B49885D90B51C7F5D481E3F485CA21F1F485CA2481E0F5D5AA21F075D5AA2F703F09C
1664 C7FC5AA392D1FCA2B6FCB27EA281A37EA3F701F06CF603F881A37E816C1E0720F06C80A3
1665 6C6E1B0F6C1FE06F1B1F7F6F1CC06D1D3F6D6DF37F807F70F2FF006D6E626D6E19016D52
1666 5A6D6E4F5A6E6D190F6E01FE4F5A6E6D4F5A6E6E4E5A6E02E04D485A6E6E4D90C7FC0200
1667 02FCEF0FFE6F01FFEF3FFC031F02E0EEFFF06F02FC03075B0303DAFFC0023F1380030003
1668 FE0107B5C8FC043F91B712FC040718F0040118C0DC003F94C9FC050316F8DD003F1580DE
1669 007F01F0CAFC757A75F78C>67 D<BBFCA7C7003F0280CCFCB3B3B3ABF503F8A41D071EF0
1670 A51D0FA41EE01D1FA31D3FA21D7FA3F5FFC064A26464A264646499B51280631B071B1F1B
1671 7F0803B6FC1A3FBFFCA21E00A565767AF574>76 D<B800C00503B812C083838383A283C7
1672 003F6E94C7003F01FCC7FC7206011380727290C8FC84A2848403DF8003CF8003C78015C3
1673 03C1818503C0817080708082708085708070817081827180867180718071808371808771
1674 817181728084728087728072807281847281887380738073808573808873817381738186
1675 7480897480748074808674818A7481758075808775808A7580758175818776808B768076
1676 807680887691B5FCA28888898989A28989898989A28A8A8A8A8AA28A8A8A8B8B4A7E010F
1677 B587B800F0858B8B8BA28B207E8A767AF597>78 D<92383FFFF8020FB612E0027F15FC01
1678 03B87E010F17E04983499026E0007F13FCD97FFCC7000F7F496C02037F486D6E806F6D6C
1679 7F86486E6E7F727F86848684866C5CA26C91C86C806D5A6D5A6D5AEB03C090CAFCA80507
1680 B6FC041FB7FC0303B8FC157F0203B9FC021FECFE0391B612800103ECF800010F14C04991
1681 C7FC017F13FC90B512F04814C0485C4891C8FC485B485BA2485BA2485BA2B5FC5CA360A3
1682 60806C5FA26C6D153E6E5D6C05FC806C01FFDA03F8806C6ED90FF014FC6C02E090263FE0
1683 7FEBFFFC6C9128FC03FFC03F14FE6C91B61280013F4B487E010F4B1307010303F01301D9
1684 003F0280D9001F13FC020101F8CBFC57507ACE5E>97 D<903801FFFCB6FCA7C67E131F7F
1685 B3AEF0FFFC050FEBFFE0057F14FE4CB77E040716E0041F16F84CD9007F13FEDCFFF00107
1686 7F03FD01C001018092B5C86C7F04FC6F7F04F06F7F4C6F7F4C6F7F4C6F7F93C9804B7014
1687 80A27414C0A21DE0A27513F0A21DF8A37513FCA51DFEAF1DFCA45113F8A31DF0A398B512
1688 E0A21DC0501480A26F4C1400705F62704B5B705F70033F5BDBF7F84B5BDBE3FE92B55A92
1689 26C1FF80010391C7FC038001E0011F5B9226007FFC90B55A4A011FB712F04A6D16C04A01
1690 0393C8FC4A010015F84A021F14C090C9000301F0C9FC5F797AF76C>I<EE3FFF0307B512
1691 F8033F14FF4AB712E0020716F8021F16FE027FD9F8037F49B526C0007F7F4991C76C13E0
1692 4901FC020F7F49498049496E7F49496E7F49496E7F90B55A48727E92C9FC48721380485B
1693 1BC048841BE0485BA27313F05AA25C5AA21BF885A2B5FCA391BAFCA41BF002F8CCFCA67E
1694 A3807EA47E806CF101F0F203F86C7F1A076C6E17F06C190F6F17E06C6E161F6D6DEE3FC0
1695 6D6D167F6D6DEEFF806D6D030313006D6D6C4A5A6D02E0EC1FFC6D02F8EC7FF86D913AFF
1696 8007FFF0023F91B65A020F178002034CC7FC020016F8031F15C003014AC8FCDB000F13C0
1697 4D507BCE58>101 D<EF7FFC041FB57E93B612E0030715F8031F81037F8192B538E01FFF
1698 0203DA003F13804A01FC4913C04A4990B5FC4A13E04A494814E05C168091B5FC491400A2
1699 5D496F14C0A272138049496E1300725AF007F895C8FCB3A2B912C0A7D8000749CAFCB3B3
1700 B3A9007FB712FCA743797AF83B>I<EB01FCEB07FF011F13C0497F497F90B57EA24880A2
1701 4880A76C5CA26C5CA26D5B6D5B6D5B010790C8FCEB01FC90CAFCB2903801FFFC007FB5FC
1702 A7C67E131F7FB3B3B3A7B81280A7297979F835>105 D<903801FFFCB6FCA7C67E131F7F
1703 B3B3B3B3B3ADB812C0A72A7879F735>108 D<902601FFF891260FFFE093383FFF80B692
1704 B500FE0303B512F805036E6C020F14FE050F03E0023F6E7E053F03F891B712E04D6F4982
1705 9426FFF01F6D49D9C07F7F4CD900076D902707FC001F7FC66CDA07FC01019126801FF001
1706 077F011FDA0FF0EF3FC06DDA1FC06D6E48C76C7F4DDCE07E83043EC86C02F8804CEFE1F0
1707 04FC05F3844C60DBF9F06FD9F7C0804C6003FB06FF844C95C9FC15FF4C5FA393C95CA44B
1708 60B3B3A7B8D8E003B8D8800FB712FEA7974E79CDA2>I<93381FFFE00303B6FC031F15E0
1709 92B712FC020316FF020F17C0023FD9FC0014F091B500C0010F13FC4991C700037F4901FC
1710 02007F010F496F13C049496F7F49496F7F4B8149496F7F90B5C96C7F4886A24849707F48
1711 1B80A248497014C0A2481BE0A348497113F0A3481BF8A5B51AFCAE6C1BF8A46C1BF06E94
1712 B5FCA36C1BE0A26C6D4C14C0A26C1B806E5E6C1B006C6E4B5BA26C6E4B5B6D6D4B5B6D6D
1713 4B5B6D6D4B5B6D6D92B55A6D01FF02035C6D02C0010F91C7FC010002FC90B512FC6E90B7
1714 5A021F17E00207178002014CC8FCDA003F15F0030392C9FCDB001F13E056507BCE61>
1715 111 D<902601FFF8EB07FEB691383FFFC094B512F04C800407804C8093391FFC3FFF9326
1716 3FE07F1380C66C0380B512C0011F4A5A6DDAFC0114E0A2EDF9F816F015FB16E015FF4C6C
1717 14C0A24C6D1380721300725A93C76C5AF001E095C8FCA25DA55DB3B3A4B812F8A7434E7A
1718 CD4F>114 D<912603FFFCEB0780027F9039FFE00FC00103B6EAF83F010FEDFEFF013F92
1719 B5FC49EB00072601FFF01300480180141F4890C81207D80FFC8183484881123F49167F12
1720 7F183FA300FF171F7FA27F7F6DEE0F8002C092C7FC14F014FE6CEBFFF0EDFF8016FE6CED
1721 FFE017FC6C16FF6C17C0846C17F86C836C836C6C826D17806D17C0010717E01301D9003F
1722 16F0020716F8EC001F030015FC1607EE007F171F050713FE007C160100FE82187F7E183F
1723 A2181F7FA26D17FCA27FA26DEE3FF87F19F06D167F6D17E06D6C15FF6E020313C002F04A
1724 138002FC023F1300913AFFC003FFFE01E790B65A01C316F0010016C048013F92C7FC4801
1725 0714F80070D9007F90C8FC3F507ACE4C>I<DAFFFE933803FFF8B60303B6FCA7C66CEE00
1726 01011F717E6D84B3B3A962A497B5FCA3616D5FA2F107DF6D6D150FF11F9F6DEF3F1F7002
1727 7E806DDC01FC14FF6E01E0D907F8EDFF806E01FEEB3FF06E90B612E06E16C00203168002
1728 00EDFE00031F14F80300028003C0C7FC614F79CD6C>117 D<B8037FB512F8A7D8001F49
1729 C90003EBF8009738007FC06D6D60A26D6E94C7FC636D6E5E1A016D6E5E1A036D6E5E1A07
1730 A26E6D4B5AA26E6D5E1A1F6E6D5E1A3F6E6D5E1A7F6E6E92C8FC62A26E6E495AA26E6E5C
1731 19036E6E5C19076F6D5C190F6F6D5C191FA26F6D495AA26F6D495AA26F028090C9FC616F
1732 6E5A18C16FECE1FC18E3A26FECF7F8A270EBFFF0A2705CA2705CA2705CA37091CAFCA270
1733 5BA2705BA2705BA2715AA2715AA360A260177F95CBFC5F5F16015F1603EA03F0D80FFC4A
1734 5A487E486C4A5A487F4C5AB57E4C5AA24C5A4CCCFC4B5AEC80036C4A5A4A485A6CEC3FF0
1735 01FCEBFFE0001F01075B6CB65A6C4ACDFC6C5CC614F0013F13C0D907FCCEFC5D6F7CCC66
1736 >121 D E
1737 %EndDVIPSBitmapFont
1738 end
1739 %%EndProlog
1740 %%BeginSetup
1741 %%Feature: *Resolution 600dpi
1742 TeXDict begin
1743 %%PaperSize: A4
1744
1745 %%EndSetup
1746 %%Page: 1 1
1747 1 0 bop -30 1318 a Ft(CLN,)65 b(a)g(Class)h(Library)g(for)e(Num)-5
1748 b(b)5 b(ers)p -30 1418 3961 34 v -30 5068 a Fs(b)l(y)45
1749 b(Bruno)f(Haible)p -30 5141 3961 17 v eop
1750 %%Page: 2 2
1751 2 1 bop -30 4017 a Fr(Cop)m(yrigh)m(t)422 4014 y(c)397
1752 4017 y Fq(\015)30 b Fr(Bruno)g(Haible)h(1995,)i(1996,)f(1997,)g(1998,)h
1753 (1999,)f(2000.)-30 4371 y(Published)21 b(b)m(y)i(Bruno)f(Haible,)k
1754 Fp(<haible@clisp.cons.org>)16 b Fr(and)23 b(Ric)m(hard)f(Krec)m(k)m
1755 (el,)27 b Fp(<kreckel@ginac.de>)p Fr(.)-30 4505 y(P)m(ermission)h(is)h
1756 (gran)m(ted)h(to)g(mak)m(e)f(and)g(distribute)f(v)m(erbatim)h(copies)h
1757 (of)f(this)g(man)m(ual)g(pro)m(vided)f(the)i(cop)m(yrigh)m(t)-30
1758 4615 y(notice)i(and)d(this)i(p)s(ermission)d(notice)k(are)e(preserv)m
1759 (ed)g(on)h(all)g(copies.)-30 4749 y(P)m(ermission)g(is)i(gran)m(ted)g
1760 (to)g(cop)m(y)g(and)e(distribute)h(mo)s(di\014ed)e(v)m(ersions)j(of)f
1761 (this)h(man)m(ual)e(under)g(the)h(conditions)-30 4859
1762 y(for)d(v)m(erbatim)g(cop)m(ying,)i(pro)m(vided)e(that)h(the)f(en)m
1763 (tire)i(resulting)e(deriv)m(ed)g(w)m(ork)h(is)f(distributed)g(under)e
1764 (the)j(terms)-30 4969 y(of)h(a)f(p)s(ermission)f(notice)i(iden)m(tical)
1765 h(to)g(this)e(one.)-30 5103 y(P)m(ermission)23 b(is)i(gran)m(ted)g(to)g
1766 (cop)m(y)g(and)e(distribute)h(translations)h(of)g(this)f(man)m(ual)g
1767 (in)m(to)h(another)f(language,)j(under)-30 5213 y(the)37
1768 b(ab)s(o)m(v)m(e)i(conditions)f(for)f(mo)s(di\014ed)e(v)m(ersions,)k
1769 (except)f(that)g(this)f(p)s(ermission)f(notice)i(ma)m(y)f(b)s(e)g
1770 (stated)h(in)f(a)-30 5322 y(translation)31 b(appro)m(v)m(ed)g(b)m(y)f
1771 (the)h(author.)p eop
1772 %%Page: 1 3
1773 1 2 bop -30 -116 a Fr(Chapter)30 b(1:)41 b(In)m(tro)s(duction)2952
1774 b(1)-30 299 y Fo(1)80 b(In)l(tro)t(duction)-30 524 y
1775 Fr(CLN)30 b(is)g(a)h(library)f(for)g(computations)g(with)g(all)i(kinds)
1776 d(of)i(n)m(um)m(b)s(ers.)38 b(It)30 b(has)h(a)f(ric)m(h)h(set)g(of)f(n)
1777 m(um)m(b)s(er)e(classes:)45 656 y Fq(\017)60 b Fr(In)m(tegers)31
1778 b(\(with)g(unlimited)e(precision\),)45 789 y Fq(\017)60
1779 b Fr(Rational)32 b(n)m(um)m(b)s(ers,)45 922 y Fq(\017)60
1780 b Fr(Floating-p)s(oin)m(t)33 b(n)m(um)m(b)s(ers:)199
1781 1054 y Fq(\000)60 b Fr(Short)30 b(\015oat,)199 1187 y
1782 Fq(\000)60 b Fr(Single)31 b(\015oat,)199 1320 y Fq(\000)60
1783 b Fr(Double)31 b(\015oat,)199 1452 y Fq(\000)60 b Fr(Long)31
1784 b(\015oat)g(\(with)f(unlimited)f(precision\),)45 1585
1785 y Fq(\017)60 b Fr(Complex)29 b(n)m(um)m(b)s(ers,)45 1718
1786 y Fq(\017)60 b Fr(Mo)s(dular)30 b(in)m(tegers)i(\(in)m(tegers)g(mo)s
1787 (dulo)c(a)j(\014xed)f(in)m(teger\),)45 1850 y Fq(\017)60
1788 b Fr(Univ)-5 b(ariate)32 b(p)s(olynomials.)-30 2006 y(The)g(subt)m(yp)s
1789 (es)f(of)h(the)h(complex)f(n)m(um)m(b)s(ers)d(among)j(these)h(are)f
1790 (exactly)i(the)f(t)m(yp)s(es)f(of)g(n)m(um)m(b)s(ers)e(kno)m(wn)i(to)h
1791 (the)-30 2116 y(Common)26 b(Lisp)h(language.)42 b(Therefore)28
1792 b Fp(CLN)f Fr(can)i(b)s(e)e(used)h(for)g(Common)d(Lisp)j(implemen)m
1793 (tations,)g(giving)h(`)p Fp(CLN)p Fr(')-30 2225 y(another)i(meaning:)40
1794 b(it)30 b(b)s(ecomes)g(an)g(abbreviation)h(of)g(\\Common)d(Lisp)i(Num)m
1795 (b)s(ers".)-30 2358 y(The)g(CLN)g(pac)m(k)-5 b(age)32
1796 b(implemen)m(ts)45 2491 y Fq(\017)60 b Fr(Elemen)m(tary)30
1797 b(functions)g(\()p Fp(+)p Fr(,)h Fp(-)p Fr(,)f Fp(*)p
1798 Fr(,)g Fp(/)p Fr(,)h Fp(sqrt)p Fr(,)e(comparisons,)35
1799 b(.)23 b(.)f(.)11 b(\),)45 2623 y Fq(\017)60 b Fr(Logical)32
1800 b(functions)e(\(logical)j Fp(and)p Fr(,)d Fp(or)p Fr(,)g
1801 Fp(not)p Fr(,)35 b(.)23 b(.)f(.)11 b(\),)45 2756 y Fq(\017)60
1802 b Fr(T)-8 b(ranscenden)m(tal)48 b(functions)e(\(exp)s(onen)m(tial,)53
1803 b(logarithmic,)f(trigonometric,)g(h)m(yp)s(erb)s(olic)46
1804 b(functions)h(and)150 2866 y(their)30 b(in)m(v)m(erse)i(functions\).)
1805 -30 3021 y(CLN)e(is)g(a)h(C)p Fp(++)f Fr(library)-8 b(.)40
1806 b(Using)31 b(C)p Fp(++)e Fr(as)i(an)f(implemen)m(tation)g(language)i
1807 (pro)m(vides)45 3154 y Fq(\017)60 b Fr(e\016ciency:)42
1808 b(it)31 b(compiles)f(to)h(mac)m(hine)f(co)s(de,)45 3287
1809 y Fq(\017)60 b Fr(t)m(yp)s(e)37 b(safet)m(y:)55 b(the)38
1810 b(C)p Fp(++)e Fr(compiler)g(kno)m(ws)h(ab)s(out)g(the)g(n)m(um)m(b)s
1811 (er)e(t)m(yp)s(es)i(and)f(complains)g(if,)j(for)e(example,)150
1812 3396 y(y)m(ou)31 b(try)f(to)h(assign)g(a)g(\015oat)g(to)g(an)f(in)m
1813 (teger)i(v)-5 b(ariable.)45 3529 y Fq(\017)60 b Fr(algebraic)32
1814 b(syn)m(tax:)41 b(Y)-8 b(ou)31 b(can)g(use)f(the)h Fp(+)p
1815 Fr(,)f Fp(-)p Fr(,)g Fp(*)p Fr(,)g Fp(=)p Fr(,)h Fp(==)p
1816 Fr(,)k(.)22 b(.)h(.)41 b(op)s(erators)31 b(as)f(in)h(C)e(or)i(C)p
1817 Fp(++)p Fr(.)-30 3685 y(CLN)f(is)g(memory)f(e\016cien)m(t:)45
1818 3817 y Fq(\017)60 b Fr(Small)30 b(in)m(tegers)h(and)f(short)g(\015oats)
1819 h(are)g(immediate,)e(not)i(heap)f(allo)s(cated.)45 3950
1820 y Fq(\017)60 b Fr(Heap-allo)s(cated)30 b(memory)25 b(is)i(reclaimed)g
1821 (through)f(an)h(automatic,)h(non-in)m(terruptiv)m(e)g(garbage)g
1822 (collection.)-30 4106 y(CLN)i(is)g(sp)s(eed)g(e\016cien)m(t:)45
1823 4238 y Fq(\017)60 b Fr(The)31 b(k)m(ernel)h(of)f(CLN)g(has)g(b)s(een)g
1824 (written)g(in)g(assem)m(bly)g(language)i(for)e(some)g(CPUs)f(\()p
1825 Fp(i386)p Fr(,)h Fp(m68k)p Fr(,)g Fp(sparc)p Fr(,)150
1826 4348 y Fp(mips)p Fr(,)e Fp(arm)p Fr(\).)45 4481 y Fq(\017)60
1827 b Fr(On)38 b(all)h(CPUs,)h(CLN)e(ma)m(y)g(b)s(e)g(con\014gured)g(to)h
1828 (use)f(the)g(sup)s(ere\016cien)m(t)h(lo)m(w-lev)m(el)i(routines)d(from)
1829 f(GNU)150 4590 y(GMP)31 b(v)m(ersion)g(3.)45 4723 y Fq(\017)60
1830 b Fr(It)21 b(uses)g(Karatsuba)g(m)m(ultiplication,)j(whic)m(h)c(is)i
1831 (signi\014can)m(tly)g(faster)f(for)g(large)h(n)m(um)m(b)s(ers)d(than)i
1832 (the)g(standard)150 4832 y(m)m(ultiplication)31 b(algorithm.)45
1833 4965 y Fq(\017)60 b Fr(F)-8 b(or)61 b(v)m(ery)f(large)h(n)m(um)m(b)s
1834 (ers)d(\(more)h(than)h(12000)i(decimal)e(digits\),)69
1835 b(it)60 b(uses)g(Sc)m(h\177)-45 b(onhage-Strassen)150
1836 5075 y(m)m(ultiplication,)33 b(whic)m(h)e(is)g(an)g(asymptotically)i
1837 (optimal)e(m)m(ultiplication)h(algorithm,)g(for)f(m)m(ultiplication,)
1838 150 5184 y(division)f(and)g(radix)g(con)m(v)m(ersion.)-30
1839 5340 y(CLN)g(aims)g(at)h(b)s(eing)f(easily)h(in)m(tegrated)h(in)m(to)g
1840 (larger)f(soft)m(w)m(are)g(pac)m(k)-5 b(ages:)p eop
1841 %%Page: 2 4
1842 2 3 bop -30 -116 a Fr(Chapter)30 b(1:)41 b(In)m(tro)s(duction)2952
1843 b(2)45 299 y Fq(\017)60 b Fr(The)30 b(garbage)i(collection)h(imp)s
1844 (oses)28 b(no)j(burden)d(on)i(the)h(main)e(application.)45
1845 433 y Fq(\017)60 b Fr(The)30 b(library)g(pro)m(vides)g(ho)s(oks)g(for)g
1846 (memory)f(allo)s(cation)j(and)e(exceptions.)45 568 y
1847 Fq(\017)60 b Fr(All)31 b(non-macro)f(iden)m(ti\014ers)g(are)h(hidden)e
1848 (in)h(namespace)g Fp(cln)g Fr(in)g(order)f(to)j(a)m(v)m(oid)f(name)f
1849 (clashes.)p eop
1850 %%Page: 3 5
1851 3 4 bop -30 -116 a Fr(Chapter)30 b(2:)41 b(Installation)2999
1852 b(3)-30 299 y Fo(2)80 b(Installation)-30 526 y Fr(This)30
1853 b(section)h(describ)s(es)f(ho)m(w)g(to)h(install)g(the)g(CLN)f(pac)m(k)
1854 -5 b(age)32 b(on)f(y)m(our)f(system.)-30 779 y Fs(2.1)68
1855 b(Prerequisites)-30 1057 y Fn(2.1.1)63 b(C)p Fm(++)40
1856 b Fn(compiler)-30 1248 y Fr(T)-8 b(o)36 b(build)e(CLN,)g(y)m(ou)i(need)
1857 f(a)g(C)p Fp(++)f Fr(compiler.)54 b(Actually)-8 b(,)39
1858 b(y)m(ou)c(need)g(GNU)h Fp(g++)29 b(2.90)34 b Fr(or)h(new)m(er,)h(the)g
1859 (EGCS)-30 1358 y(compilers)30 b(will)h(do.)40 b(I)30
1860 b(recommend)e(GNU)j Fp(g++)f(2.95)f Fr(or)h(new)m(er.)-30
1861 1491 y(The)h(follo)m(wing)j(C)p Fp(++)d Fr(features)h(are)g(used:)43
1862 b(classes,)33 b(mem)m(b)s(er)c(functions,)k(o)m(v)m(erloading)h(of)e
1863 (functions)f(and)g(op)s(er-)-30 1600 y(ators,)g(constructors)g(and)f
1864 (destructors,)g(inline,)h(const,)g(m)m(ultiple)f(inheritance,)h
1865 (templates)g(and)f(namespaces.)-30 1733 y(The)g(follo)m(wing)i(C)p
1866 Fp(++)d Fr(features)i(are)g(not)f(used:)40 b Fp(new)p
1867 Fr(,)30 b Fp(delete)p Fr(,)f(virtual)h(inheritance,)i(exceptions.)-30
1868 1866 y(CLN)23 b(relies)h(on)g(semi-automatic)f(ordering)h(of)f
1869 (initializations)j(of)e(static)h(and)e(global)i(v)-5
1870 b(ariables,)25 b(a)f(feature)g(whic)m(h)-30 1976 y(I)30
1871 b(could)h(implemen)m(t)e(for)h(GNU)h(g)p Fp(++)f Fr(only)-8
1872 b(.)-30 2196 y Fn(2.1.2)63 b(Mak)m(e)40 b(utilit)m(y)-30
1873 2387 y Fr(T)-8 b(o)31 b(build)e(CLN,)h(y)m(ou)h(also)g(need)g(to)g(ha)m
1874 (v)m(e)g(GNU)g Fp(make)e Fr(installed.)-30 2607 y Fn(2.1.3)63
1875 b(Sed)41 b(utilit)m(y)-30 2798 y Fr(T)-8 b(o)39 b(build)e(CLN)h(on)g
1876 (HP-UX,)h(y)m(ou)g(also)g(need)f(to)h(ha)m(v)m(e)g(GNU)g
1877 Fp(sed)e Fr(installed.)66 b(This)37 b(is)h(b)s(ecause)h(the)f(libto)s
1878 (ol)-30 2907 y(script,)29 b(whic)m(h)g(creates)h(the)e(CLN)h(library)-8
1879 b(,)29 b(relies)g(on)g Fp(sed)p Fr(,)f(and)g(the)h(v)m(endor's)g
1880 Fp(sed)f Fr(utilit)m(y)i(on)e(these)h(systems)f(is)-30
1881 3017 y(to)s(o)j(limited.)-30 3270 y Fs(2.2)68 b(Building)45
1882 b(the)g(library)-30 3461 y Fr(As)30 b(with)g(an)m(y)h(auto)s
1883 (con\014guring)f(GNU)h(soft)m(w)m(are,)h(installation)h(is)d(as)h(easy)
1884 g(as)f(this:)210 3589 y Fp($)47 b(./configure)210 3692
1885 y($)g(make)210 3796 y($)g(make)g(check)-30 3929 y Fr(If)30
1886 b(on)g(y)m(our)g(system,)g(`)p Fp(make)p Fr(')g(is)g(not)h(GNU)g
1887 Fp(make)p Fr(,)e(y)m(ou)i(ha)m(v)m(e)h(to)f(use)f(`)p
1888 Fp(gmake)p Fr(')f(instead)i(of)g(`)p Fp(make)p Fr(')e(ab)s(o)m(v)m(e.)
1889 -30 4062 y(The)39 b Fp(configure)d Fr(command)h(c)m(hec)m(ks)k(out)e
1890 (some)g(features)g(of)h(y)m(our)f(system)f(and)h(C)p
1891 Fp(++)f Fr(compiler)h(and)f(builds)-30 4172 y(the)i Fp(Makefile)p
1892 Fr(s.)66 b(The)39 b Fp(make)f Fr(command)g(builds)g(the)i(library)-8
1893 b(.)68 b(This)39 b(step)h(ma)m(y)f(tak)m(e)i(4)f(hours)e(on)i(an)f(a)m
1894 (v)m(er-)-30 4281 y(age)d(w)m(orkstation.)57 b(The)35
1895 b Fp(make)29 b(check)34 b Fr(runs)f(some)i(test)h(to)g(c)m(hec)m(k)g
1896 (that)g(no)f(imp)s(ortan)m(t)g(subroutine)f(has)h(b)s(een)-30
1897 4391 y(miscompiled.)-30 4524 y(The)30 b Fp(configure)e
1898 Fr(command)g(accepts)k(options.)41 b(T)-8 b(o)30 b(get)i(a)f(summary)c
1899 (of)j(them,)g(try)210 4651 y Fp($)47 b(./configure)e(--help)-30
1900 4784 y Fr(Some)29 b(of)i(the)g(options)f(are)h(explained)g(in)f(detail)
1901 h(in)f(the)h(`)p Fp(INSTALL.generic)p Fr(')26 b(\014le.)-30
1902 4917 y(Y)-8 b(ou)21 b(can)g(sp)s(ecify)f(the)g(C)g(compiler,)i(the)f(C)
1903 p Fp(++)e Fr(compiler)h(and)g(their)g(options)h(through)f(the)g(follo)m
1904 (wing)i(en)m(vironmen)m(t)-30 5027 y(v)-5 b(ariables)31
1905 b(when)e(running)g Fp(configure)p Fr(:)-30 5183 y Fp(CC)384
1906 b Fr(Sp)s(eci\014es)30 b(the)g(C)g(compiler.)-30 5340
1907 y Fp(CFLAGS)192 b Fr(Flags)32 b(to)f(b)s(e)f(giv)m(en)h(to)g(the)g(C)f
1908 (compiler)f(when)h(compiling)g(programs)f(\(not)i(when)e(linking\).)p
1909 eop
1910 %%Page: 4 6
1911 4 5 bop -30 -116 a Fr(Chapter)30 b(2:)41 b(Installation)2999
1912 b(4)-30 299 y Fp(CXX)336 b Fr(Sp)s(eci\014es)30 b(the)g(C)p
1913 Fp(++)g Fr(compiler.)-30 452 y Fp(CXXFLAGS)96 b Fr(Flags)32
1914 b(to)f(b)s(e)f(giv)m(en)h(to)g(the)g(C)p Fp(++)e Fr(compiler)h(when)f
1915 (compiling)h(programs)f(\(not)i(when)f(linking\).)-30
1916 604 y(Examples:)210 730 y Fp($)47 b(CC="gcc")f(CFLAGS="-O")f(CXX="g++")
1917 g(CXXFLAGS="-O")f(./configure)210 834 y($)j(CC="gcc)f(-V)h
1918 (egcs-2.91.60")e(CFLAGS="-O)g(-g")i(\\)305 937 y(CXX="g++)f(-V)h
1919 (egcs-2.91.60")d(CXXFLAGS="-O)h(-g")i(./configure)210
1920 1041 y($)g(CC="gcc)f(-V)h(2.95.2")f(CFLAGS="-O2)f(-fno-exceptions")e
1921 (\\)305 1145 y(CXX="g++)j(-V)h(2.95.2")f(CFLAGS="-O2)f
1922 (-fno-exceptions")e(./configure)-30 1276 y Fr(Note)32
1923 b(that)g(for)e(these)i(en)m(vironmen)m(t)e(v)-5 b(ariables)32
1924 b(to)f(tak)m(e)i(e\013ect,)g(y)m(ou)e(ha)m(v)m(e)h(to)f(set)h(them)e
1925 (\(assuming)g(a)h(Bourne-)-30 1386 y(compatible)i(shell\))g(on)g(the)g
1926 (same)f(line)h(as)g(the)g Fp(configure)d Fr(command.)46
1927 b(If)32 b(y)m(ou)h(made)f(the)h(settings)h(in)e(earlier)-30
1928 1495 y(shell)g(commands,)e(y)m(ou)i(ha)m(v)m(e)h(to)g
1929 Fp(export)d Fr(the)i(en)m(vironmen)m(t)f(v)-5 b(ariables)33
1930 b(b)s(efore)e(calling)i Fp(configure)p Fr(.)43 b(In)31
1931 b(a)h Fp(csh)-30 1605 y Fr(shell,)f(y)m(ou)g(ha)m(v)m(e)g(to)g(use)f
1932 (the)h(`)p Fp(setenv)p Fr(')e(command)f(for)i(setting)i(eac)m(h)f(of)g
1933 (the)f(en)m(vironmen)m(t)g(v)-5 b(ariables.)-30 1736
1934 y(Curren)m(tly)25 b(CLN)g(w)m(orks)h(only)g(with)f(the)h(GNU)g
1935 Fp(g++)f Fr(compiler,)i(and)e(only)g(in)h(optimizing)g(mo)s(de.)37
1936 b(So)26 b(y)m(ou)g(should)-30 1846 y(sp)s(ecify)33 b(at)i(least)g
1937 Fp(-O)e Fr(in)h(the)g(CXXFLA)m(GS,)g(or)g(no)g(CXXFLA)m(GS)g(at)h(all.)
1938 52 b(\(If)34 b(CXXFLA)m(GS)g(is)g(not)g(set,)h(CLN)-30
1939 1955 y(will)c(use)f Fp(-O)p Fr(.\))-30 2086 y(If)44 b(y)m(ou)h(use)f
1940 Fp(g++)g Fr(v)m(ersion)h(2.8.x)h(or)e(egcs-2.91.x)k(\(a.k.a.)85
1941 b(egcs-1.1\))47 b(or)e(gcc-2.95.x,)52 b(I)44 b(recommend)e(adding)-30
1942 2196 y(`)p Fp(-fno-exceptions)p Fr(')27 b(to)k(the)f(CXXFLA)m(GS.)i
1943 (This)d(will)i(lik)m(ely)h(generate)g(b)s(etter)e(co)s(de.)-30
1944 2327 y(If)37 b(y)m(ou)g(use)g Fp(g++)g Fr(v)m(ersion)g(egcs-2.91.x)k
1945 (\(egcs-1.1\))f(or)e(gcc-2.95.x)i(on)d(Sparc,)i(add)e(either)g(`)p
1946 Fp(-O)p Fr(',)i(`)p Fp(-O1)p Fr(')e(or)h(`)p Fp(-O2)-30
1947 2437 y(-fno-schedule-insns)p Fr(')26 b(to)32 b(the)f(CXXFLA)m(GS.)h
1948 (With)g(full)f(`)p Fp(-O2)p Fr(',)g Fp(g++)f Fr(miscompiles)g(the)i
1949 (division)f(routines.)-30 2546 y(Also,)41 b(if)e(y)m(ou)g(ha)m(v)m(e)g
1950 Fp(g++)f Fr(v)m(ersion)h(egcs-1.1.1)j(or)c(older)h(on)f(Sparc,)j(y)m
1951 (ou)d(m)m(ust)g(sp)s(ecify)g(`)p Fp(--disable-shared)p
1952 Fr(')-30 2656 y(b)s(ecause)30 b Fp(g++)g Fr(w)m(ould)g(miscompile)f
1953 (parts)h(of)h(the)f(library)-8 b(.)-30 2787 y(By)32 b(default,)g(b)s
1954 (oth)f(a)h(shared)e(and)h(a)h(static)h(library)e(are)h(built.)44
1955 b(Y)-8 b(ou)32 b(can)g(build)f(CLN)g(as)g(a)h(static)h(\(or)f(shared\))
1956 -30 2897 y(library)k(only)-8 b(,)38 b(b)m(y)f(calling)g
1957 Fp(configure)d Fr(with)i(the)h(option)f(`)p Fp(--disable-shared)p
1958 Fr(')d(\(or)j(`)p Fp(--disable-static)p Fr('\).)-30 3006
1959 y(While)f(shared)e(libraries)g(are)i(usually)e(more)g(con)m(v)m(enien)m
1960 (t)j(to)e(use,)h(they)f(ma)m(y)f(not)h(w)m(ork)g(on)g(all)g(arc)m
1961 (hitectures.)-30 3116 y(T)-8 b(ry)32 b(disabling)g(them)g(if)g(y)m(ou)h
1962 (run)d(in)m(to)k(link)m(er)e(problems.)45 b(Also,)34
1963 b(they)f(are)f(generally)i(somewhat)e(slo)m(w)m(er)h(than)-30
1964 3225 y(static)f(libraries)e(so)h(run)m(time-critical)h(applications)f
1965 (should)e(b)s(e)h(link)m(ed)h(statically)-8 b(.)-30 3440
1966 y Fn(2.2.1)63 b(Using)42 b(the)f(GNU)g(MP)h(Library)-30
1967 3629 y Fr(Starting)32 b(with)f(v)m(ersion)g(1.1,)i(CLN)e(ma)m(y)g(b)s
1968 (e)f(con\014gured)h(to)h(mak)m(e)f(use)g(of)g(a)h(preinstalled)f
1969 Fp(gmp)g Fr(library)-8 b(.)43 b(Please)-30 3738 y(mak)m(e)d(sure)f
1970 (that)h(y)m(ou)g(ha)m(v)m(e)h(at)f(least)h Fp(gmp)e Fr(v)m(ersion)h
1971 (3.0)h(installed)f(since)g(earlier)h(v)m(ersions)f(are)g(unsupp)s
1972 (orted)-30 3848 y(and)30 b(lik)m(ely)i(not)f(to)h(w)m(ork.)41
1973 b(Enabling)31 b(this)f(feature)h(b)m(y)g(calling)h Fp(configure)c
1974 Fr(with)j(the)f(option)i(`)p Fp(--with-gmp)p Fr(')c(is)-30
1975 3958 y(kno)m(wn)i(to)h(b)s(e)f(quite)h(a)f(b)s(o)s(ost)g(for)g(CLN's)g
1976 (p)s(erformance.)-30 4089 y(If)35 b(y)m(ou)g(ha)m(v)m(e)i(installed)f
1977 (the)f Fp(gmp)f Fr(library)h(and)f(its)i(header)f(\014le)g(in)g(some)g
1978 (place)h(where)e(y)m(our)i(compiler)e(cannot)-30 4198
1979 y(\014nd)27 b(it)j(b)m(y)f(default,)h(y)m(ou)f(m)m(ust)f(help)h
1980 Fp(configure)d Fr(b)m(y)j(setting)h Fp(CPPFLAGS)d Fr(and)h
1981 Fp(LDFLAGS)p Fr(.)38 b(Here)30 b(is)f(an)g(example:)210
1982 4324 y Fp($)47 b(CC="gcc")f(CFLAGS="-O2")e(CXX="g++")i(CXXFLAGS="-O2)e
1983 (-fno-exceptions")f(\\)305 4428 y(CPPFLAGS="-I/opt/gmp/inclu)o(de")e
1984 (LDFLAGS="-L/opt/gmp/lib")g(./configure)k(--with-gmp)-30
1985 4675 y Fs(2.3)68 b(Installing)47 b(the)e(library)-30
1986 4864 y Fr(As)30 b(with)g(an)m(y)h(auto)s(con\014guring)f(GNU)h(soft)m
1987 (w)m(are,)h(installation)h(is)d(as)h(easy)g(as)f(this:)210
1988 4990 y Fp($)47 b(make)g(install)-30 5121 y Fr(The)66
1989 b(`)p Fp(make)30 b(install)p Fr(')65 b(command)f(installs)k(the)f
1990 (library)f(and)h(the)g(include)f(\014les)h(in)m(to)h(public)e(places)
1991 -30 5230 y(\(`)p Fp(/usr/local/lib/)p Fr(')41 b(and)j(`)p
1992 Fp(/usr/local/include/)p Fr(',)f(if)i(y)m(ou)g(ha)m(v)m(en't)g(sp)s
1993 (eci\014ed)f(a)h Fp(--prefix)d Fr(option)j(to)-30 5340
1994 y Fp(configure)p Fr(\).)39 b(This)29 b(step)i(ma)m(y)f(require)g(sup)s
1995 (eruser)e(privileges.)p eop
1996 %%Page: 5 7
1997 5 6 bop -30 -116 a Fr(Chapter)30 b(2:)41 b(Installation)2999
1998 b(5)-30 299 y(If)42 b(y)m(ou)g(ha)m(v)m(e)i(already)f(built)f(the)g
1999 (library)g(and)g(wish)f(to)i(install)g(it,)j(but)c(didn't)f(sp)s(ecify)
2000 h Fp(--prefix=...)d Fr(at)-30 408 y(con\014gure)j(time,)k(just)c
2001 (re-run)f Fp(configure)p Fr(,)i(giving)h(it)f(the)g(same)f(options)g
2002 (as)h(the)g(\014rst)f(time,)j(plus)d(the)h Fp(--)-30
2003 518 y(prefix=...)28 b Fr(option.)-30 775 y Fs(2.4)68
2004 b(Cleaning)46 b(up)-30 968 y Fr(Y)-8 b(ou)31 b(can)g(remo)m(v)m(e)f
2005 (system-dep)s(enden)m(t)f(\014les)i(generated)g(b)m(y)f
2006 Fp(make)f Fr(through)210 1097 y Fp($)47 b(make)g(clean)-30
2007 1231 y Fr(Y)-8 b(ou)31 b(can)g(remo)m(v)m(e)f(all)i(\014les)e
2008 (generated)h(b)m(y)g Fp(make)p Fr(,)e(th)m(us)h(rev)m(erting)h(to)h(a)e
2009 (virgin)h(distribution)e(of)i(CLN,)f(through)210 1360
2010 y Fp($)47 b(make)g(distclean)p eop
2011 %%Page: 6 8
2012 6 7 bop -30 -116 a Fr(Chapter)30 b(3:)41 b(Ordinary)29
2013 b(n)m(um)m(b)s(er)f(t)m(yp)s(es)2517 b(6)-30 299 y Fo(3)80
2014 b(Ordinary)55 b(n)l(um)l(b)t(er)c(t)l(yp)t(es)-30 539
2015 y Fr(CLN)30 b(implemen)m(ts)f(the)h(follo)m(wing)i(class)f(hierarc)m(h)
2016 m(y:)1355 670 y Fp(Number)1260 773 y(cl_number)1165 877
2017 y(<cln/number.h>)1451 981 y(|)1451 1085 y(|)1021 1189
2018 y(Real)47 b(or)g(complex)f(number)1355 1292 y(cl_N)1165
2019 1396 y(<cln/complex.h>)1451 1500 y(|)1451 1604 y(|)1212
2020 1707 y(Real)h(number)1355 1811 y(cl_R)1212 1915 y(<cln/real.h>)1451
2021 2019 y(|)496 2123 y(+-------------------+-----)o(---)o(----)o(----)o
2022 (---)o(+)496 2226 y(|)1861 b(|)210 2330 y(Rational)46
2023 b(number)1000 b(Floating-point)44 b(number)401 2434 y(cl_RA)1669
2024 b(cl_F)210 2538 y(<cln/rational.h>)1189 b(<cln/float.h>)496
2025 2641 y(|)1861 b(|)496 2745 y(|)764 b(+--------------+-------)o(----)o
2026 (---+)o(---)o(----)o(----)o(---)o(+)353 2849 y(Integer)619
2027 b(|)668 b(|)g(|)f(|)401 2953 y(cl_I)476 b(Short-Float)188
2028 b(Single-Float)140 b(Double-Float)188 b(Long-Float)210
2029 3057 y(<cln/integer.h>)282 b(cl_SF)476 b(cl_FF)g(cl_DF)g(cl_LF)1021
2030 3160 y(<cln/sfloat.h>)44 b(<cln/ffloat.h>)g(<cln/dfloat.h>)g
2031 (<cln/lfloat.h>)-30 3297 y Fr(The)28 b(base)h(class)h
2032 Fp(cl_number)c Fr(is)j(an)g(abstract)g(base)g(class.)41
2033 b(It)29 b(is)g(not)g(useful)f(to)i(declare)f(a)h(v)-5
2034 b(ariable)29 b(of)g(this)g(t)m(yp)s(e)-30 3406 y(except)g(if)f(y)m(ou)g
2035 (w)m(an)m(t)h(to)g(completely)f(disable)g(compile-time)g(t)m(yp)s(e)h
2036 (c)m(hec)m(king)g(and)f(use)f(run-time)g(t)m(yp)s(e)h(c)m(hec)m(king)
2037 -30 3516 y(instead.)-30 3653 y(The)h(class)i Fp(cl_N)d
2038 Fr(comprises)h(real)h(and)f(complex)g(n)m(um)m(b)s(ers.)39
2039 b(There)29 b(is)g(no)h(sp)s(ecial)g(class)h(for)e(complex)g(n)m(um)m(b)
2040 s(ers)-30 3762 y(since)i(complex)f(n)m(um)m(b)s(ers)e(with)i(imaginary)
2041 g(part)g Fp(0)g Fr(are)h(automatically)h(con)m(v)m(erted)g(to)f(real)g
2042 (n)m(um)m(b)s(ers.)-30 3899 y(The)f(class)h Fp(cl_R)e
2043 Fr(comprises)h(real)h(n)m(um)m(b)s(ers)d(of)i(di\013eren)m(t)h(kinds.)
2044 40 b(It)30 b(is)h(an)f(abstract)h(class.)-30 4035 y(The)37
2045 b(class)g Fp(cl_RA)f Fr(comprises)g(exact)j(real)f(n)m(um)m(b)s(ers:)51
2046 b(rational)39 b(n)m(um)m(b)s(ers,)d(including)h(in)m(tegers.)62
2047 b(There)37 b(is)g(no)-30 4145 y(sp)s(ecial)31 b(class)f(for)g(non-in)m
2048 (tegral)i(rational)f(n)m(um)m(b)s(ers)d(since)i(rational)h(n)m(um)m(b)s
2049 (ers)d(with)i(denominator)f Fp(1)h Fr(are)g(auto-)-30
2050 4254 y(matically)h(con)m(v)m(erted)h(to)f(in)m(tegers.)-30
2051 4391 y(The)f(class)h Fp(cl_F)e Fr(implemen)m(ts)g(\015oating-p)s(oin)m
2052 (t)j(appro)m(ximations)e(to)h(real)g(n)m(um)m(b)s(ers.)38
2053 b(It)31 b(is)f(an)g(abstract)i(class.)-30 4653 y Fs(3.1)68
2054 b(Exact)46 b(n)l(um)l(b)t(ers)-30 4848 y Fr(Some)24 b(n)m(um)m(b)s(ers)
2055 f(are)j(represen)m(ted)g(as)f(exact)i(n)m(um)m(b)s(ers:)36
2056 b(there)26 b(is)f(no)h(loss)f(of)h(information)f(when)f(suc)m(h)h(a)h
2057 (n)m(um)m(b)s(er)-30 4957 y(is)43 b(con)m(v)m(erted)i(from)d(its)h
2058 (mathematical)h(v)-5 b(alue)44 b(to)g(its)f(in)m(ternal)h(represen)m
2059 (tation.)80 b(On)43 b(exact)i(n)m(um)m(b)s(ers,)f(the)-30
2060 5067 y(elemen)m(tary)31 b(op)s(erations)g(\()p Fp(+)p
2061 Fr(,)f Fp(-)p Fr(,)g Fp(*)p Fr(,)h Fp(/)p Fr(,)f(comparisons,)35
2062 b(.)23 b(.)f(.)11 b(\))31 b(compute)e(the)i(completely)g(correct)h
2063 (result.)-30 5203 y(In)e(CLN,)g(the)g(exact)i(n)m(um)m(b)s(ers)c(are:)
2064 45 5340 y Fq(\017)60 b Fr(rational)32 b(n)m(um)m(b)s(ers)c(\(including)
2065 i(in)m(tegers\),)p eop
2066 %%Page: 7 9
2067 7 8 bop -30 -116 a Fr(Chapter)30 b(3:)41 b(Ordinary)29
2068 b(n)m(um)m(b)s(er)f(t)m(yp)s(es)2517 b(7)45 299 y Fq(\017)60
2069 b Fr(complex)30 b(n)m(um)m(b)s(ers)e(whose)i(real)h(and)f(imaginary)g
2070 (parts)g(are)h(b)s(oth)e(rational)j(n)m(um)m(b)s(ers.)-30
2071 463 y(Rational)g(n)m(um)m(b)s(ers)27 b(are)k(alw)m(a)m(ys)h(normalized)
2072 e(to)g(the)h(form)e Fl(n)m(umerator)7 b Fp(/)p Fl(denominator)34
2073 b Fr(where)29 b(the)i(n)m(umerator)-30 573 y(and)c(denominator)h(are)g
2074 (coprime)f(in)m(tegers)j(and)d(the)h(denominator)g(is)g(p)s(ositiv)m
2075 (e.)41 b(If)27 b(the)i(resulting)f(denominator)-30 682
2076 y(is)i Fp(1)p Fr(,)h(the)f(rational)i(n)m(um)m(b)s(er)c(is)i(con)m(v)m
2077 (erted)i(to)f(an)g(in)m(teger.)-30 820 y(Small)g(in)m(tegers)i(\(t)m
2078 (ypically)h(in)d(the)h(range)g Fp(-2^30)6 b Fr(.)20 b(.)j(.)11
2079 b Fp(2^30-1)p Fr(,)30 b(for)i(32-bit)h(mac)m(hines\))e(are)h(esp)s
2080 (ecially)h(e\016cien)m(t,)-30 930 y(b)s(ecause)e(they)g(consume)f(no)h
2081 (heap)g(allo)s(cation.)45 b(Otherwise)31 b(the)g(distinction)h(b)s(et)m
2082 (w)m(een)g(these)g(immediate)e(in)m(te-)-30 1039 y(gers)h(\(called)h
2083 (\\\014xn)m(ums"\))d(and)g(heap)i(allo)s(cated)h(in)m(tegers)g
2084 (\(called)g(\\bign)m(ums"\))d(is)i(completely)g(transparen)m(t.)-30
2085 1305 y Fs(3.2)68 b(Floating-p)t(oin)l(t)46 b(n)l(um)l(b)t(ers)-30
2086 1501 y Fr(Not)41 b(all)f(real)h(n)m(um)m(b)s(ers)c(can)j(b)s(e)f
2087 (represen)m(ted)h(exactly)-8 b(.)71 b(\(There)40 b(is)g(an)g(easy)g
2088 (mathematical)g(pro)s(of)f(for)h(this:)-30 1611 y(Only)34
2089 b(a)i(coun)m(table)g(set)f(of)g(n)m(um)m(b)s(ers)e(can)i(b)s(e)f
2090 (stored)h(exactly)i(in)d(a)i(computer,)f(ev)m(en)g(if)g(one)g(assumes)f
2091 (that)h(it)-30 1720 y(has)f(unlimited)g(storage.)54 b(But)35
2092 b(there)g(are)g(uncoun)m(tably)f(man)m(y)g(real)h(n)m(um)m(b)s(ers.\))
2093 51 b(So)34 b(some)g(appro)m(ximation)h(is)-30 1830 y(needed.)40
2094 b(CLN)30 b(implemen)m(ts)f(ordinary)h(\015oating-p)s(oin)m(t)h(n)m(um)m
2095 (b)s(ers,)e(with)h(man)m(tissa)g(and)g(exp)s(onen)m(t.)-30
2096 1968 y(The)e(elemen)m(tary)i(op)s(erations)f(\()p Fp(+)p
2097 Fr(,)h Fp(-)p Fr(,)f Fp(*)p Fr(,)g Fp(/)p Fr(,)35 b(.)22
2098 b(.)h(.)11 b(\))29 b(only)g(return)f(appro)m(ximate)h(results.)40
2099 b(F)-8 b(or)30 b(example,)f(the)g(v)-5 b(alue)-30 2077
2100 y(of)36 b(the)g(expression)f Fp(\(cl_F\))29 b(0.3)g(+)i(\(cl_F\))d(0.4)
2101 35 b Fr(prin)m(ts)g(as)h(`)p Fp(0.70000005)p Fr(',)f(not)h(as)g(`)p
2102 Fp(0.7)p Fr('.)57 b(Rounding)34 b(errors)-30 2187 y(lik)m(e)e(this)e
2103 (one)h(are)f(inevitable)i(when)d(computing)h(with)g(\015oating-p)s(oin)
2104 m(t)i(n)m(um)m(b)s(ers.)-30 2325 y(Nev)m(ertheless,)46
2105 b(CLN)40 b(rounds)g(the)h(\015oating-p)s(oin)m(t)h(results)f(of)h(the)f
2106 (op)s(erations)g Fp(+)p Fr(,)j Fp(-)p Fr(,)g Fp(*)p Fr(,)f
2107 Fp(/)p Fr(,)h Fp(sqrt)c Fr(according)-30 2434 y(to)c(the)f
2108 (\\round-to-ev)m(en")h(rule:)50 b(It)35 b(\014rst)f(computes)g(the)h
2109 (exact)h(mathematical)f(result)g(and)g(then)f(returns)g(the)-30
2110 2544 y(\015oating-p)s(oin)m(t)26 b(n)m(um)m(b)s(er)c(whic)m(h)j(is)f
2111 (nearest)h(to)h(this.)38 b(If)25 b(t)m(w)m(o)h(\015oating-p)s(oin)m(t)g
2112 (n)m(um)m(b)s(ers)c(are)j(equally)g(distan)m(t)g(from)-30
2113 2653 y(the)31 b(ideal)g(result,)f(the)h(one)g(with)f(a)g
2114 Fp(0)g Fr(in)g(its)h(least)h(signi\014can)m(t)f(man)m(tissa)f(bit)h(is)
2115 f(c)m(hosen.)-30 2791 y(Similarly)-8 b(,)26 b(testing)h(\015oating)f(p)
2116 s(oin)m(t)f(n)m(um)m(b)s(ers)e(for)i(equalit)m(y)i(`)p
2117 Fp(x)j(==)g(y)p Fr(')25 b(is)g(gam)m(bling)h(with)f(random)e(errors.)38
2118 b(Better)-30 2901 y(c)m(hec)m(k)32 b(for)e(`)p Fp(abs\(x)f(-)h(y\))g(<)
2119 g(epsilon)p Fr(')f(for)h(some)g(w)m(ell-c)m(hosen)i Fp(epsilon)p
2120 Fr(.)-30 3039 y(Floating)g(p)s(oin)m(t)f(n)m(um)m(b)s(ers)d(come)i(in)g
2121 (four)g(\015a)m(v)m(ors:)45 3176 y Fq(\017)60 b Fr(Short)28
2122 b(\015oats,)i(t)m(yp)s(e)g Fp(cl_SF)p Fr(.)38 b(They)29
2123 b(ha)m(v)m(e)h(1)f(sign)g(bit,)h(8)f(exp)s(onen)m(t)g(bits)g
2124 (\(including)g(the)g(exp)s(onen)m(t's)g(sign\),)150 3286
2125 y(and)h(17)h(man)m(tissa)f(bits)h(\(including)f(the)g(\\hidden")g
2126 (bit\).)41 b(They)30 b(don't)h(consume)e(heap)h(allo)s(cation.)45
2127 3422 y Fq(\017)60 b Fr(Single)43 b(\015oats,)k(t)m(yp)s(e)c
2128 Fp(cl_FF)p Fr(.)78 b(They)42 b(ha)m(v)m(e)i(1)g(sign)f(bit,)j(8)e(exp)s
2129 (onen)m(t)f(bits)g(\(including)g(the)g(exp)s(onen)m(t's)150
2130 3532 y(sign\),)29 b(and)e(24)i(man)m(tissa)e(bits)h(\(including)g(the)g
2131 (\\hidden")f(bit\).)40 b(In)27 b(CLN,)h(they)g(are)g(represen)m(ted)g
2132 (as)g(IEEE)150 3641 y(single-precision)k(\015oating)f(p)s(oin)m(t)f(n)m
2133 (um)m(b)s(ers.)39 b(This)29 b(corresp)s(onds)g(closely)j(to)f(the)g
2134 (C/C)p Fp(++)e Fr(t)m(yp)s(e)i(`)p Fp(float)p Fr('.)45
2135 3777 y Fq(\017)60 b Fr(Double)38 b(\015oats,)i(t)m(yp)s(e)e
2136 Fp(cl_DF)p Fr(.)61 b(They)37 b(ha)m(v)m(e)i(1)f(sign)f(bit,)j(11)e(exp)
2137 s(onen)m(t)g(bits)g(\(including)f(the)h(exp)s(onen)m(t's)150
2138 3887 y(sign\),)29 b(and)e(53)i(man)m(tissa)e(bits)h(\(including)g(the)g
2139 (\\hidden")f(bit\).)40 b(In)27 b(CLN,)h(they)g(are)g(represen)m(ted)g
2140 (as)g(IEEE)150 3997 y(double-precision)i(\015oating)i(p)s(oin)m(t)e(n)m
2141 (um)m(b)s(ers.)38 b(This)30 b(corresp)s(onds)f(closely)j(to)f(the)g
2142 (C/C)p Fp(++)e Fr(t)m(yp)s(e)i(`)p Fp(double)p Fr('.)45
2143 4133 y Fq(\017)60 b Fr(Long)27 b(\015oats,)i(t)m(yp)s(e)e
2144 Fp(cl_LF)p Fr(.)38 b(They)27 b(ha)m(v)m(e)h(1)g(sign)f(bit,)h(32)g(exp)
2145 s(onen)m(t)f(bits)g(\(including)g(the)g(exp)s(onen)m(t's)g(sign\),)150
2146 4242 y(and)k(n)g(man)m(tissa)g(bits)h(\(including)f(the)h(\\hidden")f
2147 (bit\),)i(where)e(n)g Fp(>)p Fr(=)g(64.)45 b(The)31 b(precision)g(of)h
2148 (a)g(long)g(\015oat)150 4352 y(is)e(unlimited,)g(but)f(once)i(created,)
2149 h(a)f(long)g(\015oat)g(has)f(a)h(\014xed)f(precision.)40
2150 b(\(No)32 b(\\lazy)g(recomputation".\))-30 4516 y(Of)f(course,)i
2151 (computations)e(with)h(long)g(\015oats)h(are)f(more)f(exp)s(ensiv)m(e)h
2152 (than)f(those)i(with)e(smaller)h(\015oating-p)s(oin)m(t)-30
2153 4626 y(formats.)-30 4764 y(CLN)44 b(do)s(es)g(not)h(implemen)m(t)f
2154 (features)g(lik)m(e)i(NaNs,)j(denormalized)44 b(n)m(um)m(b)s(ers)f(and)
2155 h(gradual)g(under\015o)m(w.)82 b(If)-30 4873 y(the)36
2156 b(exp)s(onen)m(t)f(range)h(of)f(some)g(\015oating-p)s(oin)m(t)i(t)m(yp)
2157 s(e)e(is)h(to)s(o)g(limited)f(for)g(y)m(our)g(application,)j(c)m(ho)s
2158 (ose)f(another)-30 4983 y(\015oating-p)s(oin)m(t)32 b(t)m(yp)s(e)e
2159 (with)g(larger)h(exp)s(onen)m(t)g(range.)-30 5121 y(As)37
2160 b(a)g(user)e(of)i(CLN,)g(y)m(ou)g(can)g(forget)g(ab)s(out)f(the)h
2161 (di\013erences)g(b)s(et)m(w)m(een)g(the)g(four)f(\015oating-p)s(oin)m
2162 (t)i(t)m(yp)s(es)f(and)-30 5230 y(just)i(declare)h(all)g(y)m(our)g
2163 (\015oating-p)s(oin)m(t)g(v)-5 b(ariables)40 b(as)g(b)s(eing)f(of)g(t)m
2164 (yp)s(e)h Fp(cl_F)p Fr(.)66 b(This)39 b(has)g(the)g(adv)-5
2165 b(an)m(tage)41 b(that)-30 5340 y(when)30 b(y)m(ou)i(c)m(hange)h(the)f
2166 (precision)f(of)h(some)f(computation)g(\(sa)m(y)-8 b(,)34
2167 b(from)c Fp(cl_DF)g Fr(to)i Fp(cl_LF)p Fr(\),)f(y)m(ou)h(don't)f(ha)m
2168 (v)m(e)i(to)p eop
2169 %%Page: 8 10
2170 8 9 bop -30 -116 a Fr(Chapter)30 b(3:)41 b(Ordinary)29
2171 b(n)m(um)m(b)s(er)f(t)m(yp)s(es)2517 b(8)-30 299 y(c)m(hange)34
2172 b(the)g(co)s(de,)g(only)f(the)g(precision)h(of)f(the)g(initial)i(v)-5
2173 b(alues.)49 b(Also,)35 b(man)m(y)d(transcenden)m(tal)i(functions)f(ha)m
2174 (v)m(e)-30 408 y(b)s(een)f(declared)i(as)f(returning)f(a)h
2175 Fp(cl_F)f Fr(when)g(the)h(argumen)m(t)f(is)h(a)g Fp(cl_F)p
2176 Fr(,)g(but)f(suc)m(h)g(declarations)j(are)e(missing)-30
2177 518 y(for)f(the)h(t)m(yp)s(es)g Fp(cl_SF)p Fr(,)f Fp(cl_FF)p
2178 Fr(,)g Fp(cl_DF)p Fr(,)g Fp(cl_LF)p Fr(.)45 b(\(Suc)m(h)33
2179 b(declarations)h(w)m(ould)e(b)s(e)g(wrong)g(if)h(the)f(\015oating)i(p)s
2180 (oin)m(t)-30 628 y(con)m(tagion)f(rule)d(happ)s(ened)e(to)j(c)m(hange)h
2181 (in)e(the)h(future.\))-30 941 y Fs(3.3)68 b(Complex)46
2182 b(n)l(um)l(b)t(ers)-30 1156 y Fr(Complex)29 b(n)m(um)m(b)s(ers,)f(as)j
2183 (implemen)m(ted)e(b)m(y)h(the)g(class)h Fp(cl_N)p Fr(,)e(ha)m(v)m(e)j
2184 (a)f(real)f(part)h(and)e(an)h(imaginary)g(part,)h(b)s(oth)-30
2185 1266 y(real)42 b(n)m(um)m(b)s(ers.)70 b(A)41 b(complex)g(n)m(um)m(b)s
2186 (er)e(whose)i(imaginary)f(part)h(is)h(the)f(exact)h(n)m(um)m(b)s(er)d
2187 Fp(0)i Fr(is)g(automatically)-30 1375 y(con)m(v)m(erted)32
2188 b(to)f(a)g(real)g(n)m(um)m(b)s(er.)-30 1532 y(Complex)36
2189 b(n)m(um)m(b)s(ers)f(can)i(arise)h(from)d(real)j(n)m(um)m(b)s(ers)d
2190 (alone,)40 b(for)d(example)g(through)f(application)j(of)e
2191 Fp(sqrt)f Fr(or)-30 1642 y(transcenden)m(tal)31 b(functions.)-30
2192 1955 y Fs(3.4)68 b(Con)l(v)l(ersions)-30 2170 y Fr(Con)m(v)m(ersions)46
2193 b(from)e(an)m(y)h(class)i(to)f(an)m(y)f(its)h(sup)s(erclasses)f
2194 (\(\\base)h(classes")h(in)e(C)p Fp(++)g Fr(terminology\))h(is)f(done)
2195 -30 2280 y(automatically)-8 b(.)-30 2437 y(Con)m(v)m(ersions)28
2196 b(from)f(the)h(C)f(built-in)h(t)m(yp)s(es)g(`)p Fp(long)p
2197 Fr(')f(and)h(`)p Fp(unsigned)g(long)p Fr(')f(are)i(pro)m(vided)e(for)h
2198 (the)g(classes)h Fp(cl_I)p Fr(,)-30 2546 y Fp(cl_RA)p
2199 Fr(,)g Fp(cl_R)p Fr(,)h Fp(cl_N)f Fr(and)h Fp(cl_number)p
2200 Fr(.)-30 2703 y(Con)m(v)m(ersions)35 b(from)e(the)i(C)g(built-in)f(t)m
2201 (yp)s(es)h(`)p Fp(int)p Fr(')f(and)h(`)p Fp(unsigned)28
2202 b(int)p Fr(')34 b(are)h(pro)m(vided)g(for)f(the)h(classes)h
2203 Fp(cl_I)p Fr(,)-30 2813 y Fp(cl_RA)p Fr(,)30 b Fp(cl_R)p
2204 Fr(,)h Fp(cl_N)e Fr(and)i Fp(cl_number)p Fr(.)40 b(Ho)m(w)m(ev)m(er,)34
2205 b(these)e(con)m(v)m(ersions)g(emphasize)f(e\016ciency)-8
2206 b(.)44 b(Their)30 b(range)i(is)-30 2922 y(therefore)f(limited:)19
2207 3079 y Fq(\000)60 b Fr(The)30 b(con)m(v)m(ersion)i(from)c(`)p
2208 Fp(int)p Fr(')i(w)m(orks)h(only)f(if)h(the)f(argumen)m(t)g(is)g
2209 Fp(<)g Fr(2)p Fp(^)p Fr(29)i(and)e Fp(>)g Fr(-2)p Fp(^)p
2210 Fr(29.)19 3225 y Fq(\000)60 b Fr(The)30 b(con)m(v)m(ersion)i(from)c(`)p
2211 Fp(unsigned)h(int)p Fr(')h(w)m(orks)g(only)g(if)h(the)f(argumen)m(t)g
2212 (is)h Fp(<)f Fr(2)p Fp(^)p Fr(29.)-30 3418 y(In)j(a)h(declaration)i
2213 (lik)m(e)f(`)p Fp(cl_I)29 b(x)h(=)g(10;)p Fr(')j(the)h(C)p
2214 Fp(++)f Fr(compiler)g(is)h(able)h(to)f(do)g(the)g(con)m(v)m(ersion)h
2215 (of)f Fp(10)f Fr(from)f(`)p Fp(int)p Fr(')-30 3528 y(to)f(`)p
2216 Fp(cl_I)p Fr(')f(at)i(compile)e(time)g(already)-8 b(.)43
2217 b(On)30 b(the)g(other)h(hand,)f(co)s(de)h(lik)m(e)h(`)p
2218 Fp(cl_I)d(x)h(=)g(1000000000;)p Fr(')e(is)j(in)f(error.)-30
2219 3637 y(So,)f(if)f(y)m(ou)g(w)m(an)m(t)h(to)g(b)s(e)e(sure)g(that)i(an)f
2220 (`)p Fp(int)p Fr(')f(whose)h(magnitude)f(is)h(not)h(guaran)m(teed)g(to)
2221 f(b)s(e)g Fp(<)f Fr(2)p Fp(^)p Fr(29)i(is)g(correctly)-30
2222 3747 y(con)m(v)m(erted)45 b(to)f(a)g(`)p Fp(cl_I)p Fr(',)i(\014rst)c
2223 (con)m(v)m(ert)j(it)f(to)g(a)g(`)p Fp(long)p Fr('.)79
2224 b(Similarly)-8 b(,)47 b(if)c(a)h(large)g(`)p Fp(unsigned)28
2225 b(int)p Fr(')43 b(is)g(to)i(b)s(e)-30 3856 y(con)m(v)m(erted)32
2226 b(to)f(a)g(`)p Fp(cl_I)p Fr(',)f(\014rst)f(con)m(v)m(ert)j(it)f(to)g
2227 (an)g(`)p Fp(unsigned)d(long)p Fr('.)-30 4013 y(Con)m(v)m(ersions)34
2228 b(from)e(the)i(C)g(built-in)f(t)m(yp)s(e)h(`)p Fp(float)p
2229 Fr(')f(are)h(pro)m(vided)f(for)h(the)g(classes)g Fp(cl_FF)p
2230 Fr(,)g Fp(cl_F)p Fr(,)f Fp(cl_R)p Fr(,)h Fp(cl_N)-30
2231 4123 y Fr(and)c Fp(cl_number)p Fr(.)-30 4280 y(Con)m(v)m(ersions)h
2232 (from)e(the)i(C)f(built-in)h(t)m(yp)s(e)g(`)p Fp(double)p
2233 Fr(')e(are)i(pro)m(vided)g(for)f(the)h(classes)h Fp(cl_DF)p
2234 Fr(,)d Fp(cl_F)p Fr(,)h Fp(cl_R)p Fr(,)g Fp(cl_N)-30
2235 4389 y Fr(and)g Fp(cl_number)p Fr(.)-30 4546 y(Con)m(v)m(ersions)40
2236 b(from)e(`)p Fp(const)29 b(char)g(*)p Fr(')40 b(are)g(pro)m(vided)f
2237 (for)g(the)h(classes)g Fp(cl_I)p Fr(,)h Fp(cl_RA)p Fr(,)g
2238 Fp(cl_SF)p Fr(,)f Fp(cl_FF)p Fr(,)h Fp(cl_DF)p Fr(,)-30
2239 4656 y Fp(cl_LF)p Fr(,)26 b Fp(cl_F)p Fr(,)h Fp(cl_R)p
2240 Fr(,)g Fp(cl_N)p Fr(.)38 b(The)27 b(easiest)h(w)m(a)m(y)g(to)g(sp)s
2241 (ecify)e(a)i(v)-5 b(alue)27 b(whic)m(h)g(is)g(outside)g(of)g(the)g
2242 (range)h(of)f(the)g(C)p Fp(++)-30 4765 y Fr(built-in)j(t)m(yp)s(es)h
2243 (is)f(therefore)h(to)g(sp)s(ecify)f(it)h(as)g(a)f(string,)h(lik)m(e)h
2244 (this:)353 4917 y Fp(cl_I)47 b(order_of_rubiks_cube_gro)o(up)41
2245 b(=)48 b("43252003274489856000";)-30 5073 y Fr(Note)32
2246 b(that)f(this)f(con)m(v)m(ersion)i(is)e(done)g(at)h(run)m(time,)f(not)g
2247 (at)h(compile-time.)-30 5230 y(Con)m(v)m(ersions)37 b(from)e
2248 Fp(cl_I)h Fr(to)h(the)g(C)f(built-in)h(t)m(yp)s(es)f(`)p
2249 Fp(int)p Fr(',)i(`)p Fp(unsigned)29 b(int)p Fr(',)38
2250 b(`)p Fp(long)p Fr(',)f(`)p Fp(unsigned)29 b(long)p Fr(')36
2251 b(are)-30 5340 y(pro)m(vided)30 b(through)g(the)g(functions)p
2252 eop
2253 %%Page: 9 11
2254 9 10 bop -30 -116 a Fr(Chapter)30 b(3:)41 b(Ordinary)29
2255 b(n)m(um)m(b)s(er)f(t)m(yp)s(es)2517 b(9)-30 299 y Fp(int)29
2256 b(cl_I_to_int)f(\(const)g(cl_I&)h(x\))-30 408 y(unsigned)f(int)i
2257 (cl_I_to_uint)d(\(const)h(cl_I&)h(x\))-30 518 y(long)g(cl_I_to_long)e
2258 (\(const)i(cl_I&)g(x\))-30 628 y(unsigned)f(long)h(cl_I_to_ulong)e
2259 (\(const)i(cl_I&)g(x\))450 737 y Fr(Returns)d Fp(x)g
2260 Fr(as)h(elemen)m(t)h(of)f(the)g(C)f(t)m(yp)s(e)h Fl(ct)m(yp)s(e)p
2261 Fr(.)40 b(If)27 b Fp(x)f Fr(is)h(not)g(represen)m(table)g(in)g(the)g
2262 (range)g(of)g Fl(ct)m(yp)s(e)p Fr(,)450 847 y(a)k(run)m(time)e(error)h
2263 (o)s(ccurs.)-30 1006 y(Con)m(v)m(ersions)38 b(from)f(the)h(classes)h
2264 Fp(cl_I)p Fr(,)g Fp(cl_RA)p Fr(,)g Fp(cl_SF)p Fr(,)f
2265 Fp(cl_FF)p Fr(,)h Fp(cl_DF)p Fr(,)g Fp(cl_LF)p Fr(,)f
2266 Fp(cl_F)f Fr(and)h Fp(cl_R)e Fr(to)j(the)f(C)-30 1116
2267 y(built-in)30 b(t)m(yp)s(es)h(`)p Fp(float)p Fr(')e(and)h(`)p
2268 Fp(double)p Fr(')f(are)i(pro)m(vided)f(through)f(the)i(functions)-30
2269 1275 y Fp(float)e(float_approx)e(\(const)i Fl(t)m(yp)s(e)5
2270 b Fp(&)30 b(x\))-30 1385 y(double)f(double_approx)d(\(const)j
2271 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 1494 y Fr(Returns)f(an)h(appro)m
2272 (ximation)f(of)h Fp(x)g Fr(of)g(C)f(t)m(yp)s(e)h Fl(ct)m(yp)s(e)p
2273 Fr(.)41 b(If)29 b Fp(abs\(x\))f Fr(is)i(to)s(o)h(close)g(to)f(0)g
2274 (\(under\015o)m(w\),)450 1604 y(0)h(is)f(returned.)40
2275 b(If)30 b Fp(abs\(x\))e Fr(is)j(to)s(o)g(large)g(\(o)m(v)m(er\015o)m
2276 (w\),)i(an)d(IEEE)g(in\014nit)m(y)g(is)h(returned.)-30
2277 1763 y(Con)m(v)m(ersions)k(from)e(an)m(y)i(class)g(to)g(an)m(y)g(of)g
2278 (its)g(sub)s(classes)f(\(\\deriv)m(ed)h(classes")h(in)e(C)p
2279 Fp(++)g Fr(terminology\))h(are)g(not)-30 1873 y(pro)m(vided.)40
2280 b(Instead,)29 b(y)m(ou)f(can)h(assert)g(and)e(c)m(hec)m(k)j(that)f(a)g
2281 (v)-5 b(alue)29 b(b)s(elongs)f(to)h(a)g(certain)g(sub)s(class,)f(and)g
2282 (return)f(it)-30 1983 y(as)f(elemen)m(t)h(of)f(that)h(class,)h(using)d
2283 (the)h(`)p Fp(As)p Fr(')g(and)g(`)p Fp(The)p Fr(')f(macros.)39
2284 b Fp(As\()p Fl(t)m(yp)s(e)5 b Fp(\)\()p Fl(v)-5 b(alue)5
2285 b Fp(\))25 b Fr(c)m(hec)m(ks)j(that)e Fl(v)-5 b(alue)32
2286 b Fr(b)s(elongs)-30 2092 y(to)d Fl(t)m(yp)s(e)k Fr(and)28
2287 b(returns)f(it)i(as)f(suc)m(h.)40 b Fp(The\()p Fl(t)m(yp)s(e)5
2288 b Fp(\)\()p Fl(v)-5 b(alue)5 b Fp(\))27 b Fr(assumes)g(that)i
2289 Fl(v)-5 b(alue)33 b Fr(b)s(elongs)28 b(to)h Fl(t)m(yp)s(e)34
2290 b Fr(and)27 b(returns)g(it)-30 2202 y(as)k(suc)m(h.)40
2291 b(It)31 b(is)f(y)m(our)g(resp)s(onsibilit)m(y)h(to)g(ensure)e(that)i
2292 (this)g(assumption)d(is)j(v)-5 b(alid.)41 b(Example:)353
2293 2330 y Fp(cl_I)47 b(x)g(=)h(...)o(;)353 2434 y(if)f(\(!\(x)g(>=)g
2294 (0\)\))g(abort\(\);)353 2538 y(cl_I)g(ten_x)f(=)i
2295 (The\(cl_I\)\(expt\(10,x\)\);)41 b(//)48 b(If)f(x)g(>=)g(0,)h(10^x)e
2296 (is)h(an)h(integer.)974 2642 y(//)f(In)g(general,)f(it)h(would)f(be)h
2297 (a)h(rational)d(number.)p eop
2298 %%Page: 10 12
2299 10 11 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2300 b(on)f(n)m(um)m(b)s(ers)2523 b(10)-30 299 y Fo(4)80 b(F)-13
2301 b(unctions)53 b(on)g(n)l(um)l(b)t(ers)-30 600 y Fr(Eac)m(h)36
2302 b(of)g(the)g(n)m(um)m(b)s(er)d(classes)k(declares)f(its)g(mathematical)
2303 g(op)s(erations)g(in)f(the)h(corresp)s(onding)e(include)i(\014le.)-30
2304 709 y(F)-8 b(or)27 b(example,)g(if)f(y)m(our)g(co)s(de)h(op)s(erates)g
2305 (with)f(ob)5 b(jects)27 b(of)f(t)m(yp)s(e)g Fp(cl_I)p
2306 Fr(,)h(it)f(should)g Fp(#include)i(<cln/integer.h>)p
2307 Fr(.)-30 1022 y Fs(4.1)68 b(Constructing)45 b(n)l(um)l(b)t(ers)-30
2308 1237 y Fr(Here)31 b(is)f(ho)m(w)h(to)g(create)h(n)m(um)m(b)s(er)c(ob)5
2309 b(jects)31 b(\\from)e(nothing".)-30 1505 y Fn(4.1.1)63
2310 b(Constructing)41 b(in)m(tegers)-30 1720 y Fp(cl_I)28
2311 b Fr(ob)5 b(jects)30 b(are)f(most)g(easily)h(constructed)f(from)f(C)g
2312 (in)m(tegers)i(and)f(from)f(strings.)40 b(See)29 b(Section)h(3.4)g
2313 ([Con)m(v)m(er-)-30 1830 y(sions],)h(page)g(8.)-30 2098
2314 y Fn(4.1.2)63 b(Constructing)41 b(rational)g(n)m(um)m(b)s(ers)-30
2315 2313 y Fp(cl_RA)e Fr(ob)5 b(jects)41 b(can)g(b)s(e)f(constructed)h
2316 (from)e(strings.)71 b(The)40 b(syn)m(tax)h(for)f(rational)i(n)m(um)m(b)
2317 s(ers)c(is)j(describ)s(ed)e(in)-30 2423 y(Section)44
2318 b(5.1)g([In)m(ternal)g(and)f(prin)m(ted)g(represen)m(tation],)48
2319 b(page)c(28.)80 b(Another)44 b(standard)e(w)m(a)m(y)i(to)g(pro)s(duce)f
2320 (a)-30 2532 y(rational)32 b(n)m(um)m(b)s(er)c(is)i(through)g
2321 (application)h(of)g(`)p Fp(operator)d(/)p Fr(')j(or)f(`)p
2322 Fp(recip)p Fr(')f(on)i(in)m(tegers.)-30 2801 y Fn(4.1.3)63
2323 b(Constructing)41 b(\015oating-p)s(oin)m(t)h(n)m(um)m(b)s(ers)-30
2324 3016 y Fp(cl_F)h Fr(ob)5 b(jects)45 b(with)f(lo)m(w)h(precision)f(are)g
2325 (most)g(easily)h(constructed)g(from)d(C)i(`)p Fp(float)p
2326 Fr(')f(and)h(`)p Fp(double)p Fr('.)81 b(See)-30 3125
2327 y(Section)31 b(3.4)h([Con)m(v)m(ersions],)f(page)g(8.)-30
2328 3282 y(T)-8 b(o)34 b(construct)h(a)f Fp(cl_F)e Fr(with)i(high)g
2329 (precision,)h(y)m(ou)f(can)g(use)g(the)g(con)m(v)m(ersion)h(from)d(`)p
2330 Fp(const)d(char)h(*)p Fr(',)k(but)g(y)m(ou)-30 3392 y(ha)m(v)m(e)e(to)f
2331 (sp)s(ecify)f(the)h(desired)f(precision)h(within)f(the)h(string.)41
2332 b(\(See)32 b(Section)f(5.1)h([In)m(ternal)f(and)f(prin)m(ted)g(repre-)
2333 -30 3501 y(sen)m(tation],)i(page)g(28.\))41 b(Example:)353
2334 3652 y Fp(cl_F)47 b(e)g(=)h("0.27182818284590452353)o(6028)o(7471)o
2335 (352)o(6624)o(9775)o(724)o(7093)o(6999)o(6e+)o(1_40)o(";)-30
2336 3809 y Fr(will)31 b(set)g(`)p Fp(e)p Fr(')f(to)h(the)g(giv)m(en)g(v)-5
2337 b(alue,)31 b(with)f(a)h(precision)g(of)f(40)h(decimal)g(digits.)-30
2338 3966 y(The)e(programmatic)g(w)m(a)m(y)h(to)h(construct)f(a)g
2339 Fp(cl_F)e Fr(with)i(high)f(precision)h(is)f(through)g(the)h
2340 Fp(cl_float)e Fr(con)m(v)m(ersion)-30 4075 y(function,)c(see)e(Section)
2341 h(4.11.1)h([Con)m(v)m(ersion)f(to)f(\015oating-p)s(oin)m(t)i(n)m(um)m
2342 (b)s(ers],)d(page)i(25.)39 b(F)-8 b(or)22 b(example,)i(to)f(compute)-30
2343 4185 y Fp(e)43 b Fr(to)h(40)g(decimal)f(places,)k(\014rst)c(construct)g
2344 (1.0)h(to)g(40)g(decimal)f(places)h(and)f(then)g(apply)g(the)g(exp)s
2345 (onen)m(tial)-30 4294 y(function:)353 4445 y Fp(cl_float_format_t)g
2346 (precision)j(=)h(cl_float_format\(40\);)353 4549 y(cl_F)g(e)g(=)h
2347 (exp\(cl_float\(1,precisio)o(n\)\);)-30 4818 y Fn(4.1.4)63
2348 b(Constructing)41 b(complex)f(n)m(um)m(b)s(ers)-30 5032
2349 y Fr(Non-real)31 b Fp(cl_N)f Fr(ob)5 b(jects)31 b(are)g(normally)e
2350 (constructed)i(through)e(the)i(function)353 5183 y Fp(cl_N)47
2351 b(complex)f(\(const)g(cl_R&)g(realpart,)f(const)i(cl_R&)f(imagpart\))
2352 -30 5340 y Fr(See)31 b(Section)g(4.4)g([Elemen)m(tary)g(complex)f
2353 (functions],)g(page)h(12.)p eop
2354 %%Page: 11 13
2355 11 12 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2356 b(on)f(n)m(um)m(b)s(ers)2523 b(11)-30 299 y Fs(4.2)68
2357 b(Elemen)l(tary)47 b(functions)-30 491 y Fr(Eac)m(h)27
2358 b(of)f(the)h(classes)g Fp(cl_N)p Fr(,)f Fp(cl_R)p Fr(,)g
2359 Fp(cl_RA)p Fr(,)g Fp(cl_I)p Fr(,)g Fp(cl_F)p Fr(,)g Fp(cl_SF)p
2360 Fr(,)g Fp(cl_FF)p Fr(,)g Fp(cl_DF)p Fr(,)g Fp(cl_LF)f
2361 Fr(de\014nes)g(the)h(follo)m(wing)-30 601 y(op)s(erations:)-30
2362 760 y Fl(t)m(yp)s(e)36 b Fp(operator)28 b(+)i(\(const)e
2363 Fl(t)m(yp)s(e)5 b Fp(&,)31 b(const)d Fl(t)m(yp)s(e)5
2364 b Fp(&\))450 870 y Fr(Addition.)-30 1029 y Fl(t)m(yp)s(e)36
2365 b Fp(operator)28 b(-)i(\(const)e Fl(t)m(yp)s(e)5 b Fp(&,)31
2366 b(const)d Fl(t)m(yp)s(e)5 b Fp(&\))450 1139 y Fr(Subtraction.)-30
2367 1298 y Fl(t)m(yp)s(e)36 b Fp(operator)28 b(-)i(\(const)e
2368 Fl(t)m(yp)s(e)5 b Fp(&\))450 1407 y Fr(Returns)29 b(the)i(negativ)m(e)i
2369 (of)d(the)h(argumen)m(t.)-30 1567 y Fl(t)m(yp)s(e)36
2370 b Fp(plus1)29 b(\(const)f Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))450
2371 1676 y Fr(Returns)e Fp(x)h(+)h(1)p Fr(.)-30 1835 y Fl(t)m(yp)s(e)36
2372 b Fp(minus1)28 b(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30
2373 b(x\))450 1945 y Fr(Returns)f Fp(x)h(-)h(1)p Fr(.)-30
2374 2104 y Fl(t)m(yp)s(e)36 b Fp(operator)28 b(*)i(\(const)e
2375 Fl(t)m(yp)s(e)5 b Fp(&,)31 b(const)d Fl(t)m(yp)s(e)5
2376 b Fp(&\))450 2214 y Fr(Multiplication.)-30 2373 y Fl(t)m(yp)s(e)36
2377 b Fp(square)28 b(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30
2378 b(x\))450 2483 y Fr(Returns)f Fp(x)h(*)h(x)p Fr(.)-30
2379 2642 y(Eac)m(h)43 b(of)g(the)f(classes)i Fp(cl_N)p Fr(,)h
2380 Fp(cl_R)p Fr(,)f Fp(cl_RA)p Fr(,)h Fp(cl_F)p Fr(,)f Fp(cl_SF)p
2381 Fr(,)g Fp(cl_FF)p Fr(,)h Fp(cl_DF)p Fr(,)f Fp(cl_LF)d
2382 Fr(de\014nes)h(the)g(follo)m(wing)-30 2751 y(op)s(erations:)-30
2383 2911 y Fl(t)m(yp)s(e)36 b Fp(operator)28 b(/)i(\(const)e
2384 Fl(t)m(yp)s(e)5 b Fp(&,)31 b(const)d Fl(t)m(yp)s(e)5
2385 b Fp(&\))450 3020 y Fr(Division.)-30 3179 y Fl(t)m(yp)s(e)36
2386 b Fp(recip)29 b(\(const)f Fl(t)m(yp)s(e)5 b Fp(&\))450
2387 3289 y Fr(Returns)29 b(the)i(recipro)s(cal)g(of)g(the)f(argumen)m(t.)
2388 -30 3448 y(The)h(class)h Fp(cl_I)d Fr(do)s(esn't)i(de\014ne)g(a)g(`)p
2389 Fp(/)p Fr(')h(op)s(eration)f(b)s(ecause)g(in)g(the)g(C/C)p
2390 Fp(++)g Fr(language)h(this)f(op)s(erator,)h(applied)-30
2391 3558 y(to)j(in)m(tegral)h(t)m(yp)s(es,)g(denotes)f(the)g(`)p
2392 Fp(floor)p Fr(')e(or)h(`)p Fp(truncate)p Fr(')f(op)s(eration)i(\(whic)m
2393 (h)g(one)f(of)h(these,)h(is)f(implemen)m(ta-)-30 3667
2394 y(tion)g(dep)s(enden)m(t\).)51 b(\(See)35 b(Section)g(4.6)g([Rounding)f
2395 (functions],)h(page)g(13.\))53 b(Instead,)36 b Fp(cl_I)d
2396 Fr(de\014nes)g(an)h(\\exact)-30 3777 y(quotien)m(t")e(function:)-30
2397 3936 y Fp(cl_I)d(exquo)g(\(const)g(cl_I&)g(x,)h(const)e(cl_I&)h(y\))450
2398 4046 y Fr(Chec)m(ks)i(that)g Fp(y)f Fr(divides)g Fp(x)p
2399 Fr(,)g(and)g(returns)f(the)h(quotien)m(t)i Fp(x)p Fr(/)p
2400 Fp(y)p Fr(.)-30 4205 y(The)e(follo)m(wing)i(exp)s(onen)m(tiation)f
2401 (functions)f(are)h(de\014ned:)-30 4364 y Fp(cl_I)e(expt_pos)f(\(const)h
2402 (cl_I&)g(x,)h(const)f(cl_I&)g(y\))-30 4474 y(cl_RA)g(expt_pos)f
2403 (\(const)h(cl_RA&)f(x,)i(const)f(cl_I&)g(y\))450 4583
2404 y(y)h Fr(m)m(ust)f(b)s(e)h Fp(>)g Fr(0.)41 b(Returns)30
2405 b Fp(x^y)p Fr(.)-30 4742 y Fp(cl_RA)f(expt)g(\(const)g(cl_RA&)f(x,)i
2406 (const)f(cl_I&)g(y\))-30 4852 y(cl_R)g(expt)g(\(const)g(cl_R&)g(x,)h
2407 (const)f(cl_I&)g(y\))-30 4962 y(cl_N)g(expt)g(\(const)g(cl_N&)g(x,)h
2408 (const)f(cl_I&)g(y\))450 5071 y Fr(Returns)g Fp(x^y)p
2409 Fr(.)-30 5230 y(Eac)m(h)43 b(of)g(the)f(classes)i Fp(cl_R)p
2410 Fr(,)h Fp(cl_RA)p Fr(,)f Fp(cl_I)p Fr(,)h Fp(cl_F)p Fr(,)f
2411 Fp(cl_SF)p Fr(,)g Fp(cl_FF)p Fr(,)h Fp(cl_DF)p Fr(,)f
2412 Fp(cl_LF)d Fr(de\014nes)h(the)g(follo)m(wing)-30 5340
2413 y(op)s(eration:)p eop
2414 %%Page: 12 14
2415 12 13 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2416 b(on)f(n)m(um)m(b)s(ers)2523 b(12)-30 299 y Fl(t)m(yp)s(e)36
2417 b Fp(abs)29 b(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450
2418 408 y Fr(Returns)f(the)i(absolute)g(v)-5 b(alue)31 b(of)f
2419 Fp(x)p Fr(.)41 b(This)29 b(is)i Fp(x)f Fr(if)g Fp(x)g(>=)g(0)p
2420 Fr(,)g(and)g Fp(-x)g Fr(if)g Fp(x)g(<=)g(0)p Fr(.)-30
2421 588 y(The)g(class)h Fp(cl_N)e Fr(implemen)m(ts)g(this)h(as)h(follo)m
2422 (ws:)-30 767 y Fp(cl_R)e(abs)h(\(const)e(cl_N)i(x\))450
2423 877 y Fr(Returns)f(the)i(absolute)g(v)-5 b(alue)31 b(of)f
2424 Fp(x)p Fr(.)-30 1057 y(Eac)m(h)d(of)f(the)h(classes)g
2425 Fp(cl_N)p Fr(,)f Fp(cl_R)p Fr(,)g Fp(cl_RA)p Fr(,)g Fp(cl_I)p
2426 Fr(,)g Fp(cl_F)p Fr(,)g Fp(cl_SF)p Fr(,)g Fp(cl_FF)p
2427 Fr(,)g Fp(cl_DF)p Fr(,)g Fp(cl_LF)f Fr(de\014nes)g(the)h(follo)m(wing)
2428 -30 1166 y(op)s(eration:)-30 1346 y Fl(t)m(yp)s(e)36
2429 b Fp(signum)28 b(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30
2430 b(x\))450 1455 y Fr(Returns)f(the)h(sign)g(of)g Fp(x)p
2431 Fr(,)g(in)f(the)i(same)e(n)m(um)m(b)s(er)e(format)j(as)g
2432 Fp(x)p Fr(.)40 b(This)29 b(is)h(de\014ned)f(as)h Fp(x)g(/)g(abs\(x\))e
2433 Fr(if)450 1565 y Fp(x)i Fr(is)g(non-zero,)i(and)d Fp(x)h
2434 Fr(if)h Fp(x)f Fr(is)g(zero.)42 b(If)30 b Fp(x)g Fr(is)g(real,)h(the)g
2435 (v)-5 b(alue)31 b(is)f(either)h(0)g(or)f(1)h(or)f(-1.)-30
2436 1856 y Fs(4.3)68 b(Elemen)l(tary)47 b(rational)f(functions)-30
2437 2062 y Fr(Eac)m(h)31 b(of)g(the)f(classes)i Fp(cl_RA)p
2438 Fr(,)d Fp(cl_I)g Fr(de\014nes)g(the)i(follo)m(wing)h(op)s(erations:)-30
2439 2241 y Fp(cl_I)d(numerator)f(\(const)h Fl(t)m(yp)s(e)5
2440 b Fp(&)30 b(x\))450 2351 y Fr(Returns)f(the)i(n)m(umerator)e(of)i
2441 Fp(x)p Fr(.)-30 2524 y Fp(cl_I)e(denominator)f(\(const)g
2442 Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))450 2633 y Fr(Returns)e(the)i
2443 (denominator)f(of)g Fp(x)p Fr(.)-30 2813 y(The)g(n)m(umerator)g(and)g
2444 (denominator)g(of)h(a)g(rational)h(n)m(um)m(b)s(er)c(are)k(normalized)e
2445 (in)g(suc)m(h)h(a)g(w)m(a)m(y)g(that)h(they)f(ha)m(v)m(e)-30
2446 2922 y(no)f(factor)i(in)e(common)e(and)i(the)h(denominator)e(is)i(p)s
2447 (ositiv)m(e.)-30 3213 y Fs(4.4)68 b(Elemen)l(tary)47
2448 b(complex)e(functions)-30 3419 y Fr(The)30 b(class)h
2449 Fp(cl_N)e Fr(de\014nes)h(the)g(follo)m(wing)i(op)s(eration:)-30
2450 3599 y Fp(cl_N)d(complex)g(\(const)f(cl_R&)h(a,)h(const)f(cl_R&)g(b\))
2451 450 3708 y Fr(Returns)35 b(the)h(complex)g(n)m(um)m(b)s(er)e
2452 Fp(a+bi)p Fr(,)i(that)h(is,)g(the)f(complex)g(n)m(um)m(b)s(er)e(with)h
2453 (real)i(part)f Fp(a)g Fr(and)450 3818 y(imaginary)30
2454 b(part)g Fp(b)p Fr(.)-30 3997 y(Eac)m(h)h(of)g(the)f(classes)i
2455 Fp(cl_N)p Fr(,)d Fp(cl_R)g Fr(de\014nes)h(the)g(follo)m(wing)i(op)s
2456 (erations:)-30 4177 y Fp(cl_R)d(realpart)f(\(const)h
2457 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 4286 y Fr(Returns)f(the)i(real)g
2458 (part)f(of)h Fp(x)p Fr(.)-30 4459 y Fp(cl_R)e(imagpart)f(\(const)h
2459 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 4569 y Fr(Returns)f(the)i
2460 (imaginary)f(part)g(of)h Fp(x)p Fr(.)-30 4742 y Fl(t)m(yp)s(e)36
2461 b Fp(conjugate)27 b(\(const)i Fl(t)m(yp)s(e)5 b Fp(&)31
2462 b(x\))450 4851 y Fr(Returns)e(the)i(complex)f(conjugate)i(of)e
2463 Fp(x)p Fr(.)-30 5031 y(W)-8 b(e)32 b(ha)m(v)m(e)f(the)g(relations)150
2464 5179 y Fp(x)f(=)g(complex\(realpart\(x\),)25 b(imagpart\(x\)\))150
2465 5320 y(conjugate\(x\))i(=)j(complex\(realpart\(x\),)25
2466 b(-imagpart\(x\)\))p eop
2467 %%Page: 13 15
2468 13 14 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2469 b(on)f(n)m(um)m(b)s(ers)2523 b(13)-30 299 y Fs(4.5)68
2470 b(Comparisons)-30 489 y Fr(Eac)m(h)27 b(of)f(the)h(classes)g
2471 Fp(cl_N)p Fr(,)f Fp(cl_R)p Fr(,)g Fp(cl_RA)p Fr(,)g Fp(cl_I)p
2472 Fr(,)g Fp(cl_F)p Fr(,)g Fp(cl_SF)p Fr(,)g Fp(cl_FF)p
2473 Fr(,)g Fp(cl_DF)p Fr(,)g Fp(cl_LF)f Fr(de\014nes)g(the)h(follo)m(wing)
2474 -30 598 y(op)s(erations:)-30 752 y Fp(bool)j(operator)f(==)i(\(const)f
2475 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
2476 b Fp(&\))-30 862 y(bool)29 b(operator)f(!=)i(\(const)f
2477 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
2478 b Fp(&\))450 971 y Fr(Comparison,)29 b(as)i(in)f(C)g(and)f(C)p
2479 Fp(++)p Fr(.)-30 1125 y Fp(uint32)g(equal_hashcode)d(\(const)j
2480 Fl(t)m(yp)s(e)5 b Fp(&\))450 1235 y Fr(Returns)35 b(a)h(32-bit)h(hash)e
2481 (co)s(de)h(that)g(is)g(the)g(same)f(for)h(an)m(y)g(t)m(w)m(o)h(n)m(um)m
2482 (b)s(ers)c(whic)m(h)i(are)i(the)f(same)450 1345 y(according)24
2483 b(to)h Fp(==)p Fr(.)38 b(This)22 b(hash)h(co)s(de)h(dep)s(ends)e(on)h
2484 (the)h(n)m(um)m(b)s(er's)d(v)-5 b(alue,)26 b(not)d(its)h(t)m(yp)s(e)g
2485 (or)g(precision.)-30 1499 y Fp(cl_boolean)k(zerop)h(\(const)f
2486 Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))450 1608 y Fr(Compare)e(against)j
2487 (zero:)41 b Fp(x)30 b(==)g(0)-30 1762 y Fr(Eac)m(h)43
2488 b(of)g(the)f(classes)i Fp(cl_R)p Fr(,)h Fp(cl_RA)p Fr(,)f
2489 Fp(cl_I)p Fr(,)h Fp(cl_F)p Fr(,)f Fp(cl_SF)p Fr(,)g Fp(cl_FF)p
2490 Fr(,)h Fp(cl_DF)p Fr(,)f Fp(cl_LF)d Fr(de\014nes)h(the)g(follo)m(wing)
2491 -30 1872 y(op)s(erations:)-30 2026 y Fp(cl_signean)28
2492 b(compare)g(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2493 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))450 2135 y Fr(Compares)f
2494 Fp(x)h Fr(and)g Fp(y)p Fr(.)40 b(Returns)30 b Fp(+)p
2495 Fr(1)g(if)g Fp(x>y)p Fr(,)g(-1)h(if)g Fp(x<y)p Fr(,)e(0)i(if)f
2496 Fp(x)p Fr(=)p Fp(y)p Fr(.)-30 2289 y Fp(bool)f(operator)f(<=)i(\(const)
2497 f Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
2498 b Fp(&\))-30 2399 y(bool)29 b(operator)f(<)i(\(const)f
2499 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
2500 b Fp(&\))-30 2508 y(bool)29 b(operator)f(>=)i(\(const)f
2501 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
2502 b Fp(&\))-30 2618 y(bool)29 b(operator)f(>)i(\(const)f
2503 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
2504 b Fp(&\))450 2727 y Fr(Comparison,)29 b(as)i(in)f(C)g(and)f(C)p
2505 Fp(++)p Fr(.)-30 2881 y Fp(cl_boolean)f(minusp)g(\(const)h
2506 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 2991 y Fr(Compare)f(against)j
2507 (zero:)41 b Fp(x)30 b(<)g(0)-30 3145 y(cl_boolean)e(plusp)h(\(const)f
2508 Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))450 3255 y Fr(Compare)e(against)j
2509 (zero:)41 b Fp(x)30 b(>)g(0)-30 3408 y Fl(t)m(yp)s(e)36
2510 b Fp(max)29 b(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2511 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))450 3518 y Fr(Return)g(the)g(maxim)m
2512 (um)d(of)k Fp(x)f Fr(and)g Fp(y)p Fr(.)-30 3672 y Fl(t)m(yp)s(e)36
2513 b Fp(min)29 b(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2514 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))450 3782 y Fr(Return)g(the)g(minim)m
2515 (um)d(of)j Fp(x)g Fr(and)g Fp(y)p Fr(.)-30 3936 y(When)35
2516 b(a)g(\015oating)h(p)s(oin)m(t)f(n)m(um)m(b)s(er)d(and)i(a)i(rational)g
2517 (n)m(um)m(b)s(er)c(are)k(compared,)f(the)g(\015oat)h(is)f(\014rst)f
2518 (con)m(v)m(erted)i(to)-30 4045 y(a)f(rational)h(n)m(um)m(b)s(er)c
2519 (using)i(the)h(function)f Fp(rational)p Fr(.)51 b(Since)35
2520 b(a)g(\015oating)g(p)s(oin)m(t)g(n)m(um)m(b)s(er)d(actually)k(represen)
2521 m(ts)-30 4155 y(an)h(in)m(terv)-5 b(al)39 b(of)e(real)h(n)m(um)m(b)s
2522 (ers,)f(the)h(result)f(migh)m(t)g(b)s(e)g(surprising.)60
2523 b(F)-8 b(or)38 b(example,)h Fp(\(cl_F\)\(cl_R\)"1/3")26
2524 b(==)-30 4264 y(\(cl_R\)"1/3")h Fr(returns)i(false)i(b)s(ecause)g
2525 (there)f(is)h(no)f(\015oating)h(p)s(oin)m(t)g(n)m(um)m(b)s(er)d(whose)i
2526 (v)-5 b(alue)31 b(is)f(exactly)i Fp(1/3)p Fr(.)-30 4513
2527 y Fs(4.6)68 b(Rounding)45 b(functions)-30 4703 y Fr(When)40
2528 b(a)g(real)h(n)m(um)m(b)s(er)d(is)i(to)h(b)s(e)f(con)m(v)m(erted)h(to)g
2529 (an)f(in)m(teger,)45 b(there)40 b(is)g(no)g(\\b)s(est")h(rounding.)69
2530 b(The)39 b(desired)-30 4813 y(rounding)27 b(function)g(dep)s(ends)f(on)
2531 i(the)g(application.)41 b(The)28 b(Common)d(Lisp)i(and)g(ISO)g(Lisp)g
2532 (standards)g(o\013er)i(four)-30 4923 y(rounding)g(functions:)-30
2533 5076 y Fp(floor\(x\))96 b Fr(This)30 b(is)g(the)h(largest)g(in)m(teger)
2534 h Fp(<)p Fr(=)p Fp(x)p Fr(.)-30 5230 y Fp(ceiling\(x\))450
2535 5340 y Fr(This)e(is)g(the)h(smallest)f(in)m(teger)i Fp(>)p
2536 Fr(=)p Fp(x)p Fr(.)p eop
2537 %%Page: 14 16
2538 14 15 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2539 b(on)f(n)m(um)m(b)s(ers)2523 b(14)-30 299 y Fp(truncate\(x\))450
2540 408 y Fr(Among)30 b(the)g(in)m(tegers)i(b)s(et)m(w)m(een)f(0)g(and)e
2541 Fp(x)h Fr(\(inclusiv)m(e\))i(the)f(one)g(nearest)f(to)i
2542 Fp(x)p Fr(.)-30 566 y Fp(round\(x\))96 b Fr(The)32 b(in)m(teger)i
2543 (nearest)g(to)f Fp(x)p Fr(.)48 b(If)32 b Fp(x)g Fr(is)h(exactly)i
2544 (halfw)m(a)m(y)e(b)s(et)m(w)m(een)h(t)m(w)m(o)g(in)m(tegers,)h(c)m(ho)s
2545 (ose)e(the)g(ev)m(en)450 676 y(one.)-30 833 y(These)d(functions)g(ha)m
2546 (v)m(e)i(di\013eren)m(t)e(adv)-5 b(an)m(tages:)-30 967
2547 y Fp(floor)44 b Fr(and)i Fp(ceiling)e Fr(are)i(translation)h(in)m(v)-5
2548 b(arian)m(t:)73 b Fp(floor\(x+n\))27 b(=)j(floor\(x\))e(+)i(n)46
2549 b Fr(and)f Fp(ceiling\(x+n\))27 b(=)-30 1076 y(ceiling\(x\))h(+)i(n)g
2550 Fr(for)g(ev)m(ery)h Fp(x)f Fr(and)g(ev)m(ery)h(in)m(teger)h
2551 Fp(n)p Fr(.)-30 1210 y(On)51 b(the)h(other)h(hand,)j
2552 Fp(truncate)50 b Fr(and)h Fp(round)g Fr(are)h(symmetric:)83
2553 b Fp(truncate\(-x\))27 b(=)j(-truncate\(x\))49 b Fr(and)-30
2554 1319 y Fp(round\(-x\))28 b(=)i(-round\(x\))p Fr(,)44
2555 b(and)f(furthermore)e Fp(round)g Fr(is)j(un)m(biased:)65
2556 b(on)44 b(the)f(\\a)m(v)m(erage",)50 b(it)44 b(rounds)d(do)m(wn)-30
2557 1429 y(exactly)32 b(as)f(often)g(as)f(it)h(rounds)e(up.)-30
2558 1563 y(The)h(functions)g(are)h(related)g(lik)m(e)h(this:)150
2559 1696 y Fp(ceiling\(m/n\))27 b(=)j(floor\(\(m+n-1\)/n\))c(=)k
2560 (floor\(\(m-1\)/n\)+1)f Fr(for)j(rational)j(n)m(um)m(b)s(ers)30
2561 b Fp(m/n)i Fr(\()p Fp(m)p Fr(,)i Fp(n)f Fr(in)m(te-)150
2562 1806 y(gers,)e Fp(n>)p Fr(0\),)g(and)150 1939 y Fp(truncate\(x\))c(=)j
2563 (sign\(x\))f(*)h(floor\(abs\(x\)\))-30 2097 y Fr(Eac)m(h)f(of)f(the)g
2564 (classes)h Fp(cl_R)p Fr(,)e Fp(cl_RA)p Fr(,)h Fp(cl_F)p
2565 Fr(,)f Fp(cl_SF)p Fr(,)h Fp(cl_FF)p Fr(,)f Fp(cl_DF)p
2566 Fr(,)g Fp(cl_LF)g Fr(de\014nes)g(the)h(follo)m(wing)h(op)s(erations:)
2567 -30 2254 y Fp(cl_I)g(floor1)g(\(const)g Fl(t)m(yp)s(e)5
2568 b Fp(&)30 b(x\))450 2364 y Fr(Returns)f Fp(floor\(x\))p
2569 Fr(.)-30 2521 y Fp(cl_I)g(ceiling1)f(\(const)h Fl(t)m(yp)s(e)5
2570 b Fp(&)30 b(x\))450 2631 y Fr(Returns)f Fp(ceiling\(x\))p
2571 Fr(.)-30 2789 y Fp(cl_I)g(truncate1)f(\(const)h Fl(t)m(yp)s(e)5
2572 b Fp(&)30 b(x\))450 2898 y Fr(Returns)f Fp(truncate\(x\))p
2573 Fr(.)-30 3056 y Fp(cl_I)g(round1)g(\(const)g Fl(t)m(yp)s(e)5
2574 b Fp(&)30 b(x\))450 3165 y Fr(Returns)f Fp(round\(x\))p
2575 Fr(.)-30 3323 y(Eac)m(h)43 b(of)g(the)f(classes)i Fp(cl_R)p
2576 Fr(,)h Fp(cl_RA)p Fr(,)f Fp(cl_I)p Fr(,)h Fp(cl_F)p Fr(,)f
2577 Fp(cl_SF)p Fr(,)g Fp(cl_FF)p Fr(,)h Fp(cl_DF)p Fr(,)f
2578 Fp(cl_LF)d Fr(de\014nes)h(the)g(follo)m(wing)-30 3432
2579 y(op)s(erations:)-30 3590 y Fp(cl_I)29 b(floor1)g(\(const)g
2580 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5
2581 b Fp(&)30 b(y\))450 3700 y Fr(Returns)f Fp(floor\(x/y\))p
2582 Fr(.)-30 3857 y Fp(cl_I)g(ceiling1)f(\(const)h Fl(t)m(yp)s(e)5
2583 b Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))450
2584 3967 y Fr(Returns)f Fp(ceiling\(x/y\))p Fr(.)-30 4124
2585 y Fp(cl_I)g(truncate1)f(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30
2586 b(x,)g(const)f Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))450 4234
2587 y Fr(Returns)f Fp(truncate\(x/y\))p Fr(.)-30 4391 y Fp(cl_I)g(round1)g
2588 (\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5
2589 b Fp(&)30 b(y\))450 4501 y Fr(Returns)f Fp(round\(x/y\))p
2590 Fr(.)-30 4658 y(These)41 b(functions)g(are)h(called)h(`)p
2591 Fp(floor1)p Fr(',)48 b(.)23 b(.)f(.)52 b(here)42 b(instead)f(of)h(`)p
2592 Fp(floor)p Fr(',)49 b(.)22 b(.)h(.)11 b(,)44 b(b)s(ecause)e(on)f(some)g
2593 (systems,)-30 4768 y(system)30 b(dep)s(enden)m(t)f(include)h(\014les)g
2594 (de\014ne)g(`)p Fp(floor)p Fr(')f(and)h(`)p Fp(ceiling)p
2595 Fr(')f(as)i(macros.)-30 4902 y(In)h(man)m(y)g(cases,)j(one)e(needs)g(b)
2596 s(oth)f(the)h(quotien)m(t)i(and)d(the)h(remainder)e(of)j(a)f(division.)
2597 49 b(It)33 b(is)g(more)f(e\016cien)m(t)i(to)-30 5011
2598 y(compute)h(b)s(oth)h(at)h(the)f(same)g(time)f(than)h(to)h(p)s(erform)d
2599 (t)m(w)m(o)j(divisions,)h(one)e(for)g(quotien)m(t)i(and)d(the)h(next)h
2600 (one)-30 5121 y(for)28 b(the)g(remainder.)38 b(The)27
2601 b(follo)m(wing)j(functions)d(therefore)i(return)d(a)j(structure)e(con)m
2602 (taining)i(b)s(oth)f(the)g(quotien)m(t)-30 5230 y(and)g(the)g
2603 (remainder.)38 b(The)28 b(su\016x)f(`)p Fp(2)p Fr(')h(indicates)h(the)g
2604 (n)m(um)m(b)s(er)c(of)k(\\return)e(v)-5 b(alues".)41
2605 b(The)27 b(remainder)g(is)h(de\014ned)-30 5340 y(as)j(follo)m(ws:)p
2606 eop
2607 %%Page: 15 17
2608 15 16 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2609 b(on)f(n)m(um)m(b)s(ers)2523 b(15)45 299 y Fq(\017)60
2610 b Fr(for)30 b(the)h(computation)f(of)h Fp(quotient)d(=)i(floor\(x\))p
2611 Fr(,)e Fp(remainder)g(=)i(x)g(-)g(quotient)p Fr(,)45
2612 441 y Fq(\017)60 b Fr(for)30 b(the)h(computation)f(of)h
2613 Fp(quotient)d(=)i(floor\(x,y\))p Fr(,)e Fp(remainder)f(=)j(x)g(-)g
2614 (quotient*y)p Fr(,)-30 624 y(and)g(similarly)g(for)g(the)g(other)h
2615 (three)g(op)s(erations.)-30 774 y(Eac)m(h)e(of)f(the)g(classes)h
2616 Fp(cl_R)p Fr(,)e Fp(cl_RA)p Fr(,)h Fp(cl_F)p Fr(,)f Fp(cl_SF)p
2617 Fr(,)h Fp(cl_FF)p Fr(,)f Fp(cl_DF)p Fr(,)g Fp(cl_LF)g
2618 Fr(de\014nes)g(the)h(follo)m(wing)h(op)s(erations:)-30
2619 957 y Fp(struct)g Fl(t)m(yp)s(e)5 b Fp(_div_t)29 b({)h(cl_I)f
2620 (quotient;)f Fl(t)m(yp)s(e)35 b Fp(remainder;)28 b(};)-30
2621 1066 y Fl(t)m(yp)s(e)5 b Fp(_div_t)29 b(floor2)g(\(const)f
2622 Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))-30 1176 y Fl(t)m(yp)s(e)5
2623 b Fp(_div_t)29 b(ceiling2)f(\(const)h Fl(t)m(yp)s(e)5
2624 b Fp(&)30 b(x\))-30 1286 y Fl(t)m(yp)s(e)5 b Fp(_div_t)29
2625 b(truncate2)f(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))-30
2626 1395 y Fl(t)m(yp)s(e)5 b Fp(_div_t)29 b(round2)g(\(const)f
2627 Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))-30 1545 y Fr(Eac)m(h)43
2628 b(of)g(the)f(classes)i Fp(cl_R)p Fr(,)h Fp(cl_RA)p Fr(,)f
2629 Fp(cl_I)p Fr(,)h Fp(cl_F)p Fr(,)f Fp(cl_SF)p Fr(,)g Fp(cl_FF)p
2630 Fr(,)h Fp(cl_DF)p Fr(,)f Fp(cl_LF)d Fr(de\014nes)h(the)g(follo)m(wing)
2631 -30 1655 y(op)s(erations:)-30 1838 y Fp(struct)29 b Fl(t)m(yp)s(e)5
2632 b Fp(_div_t)29 b({)h(cl_I)f(quotient;)f Fl(t)m(yp)s(e)35
2633 b Fp(remainder;)28 b(};)-30 1947 y Fl(t)m(yp)s(e)5 b
2634 Fp(_div_t)29 b(floor2)g(\(const)f Fl(t)m(yp)s(e)5 b Fp(&)31
2635 b(x,)e(const)g Fl(t)m(yp)s(e)5 b Fp(&)31 b(y\))-30 2057
2636 y Fl(t)m(yp)s(e)5 b Fp(_div_t)29 b(ceiling2)f(\(const)h
2637 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5
2638 b Fp(&)30 b(y\))-30 2166 y Fl(t)m(yp)s(e)5 b Fp(_div_t)29
2639 b(truncate2)f(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2640 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30 2276 y Fl(t)m(yp)s(e)5
2641 b Fp(_div_t)29 b(round2)g(\(const)f Fl(t)m(yp)s(e)5 b
2642 Fp(&)31 b(x,)e(const)g Fl(t)m(yp)s(e)5 b Fp(&)31 b(y\))-30
2643 2426 y Fr(Sometimes,)d(one)g(w)m(an)m(ts)h(the)f(quotien)m(t)h(as)g(a)f
2644 (\015oating-p)s(oin)m(t)i(n)m(um)m(b)s(er)c(\(of)i(the)h(same)e(format)
2645 h(as)g(the)g(argumen)m(t,)-30 2536 y(if)i(the)h(argumen)m(t)f(is)g(a)h
2646 (\015oat\))g(instead)g(of)f(as)h(an)f(in)m(teger.)42
2647 b(The)30 b(pre\014x)g(`)p Fp(f)p Fr(')g(indicates)h(this.)-30
2648 2686 y(Eac)m(h)g(of)g(the)f(classes)i Fp(cl_F)p Fr(,)d
2649 Fp(cl_SF)p Fr(,)g Fp(cl_FF)p Fr(,)g Fp(cl_DF)p Fr(,)h
2650 Fp(cl_LF)e Fr(de\014nes)i(the)h(follo)m(wing)g(op)s(erations:)-30
2651 2868 y Fl(t)m(yp)s(e)36 b Fp(ffloor)28 b(\(const)h Fl(t)m(yp)s(e)5
2652 b Fp(&)30 b(x\))-30 2978 y Fl(t)m(yp)s(e)36 b Fp(fceiling)28
2653 b(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))-30 3088
2654 y Fl(t)m(yp)s(e)36 b Fp(ftruncate)27 b(\(const)i Fl(t)m(yp)s(e)5
2655 b Fp(&)31 b(x\))-30 3197 y Fl(t)m(yp)s(e)36 b Fp(fround)28
2656 b(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))-30 3347
2657 y Fr(and)g(similarly)g(for)g(class)h Fp(cl_R)p Fr(,)e(but)h(with)g
2658 (return)f(t)m(yp)s(e)i Fp(cl_F)p Fr(.)-30 3497 y(The)f(class)h
2659 Fp(cl_R)e Fr(de\014nes)h(the)g(follo)m(wing)i(op)s(erations:)-30
2660 3680 y Fp(cl_F)d(ffloor)g(\(const)g Fl(t)m(yp)s(e)5 b
2661 Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30
2662 3790 y(cl_F)f(fceiling)f(\(const)h Fl(t)m(yp)s(e)5 b
2663 Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30
2664 3899 y(cl_F)f(ftruncate)f(\(const)h Fl(t)m(yp)s(e)5 b
2665 Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30
2666 4009 y(cl_F)f(fround)g(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30
2667 b(x,)g(const)f Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30 4159
2668 y Fr(These)g(functions)f(also)i(exist)g(in)e(v)m(ersions)h(whic)m(h)g
2669 (return)f(b)s(oth)g(the)h(quotien)m(t)h(and)e(the)i(remainder.)39
2670 b(The)29 b(su\016x)-30 4269 y(`)p Fp(2)p Fr(')i(indicates)g(this.)-30
2671 4419 y(Eac)m(h)g(of)g(the)f(classes)i Fp(cl_F)p Fr(,)d
2672 Fp(cl_SF)p Fr(,)g Fp(cl_FF)p Fr(,)g Fp(cl_DF)p Fr(,)h
2673 Fp(cl_LF)e Fr(de\014nes)i(the)h(follo)m(wing)g(op)s(erations:)-30
2674 4601 y Fp(struct)e Fl(t)m(yp)s(e)5 b Fp(_fdiv_t)28 b({)i
2675 Fl(t)m(yp)s(e)36 b Fp(quotient;)28 b Fl(t)m(yp)s(e)36
2676 b Fp(remainder;)27 b(};)-30 4711 y Fl(t)m(yp)s(e)5 b
2677 Fp(_fdiv_t)29 b(ffloor2)f(\(const)h Fl(t)m(yp)s(e)5 b
2678 Fp(&)30 b(x\))-30 4821 y Fl(t)m(yp)s(e)5 b Fp(_fdiv_t)29
2679 b(fceiling2)f(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))-30
2680 4930 y Fl(t)m(yp)s(e)5 b Fp(_fdiv_t)29 b(ftruncate2)e(\(const)i
2681 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))-30 5040 y Fl(t)m(yp)s(e)5
2682 b Fp(_fdiv_t)29 b(fround2)f(\(const)h Fl(t)m(yp)s(e)5
2683 b Fp(&)30 b(x\))-30 5190 y Fr(and)g(similarly)g(for)g(class)h
2684 Fp(cl_R)p Fr(,)e(but)h(with)g(quotien)m(t)i(t)m(yp)s(e)e
2685 Fp(cl_F)p Fr(.)-30 5340 y(The)g(class)h Fp(cl_R)e Fr(de\014nes)h(the)g
2686 (follo)m(wing)i(op)s(erations:)p eop
2687 %%Page: 16 18
2688 16 17 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2689 b(on)f(n)m(um)m(b)s(ers)2523 b(16)-30 299 y Fp(struct)29
2690 b Fl(t)m(yp)s(e)5 b Fp(_fdiv_t)28 b({)i(cl_F)g(quotient;)d(cl_R)j
2691 (remainder;)d(};)-30 408 y Fl(t)m(yp)s(e)5 b Fp(_fdiv_t)29
2692 b(ffloor2)f(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2693 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30 518 y Fl(t)m(yp)s(e)5
2694 b Fp(_fdiv_t)29 b(fceiling2)f(\(const)g Fl(t)m(yp)s(e)5
2695 b Fp(&)31 b(x,)e(const)g Fl(t)m(yp)s(e)5 b Fp(&)31 b(y\))-30
2696 628 y Fl(t)m(yp)s(e)5 b Fp(_fdiv_t)29 b(ftruncate2)e(\(const)i
2697 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f Fl(t)m(yp)s(e)5
2698 b Fp(&)30 b(y\))-30 737 y Fl(t)m(yp)s(e)5 b Fp(_fdiv_t)29
2699 b(fround2)f(\(const)h Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2700 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30 868 y Fr(Other)g(applications)h
2701 (need)f(only)g(the)h(remainder)e(of)h(a)h(division.)40
2702 b(The)30 b(remainder)f(of)h(`)p Fp(floor)p Fr(')f(and)h(`)p
2703 Fp(ffloor)p Fr(')f(is)-30 978 y(called)k(`)p Fp(mod)p
2704 Fr(')e(\(abbreviation)h(of)g(\\mo)s(dulo"\).)43 b(The)31
2705 b(remainder)f(`)p Fp(truncate)p Fr(')g(and)h(`)p Fp(ftruncate)p
2706 Fr(')e(is)j(called)g(`)p Fp(rem)p Fr(')-30 1087 y(\(abbreviation)f(of)g
2707 (\\remainder"\).)45 1218 y Fq(\017)60 b Fp(mod\(x,y\))28
2708 b(=)i(floor2\(x,y\).remainder)25 b(=)30 b(x)g(-)g(floor\(x/y\)*y)45
2709 1349 y Fq(\017)60 b Fp(rem\(x,y\))28 b(=)i(truncate2\(x,y\).remainder)
2710 24 b(=)30 b(x)g(-)g(truncate\(x/y\)*y)-30 1501 y Fr(If)j
2711 Fp(x)f Fr(and)h Fp(y)f Fr(are)i(b)s(oth)e Fp(>)p Fr(=)g(0,)j
2712 Fp(mod\(x,y\))28 b(=)i(rem\(x,y\))e(>=)i(0)p Fr(.)48
2713 b(In)32 b(general,)j Fp(mod\(x,y\))c Fr(has)i(the)g(sign)g(of)g
2714 Fp(y)g Fr(or)g(is)-30 1611 y(zero,)e(and)f Fp(rem\(x,y\))e
2715 Fr(has)i(the)h(sign)f(of)h Fp(x)f Fr(or)g(is)h(zero.)-30
2716 1742 y(The)f(classes)h Fp(cl_R)p Fr(,)f Fp(cl_I)f Fr(de\014ne)h(the)g
2717 (follo)m(wing)i(op)s(erations:)-30 1894 y Fl(t)m(yp)s(e)k
2718 Fp(mod)29 b(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2719 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30 2004 y Fl(t)m(yp)s(e)36
2720 b Fp(rem)29 b(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f
2721 Fl(t)m(yp)s(e)5 b Fp(&)30 b(y\))-30 2229 y Fs(4.7)68
2722 b(Ro)t(ots)-30 2418 y Fr(Eac)m(h)31 b(of)g(the)f(classes)i
2723 Fp(cl_R)p Fr(,)d Fp(cl_F)p Fr(,)g Fp(cl_SF)p Fr(,)h Fp(cl_FF)p
2724 Fr(,)f Fp(cl_DF)p Fr(,)g Fp(cl_LF)g Fr(de\014nes)g(the)i(follo)m(wing)h
2725 (op)s(eration:)-30 2570 y Fl(t)m(yp)s(e)k Fp(sqrt)29
2726 b(\(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 2680
2727 y(x)e Fr(m)m(ust)g(b)s(e)g Fp(>)p Fr(=)h(0.)40 b(This)28
2728 b(function)h(returns)e(the)i(square)g(ro)s(ot)g(of)g
2729 Fp(x)p Fr(,)g(normalized)f(to)i(b)s(e)e Fp(>)p Fr(=)g(0.)41
2730 b(If)28 b Fp(x)450 2789 y Fr(is)g(the)g(square)f(of)h(a)g(rational)h(n)
2731 m(um)m(b)s(er,)d Fp(sqrt\(x\))g Fr(will)i(b)s(e)f(a)h(rational)h(n)m
2732 (um)m(b)s(er,)d(else)j(it)f(will)g(return)450 2899 y(a)j(\015oating-p)s
2733 (oin)m(t)g(appro)m(ximation.)-30 3051 y(The)f(classes)h
2734 Fp(cl_RA)p Fr(,)e Fp(cl_I)h Fr(de\014ne)f(the)i(follo)m(wing)h(op)s
2735 (eration:)-30 3203 y Fp(cl_boolean)c(sqrtp)h(\(const)f
2736 Fl(t)m(yp)s(e)5 b Fp(&)31 b(x,)e Fl(t)m(yp)s(e)5 b Fp(*)31
2737 b(root\))450 3313 y Fr(This)e(tests)i(whether)e Fp(x)g
2738 Fr(is)h(a)h(p)s(erfect)e(square.)41 b(If)29 b(so,)i(it)f(returns)f
2739 (true)g(and)h(the)g(exact)h(square)f(ro)s(ot)450 3423
2740 y(in)g Fp(*root)p Fr(,)f(else)i(it)g(returns)f(false.)-30
2741 3575 y(F)-8 b(urthermore,)30 b(for)g(in)m(tegers,)i(similarly:)-30
2742 3727 y Fp(cl_boolean)c(isqrt)h(\(const)f Fl(t)m(yp)s(e)5
2743 b Fp(&)31 b(x,)e Fl(t)m(yp)s(e)5 b Fp(*)31 b(root\))450
2744 3837 y(x)j Fr(should)g(b)s(e)f Fp(>)p Fr(=)h(0.)53 b(This)34
2745 b(function)g(sets)h Fp(*root)e Fr(to)i Fp(floor\(sqrt\(x\)\))c
2746 Fr(and)j(returns)f(the)i(same)450 3946 y(v)-5 b(alue)31
2747 b(as)f Fp(sqrtp)p Fr(:)40 b(the)30 b(b)s(o)s(olean)h(v)-5
2748 b(alue)31 b Fp(\(expt\(*root,2\))26 b(==)k(x\))p Fr(.)-30
2749 4098 y(F)-8 b(or)31 b Fp(n)p Fr(th)f(ro)s(ots,)h(the)f(classes)i
2750 Fp(cl_RA)p Fr(,)d Fp(cl_I)g Fr(de\014ne)h(the)g(follo)m(wing)i(op)s
2751 (eration:)-30 4251 y Fp(cl_boolean)c(rootp)h(\(const)f
2752 Fl(t)m(yp)s(e)5 b Fp(&)31 b(x,)e(const)g(cl_I&)g(n,)h
2753 Fl(t)m(yp)s(e)5 b Fp(*)30 b(root\))450 4360 y(x)38 b
2754 Fr(m)m(ust)g(b)s(e)f Fp(>)p Fr(=)h(0.)66 b Fp(n)38 b
2755 Fr(m)m(ust)f(b)s(e)h Fp(>)g Fr(0.)66 b(This)37 b(tests)j(whether)e
2756 Fp(x)g Fr(is)g(an)h Fp(n)p Fr(th)f(p)s(o)m(w)m(er)g(of)h(a)g(rational)
2757 450 4470 y(n)m(um)m(b)s(er.)f(If)30 b(so,)h(it)g(returns)e(true)h(and)g
2758 (the)h(exact)h(ro)s(ot)e(in)g Fp(*root)p Fr(,)g(else)h(it)g(returns)e
2759 (false.)-30 4622 y(The)h(only)g(square)g(ro)s(ot)h(function)f(whic)m(h)
2760 g(accepts)i(negativ)m(e)h(n)m(um)m(b)s(ers)28 b(is)i(the)h(one)f(for)g
2761 (class)h Fp(cl_N)p Fr(:)-30 4774 y Fp(cl_N)e(sqrt)g(\(const)g(cl_N&)g
2762 (z\))450 4884 y Fr(Returns)44 b(the)h(square)f(ro)s(ot)h(of)g
2763 Fp(z)p Fr(,)j(as)d(de\014ned)f(b)m(y)g(the)h(form)m(ula)f
2764 Fp(sqrt\(z\))28 b(=)i(exp\(log\(z\)/2\))p Fr(.)450 4994
2765 y(Con)m(v)m(ersion)j(to)g(a)f(\015oating-p)s(oin)m(t)i(t)m(yp)s(e)e(or)
2766 h(to)g(a)f(complex)g(n)m(um)m(b)s(er)e(are)j(done)f(if)g(necessary)-8
2767 b(.)47 b(The)450 5103 y(range)25 b(of)f(the)h(result)f(is)g(the)h(righ)
2768 m(t)g(half)f(plane)g Fp(realpart\(sqrt\(z\)\))i(>=)k(0)24
2769 b Fr(including)f(the)i(p)s(ositiv)m(e)450 5213 y(imaginary)k(axis)h
2770 (and)f(0,)h(but)f(excluding)g(the)h(negativ)m(e)i(imaginary)d(axis.)40
2771 b(The)29 b(result)h(is)f(an)g(exact)450 5322 y(n)m(um)m(b)s(er)f(only)j
2772 (if)f Fp(z)g Fr(is)g(an)h(exact)g(n)m(um)m(b)s(er.)p
2773 eop
2774 %%Page: 17 19
2775 17 18 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2776 b(on)f(n)m(um)m(b)s(ers)2523 b(17)-30 299 y Fs(4.8)68
2777 b(T)-11 b(ranscenden)l(tal)45 b(functions)-30 495 y Fr(The)30
2778 b(transcenden)m(tal)i(functions)f(return)f(an)g(exact)j(result)e(if)f
2779 (the)i(argumen)m(t)e(is)h(exact)h(and)f(the)g(result)f(is)h(exact)-30
2780 605 y(as)j(w)m(ell.)54 b(Otherwise)34 b(they)g(m)m(ust)f(return)g
2781 (inexact)j(n)m(um)m(b)s(ers)c(ev)m(en)j(if)f(the)g(argumen)m(t)g(is)g
2782 (exact.)54 b(F)-8 b(or)35 b(example,)-30 714 y Fp(cos\(0\))29
2783 b(=)h(1)g Fr(returns)f(the)h(rational)i(n)m(um)m(b)s(er)c
2784 Fp(1)p Fr(.)-30 946 y Fn(4.8.1)63 b(Exp)s(onen)m(tial)40
2785 b(and)h(logarithmic)g(functions)-30 1169 y Fp(cl_R)29
2786 b(exp)h(\(const)e(cl_R&)h(x\))-30 1278 y(cl_N)g(exp)h(\(const)e(cl_N&)h
2787 (x\))450 1388 y Fr(Returns)35 b(the)i(exp)s(onen)m(tial)g(function)f
2788 (of)g Fp(x)p Fr(.)58 b(This)36 b(is)g Fp(e^x)f Fr(where)h
2789 Fp(e)g Fr(is)g(the)h(base)f(of)g(the)h(natural)450 1498
2790 y(logarithms.)k(The)29 b(range)i(of)g(the)f(result)h(is)f(the)h(en)m
2791 (tire)g(complex)f(plane)g(excluding)h(0.)-30 1661 y Fp(cl_R)e(ln)h
2792 (\(const)f(cl_R&)g(x\))450 1770 y(x)h Fr(m)m(ust)f(b)s(e)h
2793 Fp(>)g Fr(0.)41 b(Returns)30 b(the)g(\(natural\))h(logarithm)g(of)f(x.)
2794 -30 1933 y Fp(cl_N)f(log)h(\(const)e(cl_N&)h(x\))450
2795 2043 y Fr(Returns)g(the)g(\(natural\))h(logarithm)g(of)f(x.)41
2796 b(If)29 b Fp(x)g Fr(is)g(real)h(and)f(p)s(ositiv)m(e,)i(this)e(is)h
2797 Fp(ln\(x\))p Fr(.)39 b(In)29 b(general,)450 2153 y Fp(log\(x\))g(=)h
2798 (log\(abs\(x\)\))d(+)j(i*phase\(x\))p Fr(.)35 b(The)21
2799 b(range)i(of)f(the)g(result)f(is)h(the)g(strip)g(in)f(the)h(complex)450
2800 2262 y(plane)30 b Fp(-pi)g(<)g(imagpart\(log\(x\)\))c(<=)k(pi)p
2801 Fr(.)-30 2425 y Fp(cl_R)f(phase)g(\(const)g(cl_N&)g(x\))450
2802 2535 y Fr(Returns)41 b(the)i(angle)h(part)e(of)g Fp(x)g
2803 Fr(in)h(its)f(p)s(olar)g(represen)m(tation)i(as)f(a)f(complex)g(n)m(um)
2804 m(b)s(er.)75 b(That)450 2644 y(is,)41 b Fp(phase\(x\))29
2805 b(=)h(atan\(realpart\(x\),imagpa)o(rt\()o(x\)\))p Fr(.)60
2806 b(This)38 b(is)h(also)h(the)f(imaginary)g(part)g(of)450
2807 2754 y Fp(log\(x\))p Fr(.)52 b(The)35 b(range)g(of)g(the)g(result)g(is)
2808 g(the)g(in)m(terv)-5 b(al)36 b Fp(-pi)29 b(<)h(phase\(x\))e(<=)i(pi)p
2809 Fr(.)54 b(The)34 b(result)h(will)450 2864 y(b)s(e)30
2810 b(an)g(exact)i(n)m(um)m(b)s(er)c(only)i(if)h Fp(zerop\(x\))d
2811 Fr(or)i(if)h Fp(x)f Fr(is)g(real)h(and)f(p)s(ositiv)m(e.)-30
2812 3027 y Fp(cl_R)f(log)h(\(const)e(cl_R&)h(a,)h(const)f(cl_R&)g(b\))450
2813 3136 y(a)35 b Fr(and)g Fp(b)g Fr(m)m(ust)f(b)s(e)h Fp(>)g
2814 Fr(0.)56 b(Returns)35 b(the)g(logarithm)h(of)f Fp(a)g
2815 Fr(with)h(resp)s(ect)f(to)h(base)g Fp(b)p Fr(.)55 b Fp(log\(a,b\))28
2816 b(=)450 3246 y(ln\(a\)/ln\(b\))p Fr(.)38 b(The)30 b(result)g(can)g(b)s
2817 (e)g(exact)i(only)f(if)f Fp(a)g(=)g(1)g Fr(or)g(if)h
2818 Fp(a)f Fr(and)g Fp(b)g Fr(are)g(b)s(oth)g(rational.)-30
2819 3409 y Fp(cl_N)f(log)h(\(const)e(cl_N&)h(a,)h(const)f(cl_N&)g(b\))450
2820 3518 y Fr(Returns)g(the)i(logarithm)f(of)h Fp(a)f Fr(with)g(resp)s(ect)
2821 g(to)i(base)e Fp(b)p Fr(.)40 b Fp(log\(a,b\))29 b(=)h
2822 (log\(a\)/log\(b\))p Fr(.)-30 3682 y Fp(cl_N)f(expt)g(\(const)g(cl_N&)g
2823 (x,)h(const)f(cl_N&)g(y\))450 3791 y Fr(Exp)s(onen)m(tiation:)42
2824 b(Returns)29 b Fp(x^y)g(=)h(exp\(y*log\(x\)\))p Fr(.)-30
2825 3956 y(The)g(constan)m(t)i(e)e(=)g(exp\(1\))i(=)e(2.71828)6
2826 b(.)24 b(.)f(.)41 b(is)31 b(returned)e(b)m(y)h(the)h(follo)m(wing)h
2827 (functions:)-30 4121 y Fp(cl_F)d(exp1)g(\(cl_float_format_t)d(f\))450
2828 4231 y Fr(Returns)j(e)i(as)g(a)g(\015oat)g(of)f(format)g
2829 Fp(f)p Fr(.)-30 4394 y Fp(cl_F)f(exp1)g(\(const)g(cl_F&)g(y\))450
2830 4503 y Fr(Returns)g(e)i(in)f(the)h(\015oat)g(format)f(of)g
2831 Fp(y)p Fr(.)-30 4666 y Fp(cl_F)f(exp1)g(\(void\))450
2832 4776 y Fr(Returns)g(e)i(as)g(a)g(\015oat)g(of)f(format)g
2833 Fp(default_float_format)p Fr(.)-30 5007 y Fn(4.8.2)63
2834 b(T)-10 b(rigonometric)41 b(functions)-30 5230 y Fp(cl_R)29
2835 b(sin)h(\(const)e(cl_R&)h(x\))450 5340 y Fr(Returns)g
2836 Fp(sin\(x\))p Fr(.)39 b(The)30 b(range)h(of)g(the)f(result)g(is)h(the)f
2837 (in)m(terv)-5 b(al)32 b Fp(-1)e(<=)f(sin\(x\))g(<=)h(1)p
2838 Fr(.)p eop
2839 %%Page: 18 20
2840 18 19 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2841 b(on)f(n)m(um)m(b)s(ers)2523 b(18)-30 299 y Fp(cl_N)29
2842 b(sin)h(\(const)e(cl_N&)h(z\))450 408 y Fr(Returns)g
2843 Fp(sin\(z\))p Fr(.)39 b(The)30 b(range)h(of)g(the)f(result)g(is)h(the)f
2844 (en)m(tire)i(complex)e(plane.)-30 562 y Fp(cl_R)f(cos)h(\(const)e
2845 (cl_R&)h(x\))450 671 y Fr(Returns)g Fp(cos\(x\))p Fr(.)39
2846 b(The)30 b(range)h(of)g(the)f(result)g(is)h(the)f(in)m(terv)-5
2847 b(al)32 b Fp(-1)e(<=)f(cos\(x\))g(<=)h(1)p Fr(.)-30 825
2848 y Fp(cl_N)f(cos)h(\(const)e(cl_N&)h(x\))450 934 y Fr(Returns)g
2849 Fp(cos\(z\))p Fr(.)39 b(The)30 b(range)h(of)g(the)f(result)g(is)h(the)f
2850 (en)m(tire)i(complex)e(plane.)-30 1088 y Fp(struct)f(cos_sin_t)f({)i
2851 (cl_R)f(cos;)g(cl_R)g(sin;)g(};)-30 1198 y(cos_sin_t)f(cos_sin)g
2852 (\(const)h(cl_R&)g(x\))450 1307 y Fr(Returns)20 b(b)s(oth)h
2853 Fp(sin\(x\))f Fr(and)h Fp(cos\(x\))p Fr(.)36 b(This)20
2854 b(is)i(more)e(e\016cien)m(t)j(than)e(computing)g(them)f(separately)-8
2855 b(.)450 1417 y(The)30 b(relation)h Fp(cos^2)e(+)h(sin^2)f(=)h(1)g
2856 Fr(will)h(hold)f(only)h(appro)m(ximately)-8 b(.)-30 1570
2857 y Fp(cl_R)29 b(tan)h(\(const)e(cl_R&)h(x\))-30 1680 y(cl_N)g(tan)h
2858 (\(const)e(cl_N&)h(x\))450 1789 y Fr(Returns)g Fp(tan\(x\))g(=)h
2859 (sin\(x\)/cos\(x\))p Fr(.)-30 1943 y Fp(cl_N)f(cis)h(\(const)e(cl_R&)h
2860 (x\))-30 2052 y(cl_N)g(cis)h(\(const)e(cl_N&)h(x\))450
2861 2162 y Fr(Returns)35 b Fp(exp\(i*x\))p Fr(.)54 b(The)35
2862 b(name)f(`)p Fp(cis)p Fr(')h(means)g(\\cos)i Fp(+)e Fr(i)h(sin",)h(b)s
2863 (ecause)e Fp(e^\(i*x\))29 b(=)h(cos\(x\))e(+)450 2271
2864 y(i*sin\(x\))p Fr(.)-30 2425 y Fp(cl_N)h(asin)g(\(const)g(cl_N&)g(z\))
2865 450 2534 y Fr(Returns)j Fp(arcsin\(z\))p Fr(.)44 b(This)32
2866 b(is)h(de\014ned)e(as)i Fp(arcsin\(z\))27 b(=)j
2867 (log\(iz+sqrt\(1-z^2\)\)/i)d Fr(and)32 b(sat-)450 2644
2868 y(is\014es)d Fp(arcsin\(-z\))e(=)j(-arcsin\(z\))p Fr(.)37
2869 b(The)29 b(range)g(of)g(the)g(result)f(is)h(the)g(strip)f(in)g(the)h
2870 (complex)g(do-)450 2754 y(main)34 b Fp(-pi/2)29 b(<=)h
2871 (realpart\(arcsin\(z\)\))25 b(<=)30 b(pi/2)p Fr(,)35
2872 b(excluding)g(the)h(n)m(um)m(b)s(ers)c(with)j Fp(realpart)450
2873 2863 y(=)30 b(-pi/2)f Fr(and)h Fp(imagpart)e(<)i(0)g
2874 Fr(and)g(the)g(n)m(um)m(b)s(ers)e(with)i Fp(realpart)e(=)i(pi/2)g
2875 Fr(and)f Fp(imagpart)f(>)j(0)p Fr(.)-30 3017 y Fp(cl_N)e(acos)g
2876 (\(const)g(cl_N&)g(z\))450 3126 y Fr(Returns)101 b Fp(arccos\(z\))p
2877 Fr(.)252 b(This)101 b(is)h(de\014ned)e(as)i Fp(arccos\(z\))28
2878 b(=)i(pi/2)f(-)h(arcsin\(z\))e(=)450 3236 y(log\(z+i*sqrt\(1-z^2\)\)/i)
2879 53 b Fr(and)58 b(satis\014es)h Fp(arccos\(-z\))28 b(=)i(pi)g(-)g
2880 (arccos\(z\))p Fr(.)123 b(The)59 b(range)450 3345 y(of)48
2881 b(the)g(result)g(is)g(the)h(strip)e(in)h(the)g(complex)g(domain)f
2882 Fp(0)30 b(<=)f(realpart\(arcsin\(z\)\))d(<=)j(pi)p Fr(,)450
2883 3455 y(excluding)46 b(the)g(n)m(um)m(b)s(ers)d(with)i
2884 Fp(realpart)28 b(=)i(0)46 b Fr(and)f Fp(imagpart)28 b(<)i(0)45
2885 b Fr(and)g(the)h(n)m(um)m(b)s(ers)d(with)450 3565 y Fp(realpart)28
2886 b(=)i(pi)g Fr(and)g Fp(imagpart)e(>)i(0)p Fr(.)-30 3718
2887 y Fp(cl_R)f(atan)g(\(const)g(cl_R&)g(x,)h(const)f(cl_R&)g(y\))450
2888 3828 y Fr(Returns)41 b(the)i(angle)g(of)g(the)f(p)s(olar)g(represen)m
2889 (tation)h(of)g(the)f(complex)g(n)m(um)m(b)s(er)e Fp(x+iy)p
2890 Fr(.)75 b(This)42 b(is)450 3937 y Fp(atan\(y/x\))31 b
2891 Fr(if)i Fp(x>0)p Fr(.)49 b(The)33 b(range)h(of)f(the)h(result)f(is)h
2892 (the)g(in)m(terv)-5 b(al)34 b Fp(-pi)c(<)g(atan\(x,y\))d(<=)j(pi)p
2893 Fr(.)49 b(The)450 4047 y(result)23 b(will)g(b)s(e)f(an)g(exact)i(n)m
2894 (um)m(b)s(er)d(only)i(if)f Fp(x)30 b(>)g(0)23 b Fr(and)f
2895 Fp(y)g Fr(is)h(the)g(exact)h Fp(0)p Fr(.)38 b(W)-10 b(ARNING:)23
2896 b(In)f(Common)450 4156 y(Lisp,)30 b(this)g(function)g(is)h(called)g(as)
2897 g Fp(\(atan)e(y)h(x\))p Fr(,)g(with)g(rev)m(ersed)h(order)e(of)i
2898 (argumen)m(ts.)-30 4310 y Fp(cl_R)e(atan)g(\(const)g(cl_R&)g(x\))450
2899 4419 y Fr(Returns)40 b Fp(arctan\(x\))p Fr(.)68 b(This)40
2900 b(is)h(the)g(same)f(as)g Fp(atan\(1,x\))p Fr(.)69 b(The)40
2901 b(range)h(of)g(the)g(result)f(is)h(the)450 4529 y(in)m(terv)-5
2902 b(al)38 b Fp(-pi/2)29 b(<)h(atan\(x\))e(<)i(pi/2)p Fr(.)59
2903 b(The)36 b(result)g(will)h(b)s(e)f(an)h(exact)h(n)m(um)m(b)s(er)c(only)
2904 j(if)g Fp(x)f Fr(is)h(the)450 4639 y(exact)32 b Fp(0)p
2905 Fr(.)-30 4792 y Fp(cl_N)d(atan)g(\(const)g(cl_N&)g(z\))450
2906 4902 y Fr(Returns)51 b Fp(arctan\(z\))p Fr(.)102 b(This)52
2907 b(is)f(de\014ned)g(as)h Fp(arctan\(z\))28 b(=)i
2908 (\(log\(1+iz\)-log\(1-iz\)\))25 b(/)30 b(2i)450 5011
2909 y Fr(and)44 b(satis\014es)h Fp(arctan\(-z\))28 b(=)i(-arctan\(z\))p
2910 Fr(.)80 b(The)44 b(range)h(of)g(the)g(result)f(is)h(the)f(strip)g(in)h
2911 (the)450 5121 y(complex)28 b(domain)g Fp(-pi/2)h(<=)g
2912 (realpart\(arctan\(z\)\))d(<=)j(pi/2)p Fr(,)f(excluding)h(the)g(n)m(um)
2913 m(b)s(ers)d(with)450 5230 y Fp(realpart)i(=)i(-pi/2)49
2914 b Fr(and)i Fp(imagpart)28 b(>=)i(0)50 b Fr(and)g(the)h(n)m(um)m(b)s
2915 (ers)d(with)j Fp(realpart)28 b(=)i(pi/2)50 b Fr(and)450
2916 5340 y Fp(imagpart)28 b(<=)i(0)p Fr(.)p eop
2917 %%Page: 19 21
2918 19 20 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2919 b(on)f(n)m(um)m(b)s(ers)2523 b(19)-30 299 y(Arc)m(himedes')30
2920 b(constan)m(t)i(pi)e(=)g(3.14)6 b(.)23 b(.)f(.)42 b(is)30
2921 b(returned)g(b)m(y)g(the)g(follo)m(wing)i(functions:)-30
2922 469 y Fp(cl_F)d(pi)h(\(cl_float_format_t)25 b(f\))450
2923 578 y Fr(Returns)k(pi)i(as)f(a)h(\015oat)g(of)f(format)g
2924 Fp(f)p Fr(.)-30 745 y Fp(cl_F)f(pi)h(\(const)f(cl_F&)g(y\))450
2925 855 y Fr(Returns)g(pi)i(in)f(the)g(\015oat)h(format)f(of)g
2926 Fp(y)p Fr(.)-30 1021 y Fp(cl_F)f(pi)h(\(void\))450 1131
2927 y Fr(Returns)f(pi)i(as)f(a)h(\015oat)g(of)f(format)g
2928 Fp(default_float_format)p Fr(.)-30 1369 y Fn(4.8.3)63
2929 b(Hyp)s(erb)s(olic)42 b(functions)-30 1597 y Fp(cl_R)29
2930 b(sinh)g(\(const)g(cl_R&)g(x\))450 1707 y Fr(Returns)g
2931 Fp(sinh\(x\))p Fr(.)-30 1873 y Fp(cl_N)g(sinh)g(\(const)g(cl_N&)g(z\))
2932 450 1983 y Fr(Returns)g Fp(sinh\(z\))p Fr(.)39 b(The)30
2933 b(range)h(of)f(the)h(result)f(is)h(the)f(en)m(tire)h(complex)g(plane.)
2934 -30 2149 y Fp(cl_R)e(cosh)g(\(const)g(cl_R&)g(x\))450
2935 2259 y Fr(Returns)g Fp(cosh\(x\))p Fr(.)39 b(The)30 b(range)h(of)f(the)
2936 h(result)f(is)h(the)f(in)m(terv)-5 b(al)32 b Fp(cosh\(x\))c(>=)i(1)p
2937 Fr(.)-30 2425 y Fp(cl_N)f(cosh)g(\(const)g(cl_N&)g(z\))450
2938 2535 y Fr(Returns)g Fp(cosh\(z\))p Fr(.)39 b(The)30 b(range)h(of)f(the)
2939 h(result)f(is)h(the)f(en)m(tire)h(complex)g(plane.)-30
2940 2701 y Fp(struct)e(cosh_sinh_t)e({)j(cl_R)f(cosh;)g(cl_R)g(sinh;)g(};)
2941 -30 2811 y(cosh_sinh_t)e(cosh_sinh)h(\(const)h(cl_R&)g(x\))450
2942 2921 y Fr(Returns)i(b)s(oth)g Fp(sinh\(x\))f Fr(and)h
2943 Fp(cosh\(x\))p Fr(.)43 b(This)31 b(is)h(more)f(e\016cien)m(t)i(than)f
2944 (computing)f(them)f(sepa-)450 3030 y(rately)-8 b(.)42
2945 b(The)30 b(relation)i Fp(cosh^2)c(-)i(sinh^2)f(=)h(1)g
2946 Fr(will)h(hold)f(only)g(appro)m(ximately)-8 b(.)-30 3197
2947 y Fp(cl_R)29 b(tanh)g(\(const)g(cl_R&)g(x\))-30 3306
2948 y(cl_N)g(tanh)g(\(const)g(cl_N&)g(x\))450 3416 y Fr(Returns)g
2949 Fp(tanh\(x\))g(=)h(sinh\(x\)/cosh\(x\))p Fr(.)-30 3582
2950 y Fp(cl_N)f(asinh)g(\(const)g(cl_N&)g(z\))450 3692 y
2951 Fr(Returns)h Fp(arsinh\(z\))p Fr(.)40 b(This)31 b(is)g(de\014ned)f(as)h
2952 Fp(arsinh\(z\))d(=)i(log\(z+sqrt\(1+z^2\)\))c Fr(and)k(satis\014es)450
2953 3802 y Fp(arsinh\(-z\))e(=)i(-arsinh\(z\))p Fr(.)36 b(The)26
2954 b(range)h(of)g(the)g(result)f(is)h(the)g(strip)f(in)g(the)h(complex)f
2955 (domain)f Fp(-)450 3911 y(pi/2)k(<=)h(imagpart\(arsinh\(z\)\))25
2956 b(<=)30 b(pi/2)p Fr(,)22 b(excluding)g(the)g(n)m(um)m(b)s(ers)d(with)i
2957 Fp(imagpart)28 b(=)i(-pi/2)450 4021 y Fr(and)g Fp(realpart)e(>)i(0)g
2958 Fr(and)g(the)g(n)m(um)m(b)s(ers)e(with)i Fp(imagpart)e(=)i(pi/2)g
2959 Fr(and)f Fp(realpart)g(<)h(0)p Fr(.)-30 4187 y Fp(cl_N)f(acosh)g
2960 (\(const)g(cl_N&)g(z\))450 4297 y Fr(Returns)35 b Fp(arcosh\(z\))p
2961 Fr(.)53 b(This)35 b(is)h(de\014ned)e(as)i Fp(arcosh\(z\))28
2962 b(=)i(2*log\(sqrt\(\(z+1\)/2\)+sqr)o(t\(\(z)o(-)450 4406
2963 y(1\)/2\)\))p Fr(.)114 b(The)55 b(range)h(of)g(the)g(result)f(is)g(the)
2964 h(half-strip)f(in)h(the)f(complex)g(domain)g Fp(-pi)29
2965 b(<)450 4516 y(imagpart\(arcosh\(z\)\))c(<=)30 b(pi,)f
2966 (realpart\(arcosh\(z\)\))c(>=)30 b(0)p Fr(,)99 b(excluding)85
2967 b(the)g(n)m(um)m(b)s(ers)450 4626 y(with)30 b Fp(realpart)e(=)i(0)g
2968 Fr(and)g Fp(-pi)f(<)i(imagpart)d(<)i(0)p Fr(.)-30 4792
2969 y Fp(cl_N)f(atanh)g(\(const)g(cl_N&)g(z\))450 4902 y
2970 Fr(Returns)24 b Fp(artanh\(z\))p Fr(.)37 b(This)24 b(is)h(de\014ned)f
2971 (as)h Fp(artanh\(z\))j(=)i(\(log\(1+z\)-log\(1-z\)\))25
2972 b(/)30 b(2)25 b Fr(and)f(sat-)450 5011 y(is\014es)29
2973 b Fp(artanh\(-z\))e(=)j(-artanh\(z\))p Fr(.)37 b(The)29
2974 b(range)g(of)g(the)g(result)f(is)h(the)g(strip)f(in)g(the)h(complex)g
2975 (do-)450 5121 y(main)34 b Fp(-pi/2)29 b(<=)h(imagpart\(artanh\(z\)\))25
2976 b(<=)30 b(pi/2)p Fr(,)35 b(excluding)g(the)h(n)m(um)m(b)s(ers)c(with)j
2977 Fp(imagpart)450 5230 y(=)30 b(-pi/2)j Fr(and)h Fp(realpart)28
2978 b(<=)i(0)k Fr(and)g(the)h(n)m(um)m(b)s(ers)d(with)i Fp(imagpart)28
2979 b(=)i(pi/2)k Fr(and)f Fp(realpart)c(>=)450 5340 y(0)p
2980 Fr(.)p eop
2981 %%Page: 20 22
2982 20 21 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
2983 b(on)f(n)m(um)m(b)s(ers)2523 b(20)-30 299 y Fn(4.8.4)63
2984 b(Euler)40 b(gamma)-30 498 y Fr(Euler's)30 b(constan)m(t)i(C)e(=)g
2985 (0.577)6 b(.)24 b(.)e(.)41 b(is)31 b(returned)e(b)m(y)h(the)h(follo)m
2986 (wing)h(functions:)-30 666 y Fp(cl_F)d(eulerconst)f
2987 (\(cl_float_format_t)d(f\))450 776 y Fr(Returns)k(Euler's)i(constan)m
2988 (t)g(as)g(a)g(\015oat)g(of)f(format)g Fp(f)p Fr(.)-30
2989 942 y Fp(cl_F)f(eulerconst)f(\(const)g(cl_F&)h(y\))450
2990 1051 y Fr(Returns)g(Euler's)i(constan)m(t)g(in)f(the)h(\015oat)g
2991 (format)f(of)g Fp(y)p Fr(.)-30 1217 y Fp(cl_F)f(eulerconst)f(\(void\))
2992 450 1326 y Fr(Returns)h(Euler's)i(constan)m(t)g(as)g(a)g(\015oat)g(of)f
2993 (format)g Fp(default_float_format)p Fr(.)-30 1495 y(Catalan's)i
2994 (constan)m(t)f(G)g(=)f(0.915)6 b(.)24 b(.)e(.)42 b(is)30
2995 b(returned)f(b)m(y)h(the)h(follo)m(wing)h(functions:)-30
2996 1664 y Fp(cl_F)d(catalanconst)e(\(cl_float_format_t)f(f\))450
2997 1773 y Fr(Returns)j(Catalan's)j(constan)m(t)g(as)e(a)h(\015oat)g(of)g
2998 (format)e Fp(f)p Fr(.)-30 1939 y Fp(cl_F)g(catalanconst)e(\(const)i
2999 (cl_F&)g(y\))450 2048 y Fr(Returns)g(Catalan's)j(constan)m(t)g(in)e
3000 (the)g(\015oat)h(format)f(of)h Fp(y)p Fr(.)-30 2214 y
3001 Fp(cl_F)e(catalanconst)e(\(void\))450 2324 y Fr(Returns)i(Catalan's)j
3002 (constan)m(t)g(as)e(a)h(\015oat)g(of)g(format)e Fp
3003 (default_float_format)p Fr(.)-30 2560 y Fn(4.8.5)63 b(Riemann)39
3004 b(zeta)-30 2759 y Fr(Riemann's)29 b(zeta)j(function)e(at)h(an)g(in)m
3005 (tegral)h(p)s(oin)m(t)e Fp(s>1)f Fr(is)i(returned)e(b)m(y)h(the)h
3006 (follo)m(wing)h(functions:)-30 2927 y Fp(cl_F)d(zeta)g(\(int)h(s,)f
3007 (cl_float_format_t)d(f\))450 3037 y Fr(Returns)j(Riemann's)h(zeta)i
3008 (function)e(at)h Fp(s)f Fr(as)g(a)h(\015oat)g(of)g(format)e
3009 Fp(f)p Fr(.)-30 3203 y Fp(cl_F)g(zeta)g(\(int)h(s,)f(const)g(cl_F&)g
3010 (y\))450 3312 y Fr(Returns)g(Riemann's)h(zeta)i(function)e(at)h
3011 Fp(s)f Fr(in)g(the)g(\015oat)h(format)f(of)h Fp(y)p Fr(.)-30
3012 3478 y Fp(cl_F)e(zeta)g(\(int)h(s\))450 3587 y Fr(Returns)f(Riemann's)h
3013 (zeta)i(function)e(at)h Fp(s)f Fr(as)g(a)h(\015oat)g(of)g(format)e
3014 Fp(default_float_format)p Fr(.)-30 3860 y Fs(4.9)68 b(F)-11
3015 b(unctions)44 b(on)h(in)l(tegers)-30 4155 y Fn(4.9.1)63
3016 b(Logical)40 b(functions)-30 4354 y Fr(In)m(tegers,)31
3017 b(when)d(view)m(ed)j(as)f(in)f(t)m(w)m(o's)i(complemen)m(t)e(notation,)
3018 i(can)f(b)s(e)f(though)m(t)h(as)g(in\014nite)f(bit)h(strings)f(where)
3019 -30 4463 y(the)i(bits')f(v)-5 b(alues)31 b(ev)m(en)m(tually)h(are)f
3020 (constan)m(t.)42 b(F)-8 b(or)31 b(example,)401 4598 y
3021 Fp(17)47 b(=)h(......00010001)401 4702 y(-6)f(=)h(......11111010)-30
3022 4843 y Fr(The)33 b(logical)j(op)s(erations)e(view)g(in)m(tegers)h(as)f
3023 (suc)m(h)f(bit)h(strings)f(and)h(op)s(erate)g(on)f(eac)m(h)i(of)f(the)g
3024 (bit)g(p)s(ositions)f(in)-30 4952 y(parallel.)-30 5121
3025 y Fp(cl_I)c(lognot)g(\(const)g(cl_I&)f(x\))-30 5230 y(cl_I)h(operator)f
3026 (~)i(\(const)f(cl_I&)g(x\))450 5340 y Fr(Logical)j(not,)f(lik)m(e)h
3027 Fp(~x)e Fr(in)g(C.)g(This)g(is)g(the)h(same)e(as)i Fp(-1-x)p
3028 Fr(.)p eop
3029 %%Page: 21 23
3030 21 22 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
3031 b(on)f(n)m(um)m(b)s(ers)2523 b(21)-30 299 y Fp(cl_I)29
3032 b(logand)g(\(const)g(cl_I&)f(x,)i(const)f(cl_I&)g(y\))-30
3033 408 y(cl_I)g(operator)f(&)i(\(const)f(cl_I&)g(x,)h(const)f(cl_I&)g(y\))
3034 450 518 y Fr(Logical)j(and,)e(lik)m(e)i Fp(x)e(&)g(y)g
3035 Fr(in)g(C.)-30 673 y Fp(cl_I)f(logior)g(\(const)g(cl_I&)f(x,)i(const)f
3036 (cl_I&)g(y\))-30 783 y(cl_I)g(operator)f(|)i(\(const)f(cl_I&)g(x,)h
3037 (const)f(cl_I&)g(y\))450 892 y Fr(Logical)j(\(inclusiv)m(e\))g(or,)f
3038 (lik)m(e)h Fp(x)e(|)g(y)g Fr(in)g(C.)-30 1047 y Fp(cl_I)f(logxor)g
3039 (\(const)g(cl_I&)f(x,)i(const)f(cl_I&)g(y\))-30 1157
3040 y(cl_I)g(operator)f(^)i(\(const)f(cl_I&)g(x,)h(const)f(cl_I&)g(y\))450
3041 1267 y Fr(Exclusiv)m(e)i(or,)g(lik)m(e)h Fp(x)e(^)g(y)g
3042 Fr(in)g(C.)-30 1422 y Fp(cl_I)f(logeqv)g(\(const)g(cl_I&)f(x,)i(const)f
3043 (cl_I&)g(y\))450 1531 y Fr(Bit)m(wise)j(equiv)-5 b(alence,)32
3044 b(lik)m(e)g Fp(~\(x)d(^)h(y\))g Fr(in)g(C.)-30 1686 y
3045 Fp(cl_I)f(lognand)g(\(const)f(cl_I&)h(x,)h(const)f(cl_I&)g(y\))450
3046 1796 y Fr(Bit)m(wise)j(not)f(and,)f(lik)m(e)h Fp(~\(x)f(&)g(y\))g
3047 Fr(in)g(C.)-30 1951 y Fp(cl_I)f(lognor)g(\(const)g(cl_I&)f(x,)i(const)f
3048 (cl_I&)g(y\))450 2060 y Fr(Bit)m(wise)j(not)f(or,)f(lik)m(e)i
3049 Fp(~\(x)d(|)h(y\))g Fr(in)g(C.)-30 2216 y Fp(cl_I)f(logandc1)f(\(const)
3050 h(cl_I&)g(x,)h(const)f(cl_I&)g(y\))450 2325 y Fr(Logical)j(and,)e
3051 (complemen)m(ting)g(the)h(\014rst)e(argumen)m(t,)h(lik)m(e)i
3052 Fp(~x)e(&)g(y)g Fr(in)g(C.)-30 2480 y Fp(cl_I)f(logandc2)f(\(const)h
3053 (cl_I&)g(x,)h(const)f(cl_I&)g(y\))450 2590 y Fr(Logical)j(and,)e
3054 (complemen)m(ting)g(the)h(second)f(argumen)m(t,)g(lik)m(e)i
3055 Fp(x)e(&)g(~y)g Fr(in)g(C.)-30 2745 y Fp(cl_I)f(logorc1)g(\(const)f
3056 (cl_I&)h(x,)h(const)f(cl_I&)g(y\))450 2854 y Fr(Logical)j(or,)f
3057 (complemen)m(ting)f(the)g(\014rst)g(argumen)m(t,)g(lik)m(e)i
3058 Fp(~x)d(|)i(y)f Fr(in)g(C.)-30 3009 y Fp(cl_I)f(logorc2)g(\(const)f
3059 (cl_I&)h(x,)h(const)f(cl_I&)g(y\))450 3119 y Fr(Logical)j(or,)f
3060 (complemen)m(ting)f(the)g(second)h(argumen)m(t,)f(lik)m(e)i
3061 Fp(x)e(|)g(~y)f Fr(in)h(C.)-30 3274 y(These)g(op)s(erations)h(are)g
3062 (all)g(a)m(v)-5 b(ailable)33 b(though)d(the)g(function)-30
3063 3429 y Fp(cl_I)f(boole)g(\(cl_boole)f(op,)h(const)g(cl_I&)g(x,)h(const)
3064 f(cl_I&)g(y\))-30 3561 y Fr(where)35 b Fp(op)f Fr(m)m(ust)g(ha)m(v)m(e)
3065 j(one)e(of)g(the)h(16)g(v)-5 b(alues)35 b(\(eac)m(h)i(one)e(stands)g
3066 (for)g(a)g(function)g(whic)m(h)g(com)m(bines)g(t)m(w)m(o)h(bits)-30
3067 3671 y(in)m(to)31 b(one)g(bit\):)42 b Fp(boole_clr)p
3068 Fr(,)28 b Fp(boole_set)p Fr(,)g Fp(boole_1)p Fr(,)h Fp(boole_2)p
3069 Fr(,)f Fp(boole_c1)p Fr(,)h Fp(boole_c2)p Fr(,)f Fp(boole_and)p
3070 Fr(,)h Fp(boole_)-30 3781 y(ior)p Fr(,)45 b Fp(boole_xor)p
3071 Fr(,)f Fp(boole_eqv)p Fr(,)g Fp(boole_nand)p Fr(,)f Fp(boole_nor)p
3072 Fr(,)h Fp(boole_andc1)p Fr(,)f Fp(boole_andc2)p Fr(,)g
3073 Fp(boole_orc1)p Fr(,)-30 3890 y Fp(boole_orc2)p Fr(.)-30
3074 4023 y(Other)30 b(functions)g(that)h(view)f(in)m(tegers)i(as)f(bit)f
3075 (strings:)-30 4178 y Fp(cl_boolean)e(logtest)g(\(const)h(cl_I&)g(x,)g
3076 (const)g(cl_I&)g(y\))450 4287 y Fr(Returns)g(true)i(if)f(some)g(bit)g
3077 (is)h(set)f(in)h(b)s(oth)e Fp(x)h Fr(and)g Fp(y)p Fr(,)g(i.e.)42
3078 b(if)30 b Fp(logand\(x,y\))d(!=)j(0)p Fr(.)-30 4442 y
3079 Fp(cl_boolean)e(logbitp)g(\(const)h(cl_I&)g(n,)g(const)g(cl_I&)g(x\))
3080 450 4552 y Fr(Returns)g(true)i(if)f(the)h Fp(n)p Fr(th)e(bit)i(\(from)e
3081 (the)i(righ)m(t\))g(of)f Fp(x)h Fr(is)f(set.)41 b(Bit)32
3082 b(0)e(is)h(the)f(least)i(signi\014can)m(t)f(bit.)-30
3083 4707 y Fp(uintL)e(logcount)f(\(const)h(cl_I&)g(x\))450
3084 4816 y Fr(Returns)g(the)h(n)m(um)m(b)s(er)d(of)j(one)h(bits)e(in)h
3085 Fp(x)p Fr(,)g(if)f Fp(x)h(>)p Fr(=)f(0,)i(or)e(the)h(n)m(um)m(b)s(er)e
3086 (of)i(zero)h(bits)e(in)h Fp(x)p Fr(,)g(if)f Fp(x)h(<)f
3087 Fr(0.)-30 4972 y(The)h(follo)m(wing)i(functions)e(op)s(erate)h(on)f(in)
3088 m(terv)-5 b(als)31 b(of)g(bits)f(in)g(in)m(tegers.)42
3089 b(The)30 b(t)m(yp)s(e)210 5098 y Fp(struct)46 b(cl_byte)g({)h(uintL)g
3090 (size;)f(uintL)g(position;)g(};)-30 5230 y Fr(represen)m(ts)41
3091 b(the)h(bit)f(in)m(terv)-5 b(al)43 b(con)m(taining)g(the)e(bits)g
3092 Fp(position)6 b Fr(.)20 b(.)i(.)12 b Fp(position+size-1)37
3093 b Fr(of)k(an)g(in)m(teger.)75 b(The)-30 5340 y(constructor)31
3094 b Fp(cl_byte\(size,position\))24 b Fr(constructs)31 b(a)f
3095 Fp(cl_byte)p Fr(.)p eop
3096 %%Page: 22 24
3097 22 23 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
3098 b(on)f(n)m(um)m(b)s(ers)2523 b(22)-30 299 y Fp(cl_I)29
3099 b(ldb)h(\(const)e(cl_I&)h(n,)h(const)f(cl_byte&)f(b\))450
3100 408 y Fr(extracts)k(the)e(bits)g(of)h Fp(n)f Fr(describ)s(ed)f(b)m(y)h
3101 (the)h(bit)f(in)m(terv)-5 b(al)32 b Fp(b)e Fr(and)g(returns)f(them)g
3102 (as)i(a)f(nonnegativ)m(e)450 518 y(in)m(teger)i(with)e
3103 Fp(b.size)e Fr(bits.)-30 670 y Fp(cl_boolean)g(ldb_test)g(\(const)g
3104 (cl_I&)h(n,)h(const)f(cl_byte&)f(b\))450 780 y Fr(Returns)h(true)i(if)f
3105 (some)g(bit)g(describ)s(ed)f(b)m(y)i(the)f(bit)h(in)m(terv)-5
3106 b(al)31 b Fp(b)f Fr(is)h(set)g(in)f Fp(n)p Fr(.)-30 932
3107 y Fp(cl_I)f(dpb)h(\(const)e(cl_I&)h(newbyte,)f(const)h(cl_I&)g(n,)h
3108 (const)f(cl_byte&)f(b\))450 1041 y Fr(Returns)j Fp(n)p
3109 Fr(,)h(with)f(the)h(bits)f(describ)s(ed)g(b)m(y)g(the)h(bit)g(in)m
3110 (terv)-5 b(al)32 b Fp(b)g Fr(replaced)g(b)m(y)f Fp(newbyte)p
3111 Fr(.)43 b(Only)31 b(the)450 1151 y(lo)m(w)m(est)h Fp(b.size)d
3112 Fr(bits)h(of)h Fp(newbyte)d Fr(are)j(relev)-5 b(an)m(t.)-30
3113 1303 y(The)33 b(functions)f Fp(ldb)h Fr(and)f Fp(dpb)g
3114 Fr(implicitly)i(shift.)49 b(The)32 b(follo)m(wing)j(functions)e(are)g
3115 (their)g(coun)m(terparts)h(without)-30 1412 y(shifting:)-30
3116 1564 y Fp(cl_I)29 b(mask_field)f(\(const)g(cl_I&)h(n,)h(const)f
3117 (cl_byte&)f(b\))450 1674 y Fr(returns)35 b(an)g(in)m(teger)j(with)d
3118 (the)h(bits)g(describ)s(ed)f(b)m(y)h(the)g(bit)g(in)m(terv)-5
3119 b(al)37 b Fp(b)e Fr(copied)i(from)d(the)i(corre-)450
3120 1784 y(sp)s(onding)29 b(bits)h(in)g Fp(n)p Fr(,)g(the)h(other)g(bits)f
3121 (zero.)-30 1936 y Fp(cl_I)f(deposit_field)e(\(const)i(cl_I&)g(newbyte,)
3122 f(const)h(cl_I&)g(n,)g(const)g(cl_byte&)f(b\))450 2045
3123 y Fr(returns)e(an)h(in)m(teger)h(where)f(the)g(bits)g(describ)s(ed)f(b)
3124 m(y)h(the)h(bit)f(in)m(terv)-5 b(al)28 b Fp(b)f Fr(come)g(from)e
3125 Fp(newbyte)h Fr(and)450 2155 y(the)31 b(other)f(bits)g(come)h(from)e
3126 Fp(n)p Fr(.)-30 2307 y(The)h(follo)m(wing)i(relations)f(hold:)150
3127 2438 y Fp(ldb)e(\(n,)h(b\))g(=)g(mask_field\(n,)d(b\))i(>>)h
3128 (b.position)p Fr(,)150 2568 y Fp(dpb)f(\(newbyte,)f(n,)i(b\))g(=)g
3129 (deposit_field)d(\(newbyte)h(<<)h(b.position,)f(n,)i(b\))p
3130 Fr(,)150 2699 y Fp(deposit_field\(newbyte,n,)o(b\))24
3131 b(=)30 b(n)g(^)g(mask_field\(n,b\))c(^)31 b(mask_field\(new_byte,b\))p
3132 Fr(.)-30 2851 y(The)41 b(follo)m(wing)h(op)s(erations)g(on)f(in)m
3133 (tegers)i(as)e(bit)h(strings)f(are)g(e\016cien)m(t)i(shortcuts)e(for)g
3134 (common)f(arithmetic)-30 2961 y(op)s(erations:)-30 3113
3135 y Fp(cl_boolean)28 b(oddp)h(\(const)f(cl_I&)h(x\))450
3136 3222 y Fr(Returns)g(true)i(if)f(the)h(least)g(signi\014can)m(t)g(bit)g
3137 (of)f Fp(x)g Fr(is)h(1.)41 b(Equiv)-5 b(alen)m(t)31 b(to)g
3138 Fp(mod\(x,2\))d(!=)i(0)p Fr(.)-30 3374 y Fp(cl_boolean)e(evenp)h
3139 (\(const)f(cl_I&)h(x\))450 3484 y Fr(Returns)g(true)i(if)f(the)h(least)
3140 g(signi\014can)m(t)g(bit)g(of)f Fp(x)g Fr(is)h(0.)41
3141 b(Equiv)-5 b(alen)m(t)31 b(to)g Fp(mod\(x,2\))d(==)i(0)p
3142 Fr(.)-30 3636 y Fp(cl_I)f(operator)f(<<)i(\(const)f(cl_I&)g(x,)g(const)
3143 g(cl_I&)g(n\))450 3746 y Fr(Shifts)h Fp(x)g Fr(b)m(y)g
3144 Fp(n)g Fr(bits)g(to)h(the)g(left.)41 b Fp(n)30 b Fr(should)g(b)s(e)f
3145 Fp(>)p Fr(=0.)41 b(Equiv)-5 b(alen)m(t)31 b(to)g Fp(x)f(*)g
3146 (expt\(2,n\))p Fr(.)-30 3898 y Fp(cl_I)f(operator)f(>>)i(\(const)f
3147 (cl_I&)g(x,)g(const)g(cl_I&)g(n\))450 4007 y Fr(Shifts)e
3148 Fp(x)g Fr(b)m(y)h Fp(n)f Fr(bits)h(to)g(the)g(righ)m(t.)41
3149 b Fp(n)27 b Fr(should)g(b)s(e)g Fp(>)p Fr(=0.)40 b(Bits)28
3150 b(shifted)g(out)g(to)g(the)g(righ)m(t)g(are)g(thro)m(wn)450
3151 4117 y(a)m(w)m(a)m(y)-8 b(.)43 b(Equiv)-5 b(alen)m(t)31
3152 b(to)g Fp(floor\(x)e(/)h(expt\(2,n\)\))p Fr(.)-30 4269
3153 y Fp(cl_I)f(ash)h(\(const)e(cl_I&)h(x,)h(const)f(cl_I&)g(y\))450
3154 4378 y Fr(Shifts)37 b Fp(x)g Fr(b)m(y)h Fp(y)f Fr(bits)h(to)g(the)g
3155 (left)h(\(if)f Fp(y>)p Fr(=0\))f(or)h(b)m(y)g Fp(-y)f
3156 Fr(bits)g(to)i(the)f(righ)m(t)g(\(if)g Fp(y<)p Fr(=0\).)63
3157 b(In)37 b(other)450 4488 y(w)m(ords,)30 b(this)g(returns)g
3158 Fp(floor\(x)e(*)i(expt\(2,y\)\))p Fr(.)-30 4640 y Fp(uintL)f
3159 (integer_length)d(\(const)j(cl_I&)g(x\))450 4750 y Fr(Returns)44
3160 b(the)i(n)m(um)m(b)s(er)d(of)j(bits)f(\(excluding)h(the)g(sign)f(bit\))
3161 h(needed)f(to)h(represen)m(t)f Fp(x)g Fr(in)g(t)m(w)m(o's)450
3162 4859 y(complemen)m(t)31 b(notation.)45 b(This)30 b(is)i(the)g(smallest)
3163 f(n)g Fp(>)p Fr(=)g(0)h(suc)m(h)f(that)h(-2)p Fp(^)p
3164 Fr(n)f Fp(<)p Fr(=)g(x)g Fp(<)g Fr(2)p Fp(^)p Fr(n.)44
3165 b(If)31 b(x)g Fp(>)g Fr(0,)450 4969 y(this)f(is)h(the)f(unique)g(n)g
3166 Fp(>)g Fr(0)g(suc)m(h)g(that)h(2)p Fp(^)p Fr(\(n-1\))h
3167 Fp(<)p Fr(=)e(x)g Fp(<)g Fr(2)p Fp(^)p Fr(n.)-30 5121
3168 y Fp(uintL)f(ord2)g(\(const)g(cl_I&)g(x\))450 5230 y(x)e
3169 Fr(m)m(ust)f(b)s(e)h(non-zero.)40 b(This)27 b(function)g(returns)f(the)
3170 i(n)m(um)m(b)s(er)d(of)j(0)g(bits)f(at)h(the)g(righ)m(t)g(of)f
3171 Fp(x)g Fr(in)g(t)m(w)m(o's)450 5340 y(complemen)m(t)j(notation.)42
3172 b(This)29 b(is)i(the)f(largest)i(n)e Fp(>)p Fr(=)f(0)i(suc)m(h)f(that)h
3173 (2)p Fp(^)p Fr(n)f(divides)g Fp(x)p Fr(.)p eop
3174 %%Page: 23 25
3175 23 24 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
3176 b(on)f(n)m(um)m(b)s(ers)2523 b(23)-30 299 y Fp(uintL)29
3177 b(power2p)f(\(const)h(cl_I&)g(x\))450 408 y(x)f Fr(m)m(ust)e(b)s(e)i
3178 Fp(>)f Fr(0.)41 b(This)27 b(function)g(c)m(hec)m(ks)j(whether)d
3179 Fp(x)h Fr(is)g(a)g(p)s(o)m(w)m(er)g(of)g(2.)40 b(If)28
3180 b Fp(x)f Fr(=)h(2)p Fp(^)p Fr(\(n-1\),)i(it)e(returns)450
3181 518 y(n.)40 b(Else)31 b(it)g(returns)e(0.)41 b(\(See)31
3182 b(also)g(the)g(function)f Fp(logp)p Fr(.\))-30 736 y
3183 Fn(4.9.2)63 b(Num)m(b)s(er)40 b(theoretic)h(functions)-30
3184 949 y Fp(uint32)29 b(gcd)g(\(uint32)g(a,)g(uint32)g(b\))-30
3185 1058 y(cl_I)g(gcd)h(\(const)e(cl_I&)h(a,)h(const)f(cl_I&)g(b\))450
3186 1168 y Fr(This)h(function)g(returns)f(the)h(greatest)j(common)28
3187 b(divisor)i(of)h Fp(a)f Fr(and)g Fp(b)p Fr(,)g(normalized)g(to)h(b)s(e)
3188 f Fp(>)p Fr(=)f(0.)-30 1323 y Fp(cl_I)g(xgcd)g(\(const)g(cl_I&)g(a,)h
3189 (const)f(cl_I&)g(b,)g(cl_I*)g(u,)h(cl_I*)f(v\))450 1433
3190 y Fr(This)34 b(function)h(\(\\extended)h(gcd"\))g(returns)e(the)h
3191 (greatest)i(common)d(divisor)h Fp(g)f Fr(of)i Fp(a)e
3192 Fr(and)h Fp(b)g Fr(and)450 1542 y(at)30 b(the)g(same)f(time)g(the)h
3193 (represen)m(tation)g(of)g Fp(g)f Fr(as)h(an)g(in)m(tegral)h(linear)f
3194 (com)m(bination)g(of)f Fp(a)g Fr(and)g Fp(b)p Fr(:)40
3195 b Fp(u)450 1652 y Fr(and)32 b Fp(v)g Fr(with)g Fp(u*a+v*b)d(=)h(g)p
3196 Fr(,)j Fp(g)f(>)p Fr(=)g(0.)48 b Fp(u)32 b Fr(and)g Fp(v)g
3197 Fr(will)h(b)s(e)f(normalized)g(to)h(b)s(e)f(of)h(smallest)f(p)s
3198 (ossible)450 1761 y(absolute)d(v)-5 b(alue,)29 b(in)e(the)h(follo)m
3199 (wing)h(sense:)40 b(If)27 b Fp(a)h Fr(and)f Fp(b)g Fr(are)i(non-zero,)g
3200 (and)e Fp(abs\(a\))i(!=)g(abs\(b\))p Fr(,)e Fp(u)450
3201 1871 y Fr(and)j Fp(v)g Fr(will)h(satisfy)f(the)h(inequalities)h
3202 Fp(abs\(u\))c(<=)i(abs\(b\)/\(2*g\))p Fr(,)d Fp(abs\(v\))i(<=)h
3203 (abs\(a\)/\(2*g\))p Fr(.)-30 2026 y Fp(cl_I)f(lcm)h(\(const)e(cl_I&)h
3204 (a,)h(const)f(cl_I&)g(b\))450 2136 y Fr(This)h(function)g(returns)f
3205 (the)h(least)i(common)d(m)m(ultiple)h(of)g Fp(a)g Fr(and)g
3206 Fp(b)p Fr(,)g(normalized)g(to)h(b)s(e)f Fp(>)p Fr(=)g(0.)-30
3207 2291 y Fp(cl_boolean)e(logp)h(\(const)f(cl_I&)h(a,)h(const)f(cl_I&)g
3208 (b,)h(cl_RA*)e(l\))-30 2400 y(cl_boolean)g(logp)h(\(const)f(cl_RA&)h
3209 (a,)h(const)f(cl_RA&)f(b,)i(cl_RA*)f(l\))450 2510 y(a)38
3210 b Fr(m)m(ust)g(b)s(e)f Fp(>)i Fr(0.)65 b Fp(b)38 b Fr(m)m(ust)f(b)s(e)h
3211 Fp(>)p Fr(0)h(and)f(!=)g(1.)66 b(If)38 b(log\(a,b\))i(is)f(rational)g
3212 (n)m(um)m(b)s(er,)g(this)f(function)450 2619 y(returns)29
3213 b(true)h(and)g(sets)h(*l)g(=)f(log\(a,b\),)j(else)e(it)g(returns)e
3214 (false.)-30 2837 y Fn(4.9.3)63 b(Com)m(binatorial)40
3215 b(functions)-30 3050 y Fp(cl_I)29 b(factorial)f(\(uintL)h(n\))450
3216 3160 y(n)h Fr(m)m(ust)f(b)s(e)h(a)h(small)f(in)m(teger)h
3217 Fp(>)p Fr(=)f(0.)41 b(This)30 b(function)g(returns)f(the)i(factorial)h
3218 Fp(n)p Fr(!)40 b(=)30 b Fp(1*2*...)n(*n)p Fr(.)-30 3315
3219 y Fp(cl_I)f(doublefactorial)d(\(uintL)j(n\))450 3425
3220 y(n)48 b Fr(m)m(ust)e(b)s(e)i(a)g(small)f(in)m(teger)j
3221 Fp(>)p Fr(=)d(0.)94 b(This)47 b(function)h(returns)e(the)i
3222 (doublefactorial)i Fp(n)p Fr(!!)93 b(=)450 3534 y Fp(1*3*...)n(*n)30
3223 b Fr(or)g Fp(n)p Fr(!!)41 b(=)30 b Fp(2*4*...)n(*n)p
3224 Fr(,)g(resp)s(ectiv)m(ely)-8 b(.)-30 3689 y Fp(cl_I)29
3225 b(binomial)f(\(uintL)h(n,)h(uintL)f(k\))450 3799 y(n)40
3226 b Fr(and)g Fp(k)g Fr(m)m(ust)g(b)s(e)f(small)h(in)m(tegers)i
3227 Fp(>)p Fr(=)e(0.)71 b(This)40 b(function)g(returns)g(the)g(binomial)g
3228 (co)s(e\016cien)m(t)450 3839 y Fk(\000)488 3868 y Fj(n)490
3229 3940 y(k)529 3839 y Fk(\001)592 3908 y Fr(=)798 3873
3230 y Fj(n)p Fi(!)p 698 3888 261 4 v 698 3940 a Fj(n)p Fi(!\()p
3231 Fj(n)p Fh(\000)p Fj(k)q Fi(\)!)999 3908 y Fr(for)30 b(0)h
3232 Fp(<)p Fr(=)e(k)i Fp(<)p Fr(=)e(n,)h(0)h(else.)-30 4159
3233 y Fs(4.10)68 b(F)-11 b(unctions)44 b(on)h(\015oating-p)t(oin)l(t)h(n)l
3234 (um)l(b)t(ers)-30 4350 y Fr(Recall)31 b(that)f(a)f(\015oating-p)s(oin)m
3235 (t)i(n)m(um)m(b)s(er)c(consists)j(of)f(a)h(sign)f Fp(s)p
3236 Fr(,)h(an)f(exp)s(onen)m(t)g Fp(e)g Fr(and)g(a)g(man)m(tissa)h
3237 Fp(m)p Fr(.)40 b(The)28 b(v)-5 b(alue)-30 4459 y(of)31
3238 b(the)f(n)m(um)m(b)s(er)e(is)j Fp(\(-1\)^s)d(*)i(2^e)g(*)g(m)p
3239 Fr(.)-30 4592 y(Eac)m(h)h(of)g(the)f(classes)i Fp(cl_F)p
3240 Fr(,)d Fp(cl_SF)p Fr(,)g Fp(cl_FF)p Fr(,)g Fp(cl_DF)p
3241 Fr(,)h Fp(cl_LF)e Fr(de\014nes)i(the)h(follo)m(wing)g(op)s(erations.)
3242 -30 4747 y Fl(t)m(yp)s(e)36 b Fp(scale_float)27 b(\(const)i
3243 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(sintL)f(delta\))-30
3244 4856 y Fl(t)m(yp)s(e)36 b Fp(scale_float)27 b(\(const)i
3245 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(const)f(cl_I&)g(delta\))450
3246 4966 y Fr(Returns)40 b Fp(x*2^delta)p Fr(.)70 b(This)40
3247 b(is)h(more)f(e\016cien)m(t)j(than)d(an)h(explicit)i(m)m(ultiplication)
3248 e(b)s(ecause)g(it)450 5075 y(copies)31 b Fp(x)f Fr(and)g(mo)s(di\014es)
3249 f(the)h(exp)s(onen)m(t.)-30 5230 y(The)36 b(follo)m(wing)j(functions)d
3250 (pro)m(vide)h(an)g(abstract)h(in)m(terface)g(to)g(the)f(underlying)f
3251 (represen)m(tation)i(of)f(\015oating-)-30 5340 y(p)s(oin)m(t)30
3252 b(n)m(um)m(b)s(ers.)p eop
3253 %%Page: 24 26
3254 24 25 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
3255 b(on)f(n)m(um)m(b)s(ers)2523 b(24)-30 299 y Fp(sintL)29
3256 b(float_exponent)d(\(const)j Fl(t)m(yp)s(e)5 b Fp(&)30
3257 b(x\))450 408 y Fr(Returns)j(the)g(exp)s(onen)m(t)h Fp(e)f
3258 Fr(of)h Fp(x)p Fr(.)50 b(F)-8 b(or)34 b Fp(x)c(=)g(0.0)p
3259 Fr(,)k(this)f(is)h(0.)50 b(F)-8 b(or)35 b Fp(x)e Fr(non-zero,)i(this)f
3260 (is)f(the)h(unique)450 518 y(in)m(teger)e(with)e Fp(2^\(e-1\))e(<=)i
3261 (abs\(x\))f(<)h(2^e)p Fr(.)-30 701 y Fp(sintL)f(float_radix)e(\(const)i
3262 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 811 y Fr(Returns)f(the)i(base)g(of)
3263 f(the)h(\015oating-p)s(oin)m(t)g(represen)m(tation.)42
3264 b(This)30 b(is)g(alw)m(a)m(ys)i Fp(2)p Fr(.)-30 994 y
3265 Fl(t)m(yp)s(e)k Fp(float_sign)27 b(\(const)i Fl(t)m(yp)s(e)5
3266 b Fp(&)30 b(x\))450 1103 y Fr(Returns)f(the)i(sign)f
3267 Fp(s)g Fr(of)h Fp(x)f Fr(as)h(a)f(\015oat.)42 b(The)30
3268 b(v)-5 b(alue)31 b(is)f(1)h(for)f Fp(x)g(>)p Fr(=)g(0,)h(-1)g(for)f
3269 Fp(x)g(<)g Fr(0.)-30 1287 y Fp(uintL)f(float_digits)e(\(const)i
3270 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 1396 y Fr(Returns)f(the)h(n)m(um)m
3271 (b)s(er)e(of)i(man)m(tissa)g(bits)g(in)g(the)g(\015oating-p)s(oin)m(t)h
3272 (represen)m(tation)g(of)f Fp(x)p Fr(,)g(including)450
3273 1506 y(the)h(hidden)e(bit.)40 b(The)30 b(v)-5 b(alue)31
3274 b(only)g(dep)s(ends)d(on)i(the)h(t)m(yp)s(e)f(of)h Fp(x)p
3275 Fr(,)f(not)h(on)f(its)h(v)-5 b(alue.)-30 1689 y Fp(uintL)29
3276 b(float_precision)d(\(const)j Fl(t)m(yp)s(e)5 b Fp(&)30
3277 b(x\))450 1798 y Fr(Returns)c(the)h(n)m(um)m(b)s(er)d(of)j
3278 (signi\014can)m(t)h(man)m(tissa)f(bits)g(in)f(the)h(\015oating-p)s(oin)
3279 m(t)h(represen)m(tation)g(of)f Fp(x)p Fr(.)450 1908 y(Since)j
3280 (denormalized)e(n)m(um)m(b)s(ers)g(are)h(not)h(supp)s(orted,)e(this)i
3281 (is)f(the)h(same)f(as)h Fp(float_digits\(x\))25 b Fr(if)450
3282 2018 y Fp(x)30 b Fr(is)g(non-zero,)i(and)d(0)i(if)f Fp(x)h
3283 Fr(=)f(0.)-30 2213 y(The)f(complete)g(in)m(ternal)h(represen)m(tation)h
3284 (of)e(a)g(\015oat)h(is)g(enco)s(ded)e(in)h(the)h(t)m(yp)s(e)f
3285 Fp(decoded_float)d Fr(\(or)j Fp(decoded_)-30 2322 y(sfloat)p
3286 Fr(,)g Fp(decoded_ffloat)p Fr(,)e Fp(decoded_dfloat)p
3287 Fr(,)f Fp(decoded_lfloat)p Fr(,)h(resp)s(ectiv)m(ely\),)32
3288 b(de\014ned)e(b)m(y)210 2475 y Fp(struct)46 b(decoded_)p
3289 Fl(t)m(yp)s(e)5 b Fp(float)45 b({)592 2578 y Fl(t)m(yp)s(e)53
3290 b Fp(mantissa;)45 b(cl_I)i(exponent;)e Fl(t)m(yp)s(e)53
3291 b Fp(sign;)210 2682 y(};)-30 2840 y Fr(and)30 b(returned)f(b)m(y)h(the)
3292 h(function)-30 3035 y Fp(decoded_)p Fl(t)m(yp)s(e)5 b
3293 Fp(float)27 b(decode_float)g(\(const)i Fl(t)m(yp)s(e)5
3294 b Fp(&)30 b(x\))450 3145 y Fr(F)-8 b(or)26 b Fp(x)e Fr(non-zero,)j
3295 (this)d(returns)g Fp(\(-1\)^s)p Fr(,)h Fp(e)p Fr(,)g
3296 Fp(m)g Fr(with)f Fp(x)30 b(=)g(\(-1\)^s)f(*)h(2^e)g(*)g(m)24
3297 b Fr(and)g Fp(0.5)30 b(<=)g(m)g(<)g(1.0)p Fr(.)450 3255
3298 y(F)-8 b(or)35 b Fp(x)f Fr(=)h(0,)h(it)f(returns)e Fp(\(-1\)^s)p
3299 Fr(=1,)h Fp(e)p Fr(=0,)i Fp(m)p Fr(=0.)53 b Fp(e)34 b
3300 Fr(is)g(the)h(same)f(as)h(returned)e(b)m(y)i(the)f(function)450
3301 3364 y Fp(float_exponent)p Fr(.)-30 3559 y(A)c(complete)h(deco)s(ding)g
3302 (in)f(terms)f(of)i(in)m(tegers)g(is)g(pro)m(vided)f(as)g(t)m(yp)s(e)210
3303 3712 y Fp(struct)46 b(cl_idecoded_float)d({)592 3815
3304 y(cl_I)j(mantissa;)g(cl_I)g(exponent;)g(cl_I)g(sign;)210
3305 3919 y(};)-30 4077 y Fr(b)m(y)30 b(the)h(follo)m(wing)h(function:)-30
3306 4272 y Fp(cl_idecoded_float)26 b(integer_decode_float)e(\(const)29
3307 b Fl(t)m(yp)s(e)5 b Fp(&)31 b(x\))450 4382 y Fr(F)-8
3308 b(or)38 b Fp(x)e Fr(non-zero,)k(this)d(returns)f Fp(\(-1\)^s)p
3309 Fr(,)h Fp(e)p Fr(,)h Fp(m)f Fr(with)g Fp(x)30 b(=)g(\(-1\)^s)e(*)i(2^e)
3310 g(*)g(m)37 b Fr(and)f Fp(m)h Fr(an)g(in)m(teger)450 4491
3311 y(with)e Fp(float_digits\(x\))30 b Fr(bits.)54 b(F)-8
3312 b(or)36 b Fp(x)e Fr(=)h(0,)h(it)g(returns)d Fp(\(-1\)^s)p
3313 Fr(=1,)i Fp(e)p Fr(=0,)h Fp(m)p Fr(=0.)54 b(W)-10 b(ARNING:)450
3314 4601 y(The)27 b(exp)s(onen)m(t)h Fp(e)f Fr(is)h(not)f(the)h(same)f(as)h
3315 (the)g(one)g(returned)e(b)m(y)h(the)h(functions)f Fp(decode_float)e
3316 Fr(and)450 4711 y Fp(float_exponent)p Fr(.)-30 4906 y(Some)k(other)i
3317 (function,)f(implemen)m(ted)f(only)i(for)f(class)h Fp(cl_F)p
3318 Fr(:)-30 5101 y Fp(cl_F)e(float_sign)f(\(const)g(cl_F&)h(x,)h(const)f
3319 (cl_F&)g(y\))450 5210 y Fr(This)d(returns)g(a)i(\015oating)g(p)s(oin)m
3320 (t)f(n)m(um)m(b)s(er)e(whose)h(precision)i(and)e(absolute)i(v)-5
3321 b(alue)28 b(is)f(that)h(of)f Fp(y)g Fr(and)450 5320 y(whose)j(sign)h
3322 (is)f(that)h(of)f Fp(x)p Fr(.)41 b(If)30 b Fp(x)g Fr(is)g(zero,)i(it)f
3323 (is)f(treated)h(as)g(p)s(ositiv)m(e.)42 b(Same)29 b(for)h
3324 Fp(y)p Fr(.)p eop
3325 %%Page: 25 27
3326 25 26 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
3327 b(on)f(n)m(um)m(b)s(ers)2523 b(25)-30 299 y Fs(4.11)68
3328 b(Con)l(v)l(ersion)46 b(functions)-30 612 y Fn(4.11.1)63
3329 b(Con)m(v)m(ersion)41 b(to)g(\015oating-p)s(oin)m(t)h(n)m(um)m(b)s(ers)
3330 -30 821 y Fr(The)30 b(t)m(yp)s(e)g Fp(cl_float_format_t)c
3331 Fr(describ)s(es)k(a)g(\015oating-p)s(oin)m(t)i(format.)-30
3332 1003 y Fp(cl_float_format_t)26 b(cl_float_format)g(\(uintL)j(n\))450
3333 1113 y Fr(Returns)45 b(the)g(smallest)h(\015oat)g(format)f(whic)m(h)h
3334 (guaran)m(tees)g(at)h(least)g Fp(n)e Fr(decimal)g(digits)h(in)g(the)450
3335 1222 y(man)m(tissa)30 b(\(after)i(the)e(decimal)g(p)s(oin)m(t\).)-30
3336 1397 y Fp(cl_float_format_t)c(cl_float_format)g(\(const)j(cl_F&)f(x\))
3337 450 1507 y Fr(Returns)h(the)i(\015oating)g(p)s(oin)m(t)g(format)e(of)i
3338 Fp(x)p Fr(.)-30 1682 y Fp(cl_float_format_t)26 b(default_float_format)
3339 450 1792 y Fr(Global)d(v)-5 b(ariable:)37 b(the)23 b(default)f(\015oat)
3340 g(format)g(used)f(when)g(con)m(v)m(erting)j(rational)f(n)m(um)m(b)s
3341 (ers)c(to)k(\015oats.)-30 1974 y(T)-8 b(o)30 b(con)m(v)m(ert)h(a)f
3342 (real)g(n)m(um)m(b)s(er)d(to)j(a)g(\015oat,)g(eac)m(h)h(of)e(the)h(t)m
3343 (yp)s(es)f Fp(cl_R)p Fr(,)g Fp(cl_F)p Fr(,)f Fp(cl_I)p
3344 Fr(,)h Fp(cl_RA)p Fr(,)g Fp(int)p Fr(,)f Fp(unsigned)h(int)p
3345 Fr(,)-30 2084 y Fp(float)p Fr(,)g Fp(double)g Fr(de\014nes)g(the)i
3346 (follo)m(wing)h(op)s(erations:)-30 2267 y Fp(cl_F)d(cl_float)f(\(const)
3347 h Fl(t)m(yp)s(e)5 b Fp(&x,)30 b(cl_float_format_t)25
3348 b(f\))450 2376 y Fr(Returns)k Fp(x)h Fr(as)h(a)g(\015oat)g(of)f(format)
3349 g Fp(f)p Fr(.)-30 2551 y Fp(cl_F)f(cl_float)f(\(const)h
3350 Fl(t)m(yp)s(e)5 b Fp(&x,)30 b(const)f(cl_F&)g(y\))450
3351 2661 y Fr(Returns)g Fp(x)h Fr(in)h(the)f(\015oat)h(format)f(of)g
3352 Fp(y)p Fr(.)-30 2836 y Fp(cl_F)f(cl_float)f(\(const)h
3353 Fl(t)m(yp)s(e)5 b Fp(&x\))450 2945 y Fr(Returns)24 b
3354 Fp(x)g Fr(as)h(a)g(\015oat)h(of)f(format)f Fp(default_float_format)19
3355 b Fr(if)24 b(it)i(is)e(an)h(exact)h(n)m(um)m(b)s(er,)e(or)h
3356 Fp(x)f Fr(itself)450 3055 y(if)30 b(it)h(is)g(already)g(a)f(\015oat.)
3357 -30 3238 y(Of)g(course,)h(con)m(v)m(erting)h(a)f(n)m(um)m(b)s(er)d(to)j
3358 (a)f(\015oat)i(can)e(lose)h(precision.)-30 3388 y(Ev)m(ery)g
3359 (\015oating-p)s(oin)m(t)g(format)f(has)g(some)g(c)m(haracteristic)j(n)m
3360 (um)m(b)s(ers:)-30 3571 y Fp(cl_F)c(most_positive_float)c
3361 (\(cl_float_format_t)h(f\))450 3680 y Fr(Returns)j(the)i(largest)h
3362 (\(most)e(p)s(ositiv)m(e\))i(\015oating)f(p)s(oin)m(t)f(n)m(um)m(b)s
3363 (er)e(in)i(\015oat)h(format)f Fp(f)p Fr(.)-30 3855 y
3364 Fp(cl_F)f(most_negative_float)c(\(cl_float_format_t)h(f\))450
3365 3965 y Fr(Returns)j(the)i(smallest)g(\(most)f(negativ)m(e\))j
3366 (\015oating)e(p)s(oin)m(t)f(n)m(um)m(b)s(er)e(in)i(\015oat)h(format)f
3367 Fp(f)p Fr(.)-30 4140 y Fp(cl_F)f(least_positive_float)c
3368 (\(cl_float_format_t)g(f\))450 4249 y Fr(Returns)g(the)h(least)h(p)s
3369 (ositiv)m(e)g(\015oating)g(p)s(oin)m(t)e(n)m(um)m(b)s(er)f(\(i.e.)40
3370 b Fp(>)26 b Fr(0)g(but)f(closest)i(to)g(0\))g(in)e(\015oat)i(format)450
3371 4359 y Fp(f)p Fr(.)-30 4534 y Fp(cl_F)i(least_negative_float)c
3372 (\(cl_float_format_t)g(f\))450 4644 y Fr(Returns)e(the)i(least)h
3373 (negativ)m(e)g(\015oating)g(p)s(oin)m(t)e(n)m(um)m(b)s(er)e(\(i.e.)40
3374 b Fp(<)24 b Fr(0)h(but)e(closest)j(to)f(0\))g(in)g(\015oat)g(format)450
3375 4753 y Fp(f)p Fr(.)-30 4928 y Fp(cl_F)k(float_epsilon)e
3376 (\(cl_float_format_t)e(f\))450 5038 y Fr(Returns)k(the)i(smallest)g
3377 (\015oating)g(p)s(oin)m(t)f(n)m(um)m(b)s(er)e(e)j Fp(>)f
3378 Fr(0)h(suc)m(h)f(that)h Fp(1+e)e(!=)h(1)p Fr(.)-30 5213
3379 y Fp(cl_F)f(float_negative_epsilon)24 b(\(cl_float_format_t)i(f\))450
3380 5322 y Fr(Returns)j(the)i(smallest)g(\015oating)g(p)s(oin)m(t)f(n)m(um)
3381 m(b)s(er)e(e)j Fp(>)f Fr(0)h(suc)m(h)f(that)h Fp(1-e)e(!=)h(1)p
3382 Fr(.)p eop
3383 %%Page: 26 28
3384 26 27 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
3385 b(on)f(n)m(um)m(b)s(ers)2523 b(26)-30 299 y Fn(4.11.2)63
3386 b(Con)m(v)m(ersion)41 b(to)g(rational)g(n)m(um)m(b)s(ers)-30
3387 488 y Fr(Eac)m(h)31 b(of)g(the)f(classes)i Fp(cl_R)p
3388 Fr(,)d Fp(cl_RA)p Fr(,)g Fp(cl_F)g Fr(de\014nes)h(the)g(follo)m(wing)i
3389 (op)s(eration:)-30 639 y Fp(cl_RA)d(rational)f(\(const)h
3390 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 749 y Fr(Returns)j(the)h(v)-5
3391 b(alue)35 b(of)f Fp(x)f Fr(as)h(an)g(exact)i(n)m(um)m(b)s(er.)49
3392 b(If)33 b Fp(x)h Fr(is)g(already)g(an)g(exact)h(n)m(um)m(b)s(er,)e
3393 (this)h(is)g Fp(x)p Fr(.)450 858 y(If)g Fp(x)g Fr(is)g(a)g
3394 (\015oating-p)s(oin)m(t)i(n)m(um)m(b)s(er,)d(the)h(v)-5
3395 b(alue)35 b(is)f(a)h(rational)g(n)m(um)m(b)s(er)d(whose)i(denominator)f
3396 (is)i(a)450 968 y(p)s(o)m(w)m(er)30 b(of)h(2.)-30 1119
3397 y(In)f(order)g(to)h(con)m(v)m(ert)h(bac)m(k,)f(sa)m(y)-8
3398 b(,)32 b Fp(\(cl_F\)\(cl_R\)"1/3")25 b Fr(to)31 b Fp(1/3)p
3399 Fr(,)f(there)h(is)f(the)h(function)-30 1271 y Fp(cl_RA)e(rationalize)e
3400 (\(const)i(cl_R&)g(x\))450 1380 y Fr(If)36 b Fp(x)f Fr(is)h(a)h
3401 (\015oating-p)s(oin)m(t)g(n)m(um)m(b)s(er,)f(it)g(actually)i(represen)m
3402 (ts)e(an)g(in)m(terv)-5 b(al)37 b(of)f(real)h(n)m(um)m(b)s(ers,)f(and)
3403 450 1490 y(this)d(function)g(returns)e(the)i(rational)i(n)m(um)m(b)s
3404 (er)30 b(with)j(smallest)g(denominator)f(\(and)h(smallest)g(n)m(u-)450
3405 1600 y(merator,)e(in)f(magnitude\))g(whic)m(h)g(lies)i(in)e(this)h(in)m
3406 (terv)-5 b(al.)42 b(If)30 b Fp(x)h Fr(is)f(already)i(an)e(exact)i(n)m
3407 (um)m(b)s(er,)d(this)450 1709 y(function)h(returns)f
3408 Fp(x)p Fr(.)-30 1861 y(If)h Fp(x)g Fr(is)g(an)m(y)h(\015oat,)g(one)g
3409 (has)150 1991 y Fp(cl_float\(rational\(x\),x\))24 b(=)30
3410 b(x)150 2122 y(cl_float\(rationalize\(x\),)o(x\))24 b(=)30
3411 b(x)-30 2367 y Fs(4.12)68 b(Random)46 b(n)l(um)l(b)t(er)e(generators)
3412 -30 2556 y Fr(A)j(random)e(generator)j(is)f(a)h(mac)m(hine)e(whic)m(h)h
3413 (pro)s(duces)e(\(pseudo-\)random)h(n)m(um)m(b)s(ers.)88
3414 b(The)46 b(include)h(\014le)-30 2666 y Fp(<cln/random.h>)40
3415 b Fr(de\014nes)j(a)h(class)h Fp(random_state)c Fr(whic)m(h)i(con)m
3416 (tains)j(the)e(state)h(of)f(a)g(random)f(generator.)-30
3417 2775 y(If)29 b(y)m(ou)g(mak)m(e)g(a)g(cop)m(y)h(of)f(the)h(random)d(n)m
3418 (um)m(b)s(er)g(generator,)j(the)g(original)g(one)f(and)f(the)i(cop)m(y)
3419 f(will)h(pro)s(duce)e(the)-30 2885 y(same)i(sequence)h(of)f(random)f(n)
3420 m(um)m(b)s(ers.)-30 3015 y(The)j(follo)m(wing)i(functions)d(return)h
3421 (\(pseudo-\)random)e(n)m(um)m(b)s(ers)g(in)i(di\013eren)m(t)h(formats.)
3422 45 b(Calling)33 b(one)g(of)f(these)-30 3125 y(mo)s(di\014es)d(the)h
3423 (state)i(of)e(the)h(random)e(n)m(um)m(b)s(er)f(generator)j(in)f(a)h
3424 (complicated)g(but)f(deterministic)g(w)m(a)m(y)-8 b(.)-30
3425 3255 y(The)30 b(global)i(v)-5 b(ariable)210 3380 y Fp(random_state)44
3426 b(default_random_state)-30 3511 y Fr(con)m(tains)29 b(a)f(default)f
3427 (random)f(n)m(um)m(b)s(er)f(generator.)41 b(It)28 b(is)f(used)g(when)g
3428 (the)g(functions)h(b)s(elo)m(w)f(are)h(called)h(without)-30
3429 3620 y Fp(random_state)e Fr(argumen)m(t.)-30 3772 y Fp(uint32)i
3430 (random32)f(\(random_state&)e(randomstate\))-30 3881
3431 y(uint32)j(random32)f(\(\))450 3991 y Fr(Returns)h(a)i(random)e
3432 (unsigned)g(32-bit)j(n)m(um)m(b)s(er.)38 b(All)31 b(bits)f(are)h
3433 (equally)g(random.)-30 4143 y Fp(cl_I)e(random_I)f(\(random_state&)f
3434 (randomstate,)g(const)i(cl_I&)g(n\))-30 4252 y(cl_I)g(random_I)f
3435 (\(const)h(cl_I&)g(n\))450 4362 y(n)i Fr(m)m(ust)e(b)s(e)h(an)h(in)m
3436 (teger)h Fp(>)f Fr(0.)42 b(This)31 b(function)f(returns)g(a)h(random)e
3437 (in)m(teger)j Fp(x)f Fr(in)f(the)h(range)g Fp(0)g(<=)e(x)450
3438 4471 y(<)h(n)p Fr(.)-30 4623 y Fp(cl_F)f(random_F)f(\(random_state&)f
3439 (randomstate,)g(const)i(cl_F&)g(n\))-30 4732 y(cl_F)g(random_F)f
3440 (\(const)h(cl_F&)g(n\))450 4842 y(n)d Fr(m)m(ust)f(b)s(e)h(a)h(\015oat)
3441 g Fp(>)f Fr(0.)40 b(This)26 b(function)g(returns)f(a)i(random)d
3442 (\015oating-p)s(oin)m(t)k(n)m(um)m(b)s(er)c(of)j(the)g(same)450
3443 4952 y(format)j(as)g Fp(n)g Fr(in)g(the)h(range)g Fp(0)f(<=)f(x)i(<)f
3444 (n)p Fr(.)-30 5103 y Fp(cl_R)f(random_R)f(\(random_state&)f
3445 (randomstate,)g(const)i(cl_R&)g(n\))-30 5213 y(cl_R)g(random_R)f
3446 (\(const)h(cl_R&)g(n\))450 5322 y Fr(Beha)m(v)m(es)j(lik)m(e)g
3447 Fp(random_I)c Fr(if)i Fp(n)g Fr(is)h(an)f(in)m(teger)i(and)e(lik)m(e)h
3448 Fp(random_F)d Fr(if)j Fp(n)f Fr(is)g(a)h(\015oat.)p eop
3449 %%Page: 27 29
3450 27 28 bop -30 -116 a Fr(Chapter)30 b(4:)41 b(F)-8 b(unctions)31
3451 b(on)f(n)m(um)m(b)s(ers)2523 b(27)-30 299 y Fs(4.13)68
3452 b(Obfuscating)46 b(op)t(erators)-30 491 y Fr(The)36 b(mo)s(difying)g
3453 (C/C)p Fp(++)g Fr(op)s(erators)h Fp(+=)p Fr(,)h Fp(-=)p
3454 Fr(,)g Fp(*=)p Fr(,)g Fp(/=)p Fr(,)g Fp(&=)p Fr(,)g Fp(|=)p
3455 Fr(,)g Fp(^=)p Fr(,)h Fp(<<=)p Fr(,)e Fp(>>=)f Fr(are)i(not)f(a)m(v)-5
3456 b(ailable)39 b(b)m(y)e(default)-30 601 y(b)s(ecause)45
3457 b(their)f(use)g(tends)h(to)g(mak)m(e)g(programs)e(unreadable.)83
3458 b(It)44 b(is)h(trivial)h(to)f(get)h(a)m(w)m(a)m(y)g(without)f(them.)-30
3459 711 y(Ho)m(w)m(ev)m(er,)33 b(if)d(y)m(ou)h(feel)g(that)g(y)m(ou)g
3460 (absolutely)g(need)f(these)h(op)s(erators)f(to)h(get)h(happ)m(y)-8
3461 b(,)30 b(then)g(add)210 839 y Fp(#define)46 b(WANT_OBFUSCATING_OPERATO)
3462 o(RS)-30 974 y Fr(to)37 b(the)g(b)s(eginning)f(of)h(y)m(our)g(source)g
3463 (\014les,)h(b)s(efore)f(the)g(inclusion)f(of)h(an)m(y)g(CLN)f(include)h
3464 (\014les.)60 b(This)36 b(\015ag)h(will)-30 1083 y(enable)31
3465 b(the)f(follo)m(wing)i(op)s(erators:)-30 1218 y(F)-8
3466 b(or)31 b(the)g(classes)g Fp(cl_N)p Fr(,)f Fp(cl_R)p
3467 Fr(,)f Fp(cl_RA)p Fr(,)g Fp(cl_F)p Fr(,)h Fp(cl_SF)p
3468 Fr(,)f Fp(cl_FF)p Fr(,)g Fp(cl_DF)p Fr(,)g Fp(cl_LF)p
3469 Fr(:)-30 1377 y Fl(t)m(yp)s(e)5 b Fp(&)30 b(operator)e(+=)i(\()p
3470 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3471 b Fp(&\))-30 1487 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(-=)i(\()p
3472 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3473 b Fp(&\))-30 1597 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(*=)i(\()p
3474 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3475 b Fp(&\))-30 1706 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(/=)i(\()p
3476 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3477 b Fp(&\))-30 1841 y Fr(F)-8 b(or)31 b(the)g(class)g Fp(cl_I)p
3478 Fr(:)-30 2000 y Fl(t)m(yp)s(e)5 b Fp(&)30 b(operator)e(+=)i(\()p
3479 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3480 b Fp(&\))-30 2110 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(-=)i(\()p
3481 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3482 b Fp(&\))-30 2219 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(*=)i(\()p
3483 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3484 b Fp(&\))-30 2329 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(&=)i(\()p
3485 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3486 b Fp(&\))-30 2438 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(|=)i(\()p
3487 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3488 b Fp(&\))-30 2548 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(^=)i(\()p
3489 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3490 b Fp(&\))-30 2658 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(<<=)i(\()p
3491 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3492 b Fp(&\))-30 2767 y Fl(t)m(yp)s(e)g Fp(&)30 b(operator)e(>>=)i(\()p
3493 Fl(t)m(yp)s(e)5 b Fp(&,)30 b(const)f Fl(t)m(yp)s(e)5
3494 b Fp(&\))-30 2902 y Fr(F)-8 b(or)31 b(the)g(classes)g
3495 Fp(cl_N)p Fr(,)f Fp(cl_R)p Fr(,)f Fp(cl_RA)p Fr(,)g Fp(cl_I)p
3496 Fr(,)h Fp(cl_F)p Fr(,)f Fp(cl_SF)p Fr(,)g Fp(cl_FF)p
3497 Fr(,)h Fp(cl_DF)p Fr(,)f Fp(cl_LF)p Fr(:)-30 3061 y Fl(t)m(yp)s(e)5
3498 b Fp(&)30 b(operator)e(++)i(\()p Fl(t)m(yp)s(e)5 b Fp(&)30
3499 b(x\))450 3171 y Fr(The)g(pre\014x)f(op)s(erator)i Fp(++x)p
3500 Fr(.)-30 3330 y Fp(void)e(operator)f(++)i(\()p Fl(t)m(yp)s(e)5
3501 b Fp(&)30 b(x,)g(int\))450 3440 y Fr(The)g(p)s(ost\014x)f(op)s(erator)i
3502 Fp(x++)p Fr(.)-30 3599 y Fl(t)m(yp)s(e)5 b Fp(&)30 b(operator)e(--)i
3503 (\()p Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450 3709 y Fr(The)g(pre\014x)f
3504 (op)s(erator)i Fp(--x)p Fr(.)-30 3868 y Fp(void)e(operator)f(--)i(\()p
3505 Fl(t)m(yp)s(e)5 b Fp(&)30 b(x,)g(int\))450 3978 y Fr(The)g(p)s
3506 (ost\014x)f(op)s(erator)i Fp(x--)p Fr(.)-30 4137 y(Note)37
3507 b(that)g(b)m(y)f(using)g(these)h(obfuscating)f(op)s(erators,)i(y)m(ou)f
3508 (w)m(ouldn't)f(gain)h(e\016ciency:)53 b(In)35 b(CLN)h(`)p
3509 Fp(x)30 b(+=)g(y;)p Fr(')36 b(is)-30 4247 y(exactly)c(the)f(same)e(as)i
3510 (`)p Fp(x)f(=)g(x+y;)p Fr(',)g(not)h(more)e(e\016cien)m(t.)p
3511 eop
3512 %%Page: 28 30
3513 28 29 bop -30 -116 a Fr(Chapter)30 b(5:)41 b(Input/Output)2844
3514 b(28)-30 299 y Fo(5)80 b(Input/Output)-30 758 y Fs(5.1)68
3515 b(In)l(ternal)46 b(and)f(prin)l(ted)g(represen)l(tation)-30
3516 973 y Fr(All)31 b(computations)f(deal)h(with)f(the)h(in)m(ternal)g
3517 (represen)m(tations)g(of)g(the)f(n)m(um)m(b)s(ers.)-30
3518 1130 y(Ev)m(ery)36 b(n)m(um)m(b)s(er)d(has)j(an)f(external)i(represen)m
3519 (tation)g(as)f(a)g(sequence)g(of)g(ASCI)s(I)e(c)m(haracters.)58
3520 b(Sev)m(eral)37 b(external)-30 1239 y(represen)m(tations)31
3521 b(ma)m(y)f(denote)h(the)g(same)f(n)m(um)m(b)s(er,)e(for)i(example,)g
3522 Fp(")p Fr(20.0)p Fp(")i Fr(and)d Fp(")p Fr(20.000)p Fp(")p
3523 Fr(.)-30 1397 y(Con)m(v)m(erting)34 b(an)f(in)m(ternal)h(to)g(an)e
3524 (external)i(represen)m(tation)h(is)e(called)h(\\prin)m(ting",)h(con)m
3525 (v)m(erting)f(an)f(external)h(to)-30 1506 y(an)24 b(in)m(ternal)h
3526 (represen)m(tation)g(is)f(called)h(\\reading".)40 b(In)24
3527 b(CLN,)f(it)i(is)f(alw)m(a)m(ys)i(true)e(that)h(con)m(v)m(ersion)g(of)f
3528 (an)g(in)m(ternal)-30 1616 y(to)j(an)e(external)i(represen)m(tation)g
3529 (and)e(then)h(bac)m(k)g(to)h(an)e(in)m(ternal)i(represen)m(tation)g
3530 (will)f(yield)g(the)g(same)f(in)m(ternal)-30 1725 y(represen)m(tation.)
3531 42 b(Sym)m(b)s(olically:)f Fp(read\(print\(x\)\))26 b(==)k(x)p
3532 Fr(.)40 b(This)30 b(is)g(called)i(\\prin)m(t-read)e(consistency".)-30
3533 1882 y(Di\013eren)m(t)i(t)m(yp)s(es)e(of)h(n)m(um)m(b)s(ers)d(ha)m(v)m
3534 (e)j(di\013eren)m(t)g(external)g(represen)m(tations)h(\(case)f(is)g
3535 (insigni\014can)m(t\):)-30 2076 y(In)m(tegers)167 b(External)35
3536 b(represen)m(tation:)50 b Fl(sign)p Fp({)p Fl(digit)r
3537 Fp(}+)p Fr(.)j(The)34 b(reader)g(also)h(accepts)h(the)f(Common)d(Lisp)h
3538 (syn-)450 2185 y(taxes)43 b Fl(sign)p Fp({)p Fl(digit)r
3539 Fp(}+.)g Fr(with)f(a)h(trailing)g(dot)g(for)f(decimal)g(in)m(tegers)i
3540 (and)e(the)h Fp(#)p Fl(n)p Fp(R)p Fr(,)h Fp(#b)p Fr(,)h
3541 Fp(#o)p Fr(,)h Fp(#x)450 2295 y Fr(pre\014xes.)-30 2477
3542 y(Rational)32 b(n)m(um)m(b)s(ers)450 2586 y(External)26
3543 b(represen)m(tation:)39 b Fl(sign)p Fp({)p Fl(digit)r
3544 Fp(}+/{)p Fl(digit)r Fp(}+)p Fr(.)g(The)25 b Fp(#)p Fl(n)p
3545 Fp(R)p Fr(,)h Fp(#b)p Fr(,)g Fp(#o)p Fr(,)g Fp(#x)f Fr(pre\014xes)g
3546 (are)h(allo)m(w)m(ed)450 2696 y(here)k(as)h(w)m(ell.)-30
3547 2878 y(Floating-p)s(oin)m(t)i(n)m(um)m(b)s(ers)450 2988
3548 y(External)58 b(represen)m(tation:)96 b Fl(sign)p Fp({)p
3549 Fl(digit)r Fp(})p Fr(*)p Fl(exp)s(onen)m(t)60 b Fr(or)d
3550 Fl(sign)p Fp({)p Fl(digit)r Fp(})p Fr(*)p Fp(.{)p Fl(digit)r
3551 Fp(})p Fr(*)p Fl(exp)s(onen)m(t)k Fr(or)450 3097 y Fl(sign)p
3552 Fp({)p Fl(digit)r Fp(})p Fr(*)p Fp(.{)p Fl(digit)r Fp(}+)p
3553 Fr(.)45 b(A)31 b(precision)h(sp)s(eci\014er)f(of)h(the)f(form)p
3554 2693 3097 28 4 v 63 w Fl(prec)37 b Fr(ma)m(y)31 b(b)s(e)g(app)s(ended.)
3555 42 b(There)450 3207 y(m)m(ust)g(b)s(e)h(at)h(least)h(one)e(digit)h(in)f
3556 (the)h(non-exp)s(onen)m(t)f(part.)80 b(The)42 b(exp)s(onen)m(t)i(has)f
3557 (the)g(syn)m(tax)450 3316 y Fl(expmark)m(er)36 b(expsign)30
3558 b Fp({)p Fl(digit)r Fp(}+)p Fr(.)41 b(The)30 b(exp)s(onen)m(t)g(mark)m
3559 (er)g(is)630 3462 y(`)p Fp(s)p Fr(')h(for)f(short-\015oats,)630
3560 3608 y(`)p Fp(f)p Fr(')h(for)f(single-\015oats,)630 3754
3561 y(`)p Fp(d)p Fr(')h(for)f(double-\015oats,)630 3900 y(`)p
3562 Fp(L)p Fr(')h(for)f(long-\015oats,)450 4082 y(or)23 b(`)p
3563 Fp(e)p Fr(',)h(whic)m(h)f(denotes)g(a)g(default)f(\015oat)i(format.)37
3564 b(The)22 b(precision)h(sp)s(ecifying)g(su\016x)e(has)i(the)f(syn)m(tax)
3565 p 450 4191 V 477 4191 a Fl(prec)48 b Fr(where)41 b Fl(prec)48
3566 b Fr(denotes)42 b(the)g(n)m(um)m(b)s(er)e(of)i(v)-5 b(alid)43
3567 b(man)m(tissa)f(digits)g(\(in)h(decimal,)i(excluding)450
3568 4301 y(leading)31 b(zero)s(es\),)h(cf.)41 b(also)31 b(function)f(`)p
3569 Fp(cl_float_format)p Fr('.)-30 4483 y(Complex)f(n)m(um)m(b)s(ers)450
3570 4592 y(External)i(represen)m(tation:)630 4738 y(In)36
3571 b(algebraic)j(notation:)54 b Fl(realpart)r Fp(+)p Fl(imagpart)r
3572 Fp(i)p Fr(.)60 b(Of)37 b(course,)h(if)f Fl(imagpart)i
3573 Fr(is)e(negativ)m(e,)k(its)630 4848 y(prin)m(ted)28 b(represen)m
3574 (tation)i(b)s(egins)e(with)g(a)h(`)p Fp(-)p Fr(',)g(and)f(the)g(`)p
3575 Fp(+)p Fr(')h(b)s(et)m(w)m(een)g Fl(realpart)i Fr(and)d
3576 Fl(imagpart)630 4957 y Fr(ma)m(y)41 b(b)s(e)h(omitted.)75
3577 b(Note)43 b(that)g(this)e(notation)j(cannot)e(b)s(e)f(used)g(when)g
3578 (the)h Fl(imagpart)i Fr(is)630 5067 y(rational)c(and)e(the)i(rational)g
3579 (n)m(um)m(b)s(er's)c(base)j(is)g Fp(>)p Fr(18,)j(b)s(ecause)d(the)g(`)p
3580 Fp(i)p Fr(')g(is)g(then)g(read)f(as)i(a)630 5177 y(digit.)630
3581 5322 y(In)30 b(Common)e(Lisp)h(notation:)42 b Fp(#C\()p
3582 Fl(realpart)32 b(imagpart)r Fp(\))p Fr(.)p eop
3583 %%Page: 29 31
3584 29 30 bop -30 -116 a Fr(Chapter)30 b(5:)41 b(Input/Output)2844
3585 b(29)-30 299 y Fs(5.2)68 b(Input)44 b(functions)-30 486
3586 y Fr(Including)25 b Fp(<cln/io.h>)d Fr(de\014nes)j(a)h(t)m(yp)s(e)f
3587 Fp(cl_istream)p Fr(,)f(whic)m(h)i(is)f(the)h(t)m(yp)s(e)f(of)h(the)g
3588 (\014rst)e(argumen)m(t)h(to)i(all)f(input)-30 595 y(functions.)40
3589 b Fp(cl_istream)28 b Fr(is)i(the)h(same)f(as)g Fp(std::istream&)p
3590 Fr(.)-30 724 y(The)g(v)-5 b(ariable)150 852 y Fp(cl_istream)28
3591 b(stdin)-30 1000 y Fr(con)m(tains)k(the)e(standard)g(input)f(stream.)
3592 -30 1129 y(These)h(are)h(the)f(simple)g(input)f(functions:)-30
3593 1276 y Fp(int)g(freadchar)f(\(cl_istream)g(stream\))450
3594 1386 y Fr(Reads)37 b(a)f(c)m(haracter)j(from)c Fp(stream)p
3595 Fr(.)57 b(Returns)35 b Fp(cl_EOF)g Fr(\(not)i(a)g(`)p
3596 Fp(char)p Fr('!\))59 b(if)36 b(the)h(end)f(of)h(stream)450
3597 1495 y(w)m(as)31 b(encoun)m(tered)g(or)f(an)g(error)g(o)s(ccurred.)-30
3598 1643 y Fp(int)f(funreadchar)f(\(cl_istream)f(stream,)h(int)i(c\))450
3599 1753 y Fr(Puts)41 b(bac)m(k)h Fp(c)f Fr(on)m(to)i Fp(stream)p
3600 Fr(.)72 b Fp(c)41 b Fr(m)m(ust)f(b)s(e)h(the)h(result)f(of)g(the)h
3601 (last)g Fp(freadchar)d Fr(op)s(eration)j(on)450 1862
3602 y Fp(stream)p Fr(.)-30 2010 y(Eac)m(h)53 b(of)f(the)g(classes)i
3603 Fp(cl_N)p Fr(,)i Fp(cl_R)p Fr(,)h Fp(cl_RA)p Fr(,)f Fp(cl_I)p
3604 Fr(,)h Fp(cl_F)p Fr(,)f Fp(cl_SF)p Fr(,)h Fp(cl_FF)p
3605 Fr(,)f Fp(cl_DF)p Fr(,)h Fp(cl_LF)50 b Fr(de\014nes,)57
3606 b(in)-30 2119 y Fp(<cln/)p Fl(t)m(yp)s(e)5 b Fp(_io.h>)p
3607 Fr(,)28 b(the)i(follo)m(wing)i(input)e(function:)-30
3608 2267 y Fp(cl_istream)e(operator>>)f(\(cl_istream)g(stream,)i
3609 Fl(t)m(yp)s(e)5 b Fp(&)30 b(result\))450 2377 y Fr(Reads)g(a)h(n)m(um)m
3610 (b)s(er)d(from)h Fp(stream)g Fr(and)h(stores)g(it)h(in)f(the)h
3611 Fp(result)p Fr(.)-30 2524 y(The)f(most)g(\015exible)g(input)g
3612 (functions,)g(de\014ned)f(in)h Fp(<cln/)p Fl(t)m(yp)s(e)5
3613 b Fp(_io.h>)p Fr(,)28 b(are)j(the)f(follo)m(wing:)-30
3614 2672 y Fp(cl_N)f(read_complex)e(\(cl_istream)h(stream,)g(const)h
3615 (cl_read_flags&)d(flags\))-30 2781 y(cl_R)j(read_real)f(\(cl_istream)f
3616 (stream,)i(const)g(cl_read_flags&)d(flags\))-30 2891
3617 y(cl_F)j(read_float)f(\(cl_istream)f(stream,)h(const)h(cl_read_flags&)e
3618 (flags\))-30 3001 y(cl_RA)i(read_rational)e(\(cl_istream)g(stream,)h
3619 (const)h(cl_read_flags&)e(flags\))-30 3110 y(cl_I)i(read_integer)e
3620 (\(cl_istream)h(stream,)g(const)h(cl_read_flags&)d(flags\))450
3621 3220 y Fr(Reads)i(a)g(n)m(um)m(b)s(er)e(from)g Fp(stream)p
3622 Fr(.)38 b(The)27 b Fp(flags)g Fr(are)h(parameters)f(whic)m(h)h
3623 (a\013ect)h(the)f(input)f(syn)m(tax.)450 3329 y(Whitespace)32
3624 b(b)s(efore)e(the)g(n)m(um)m(b)s(er)e(is)j(silen)m(tly)h(skipp)s(ed.)
3625 -30 3477 y Fp(cl_N)d(read_complex)e(\(const)i(cl_read_flags&)d(flags,)j
3626 (const)g(char)g(*)h(string,)f(const)g(char)g(*)-30 3587
3627 y(string_limit,)e(const)i(char)g(*)h(*)g(end_of_parse\))-30
3628 3696 y(cl_R)f(read_real)f(\(const)h(cl_read_flags&)d(flags,)j(const)g
3629 (char)g(*)h(string,)e(const)h(char)h(*)-30 3806 y(string_limit,)d
3630 (const)i(char)g(*)h(*)g(end_of_parse\))-30 3915 y(cl_F)f(read_float)f
3631 (\(const)g(cl_read_flags&)f(flags,)i(const)g(char)g(*)h(string,)e
3632 (const)h(char)g(*)-30 4025 y(string_limit,)e(const)i(char)g(*)h(*)g
3633 (end_of_parse\))-30 4134 y(cl_RA)f(read_rational)e(\(const)h
3634 (cl_read_flags&)f(flags,)h(const)h(char)h(*)g(string,)e(const)h(char)g
3635 (*)-30 4244 y(string_limit,)e(const)i(char)g(*)h(*)g(end_of_parse\))-30
3636 4354 y(cl_I)f(read_integer)e(\(const)i(cl_read_flags&)d(flags,)j(const)
3637 g(char)g(*)h(string,)f(const)g(char)g(*)-30 4463 y(string_limit,)e
3638 (const)i(char)g(*)h(*)g(end_of_parse\))450 4573 y Fr(Reads)k(a)h(n)m
3639 (um)m(b)s(er)d(from)g(a)j(string)f(in)g(memory)-8 b(.)50
3640 b(The)34 b Fp(flags)e Fr(are)j(parameters)e(whic)m(h)h(a\013ect)i(the)
3641 450 4682 y(input)31 b(syn)m(tax.)46 b(The)31 b(string)h(starts)g(at)h
3642 Fp(string)d Fr(and)i(ends)f(at)h Fp(string_limit)d Fr(\(exclusiv)m(e)34
3643 b(limit\).)450 4792 y Fp(string_limit)29 b Fr(ma)m(y)i(also)i(b)s(e)f
3644 Fp(NULL)p Fr(,)f(denoting)i(the)f(en)m(tire)h(string,)g(i.e.)47
3645 b(equiv)-5 b(alen)m(t)33 b(to)g Fp(string_)450 4902 y(limit)c(=)h
3646 (string)f(+)h(strlen\(string\))p Fr(.)75 b(If)42 b Fp(end_of_parse)e
3647 Fr(is)j Fp(NULL)p Fr(,)j(the)d(string)g(in)g(memory)450
3648 5011 y(m)m(ust)30 b(con)m(tain)j(exactly)g(one)f(n)m(um)m(b)s(er)d(and)
3649 i(nothing)g(more,)g(else)i(a)f(fatal)g(error)f(will)h(b)s(e)f
3650 (signalled.)450 5121 y(If)37 b Fp(end_of_parse)d Fr(is)k(not)g
3651 Fp(NULL)p Fr(,)g Fp(*end_of_parse)c Fr(will)k(b)s(e)f(assigned)h(a)g(p)
3652 s(oin)m(ter)g(past)f(the)h(last)450 5230 y(parsed)32
3653 b(c)m(haracter)h(\(i.e.)48 b Fp(string_limit)29 b Fr(if)j(nothing)g
3654 (came)g(after)h(the)g(n)m(um)m(b)s(er\).)44 b(Whitespace)34
3655 b(is)450 5340 y(not)d(allo)m(w)m(ed.)p eop
3656 %%Page: 30 32
3657 30 31 bop -30 -116 a Fr(Chapter)30 b(5:)41 b(Input/Output)2844
3658 b(30)-30 299 y(The)30 b(structure)g Fp(cl_read_flags)d
3659 Fr(con)m(tains)k(the)g(follo)m(wing)g(\014elds:)-30 461
3660 y Fp(cl_read_syntax_t)26 b(syntax)450 570 y Fr(The)i(p)s(ossible)f
3661 (results)h(of)g(the)h(read)f(op)s(eration.)40 b(P)m(ossible)29
3662 b(v)-5 b(alues)28 b(are)h Fp(syntax_number)p Fr(,)c Fp(syntax_)450
3663 680 y(real)p Fr(,)49 b Fp(syntax_rational)p Fr(,)e Fp(syntax_integer)p
3664 Fr(,)g Fp(syntax_float)p Fr(,)g Fp(syntax_sfloat)p Fr(,)g
3665 Fp(syntax_)450 789 y(ffloat)p Fr(,)29 b Fp(syntax_dfloat)p
3666 Fr(,)e Fp(syntax_lfloat)p Fr(.)-30 950 y Fp(cl_read_lsyntax_t)f
3667 (lsyntax)450 1060 y Fr(Sp)s(eci\014es)31 b(the)g(language-dep)s(enden)m
3668 (t)h(syn)m(tax)g(v)-5 b(arian)m(t)32 b(for)f(the)h(read)f(op)s
3669 (eration.)43 b(P)m(ossible)33 b(v)-5 b(alues)450 1169
3670 y(are)450 1330 y Fp(lsyntax_standard)930 1440 y Fr(accept)32
3671 b(standard)d(algebraic)j(notation)g(only)-8 b(,)31 b(no)g(complex)f(n)m
3672 (um)m(b)s(ers,)450 1601 y Fp(lsyntax_algebraic)930 1710
3673 y Fr(accept)i(the)e(algebraic)i(notation)g Fl(x)6 b Fp(+)p
3674 Fl(y)i Fp(i)30 b Fr(for)g(complex)g(n)m(um)m(b)s(ers,)450
3675 1871 y Fp(lsyntax_commonlisp)930 1981 y Fr(accept)49
3676 b(the)g Fp(#b)p Fr(,)j Fp(#o)p Fr(,)g Fp(#x)47 b Fr(syn)m(taxes)i(for)f
3677 (binary)-8 b(,)52 b(o)s(ctal,)i(hexadecimal)48 b(n)m(um)m(b)s(ers,)930
3678 2090 y Fp(#)p Fl(base)5 b Fp(R)25 b Fr(for)f(rational)i(n)m(um)m(b)s
3679 (ers)d(in)h(a)i(giv)m(en)g(base,)g Fp(#c\()p Fl(realpart)32
3680 b(imagpart)r Fp(\))24 b Fr(for)h(com-)930 2200 y(plex)30
3681 b(n)m(um)m(b)s(ers,)450 2361 y Fp(lsyntax_all)930 2471
3682 y Fr(accept)i(all)f(of)g(these)f(extensions.)-30 2631
3683 y Fp(unsigned)e(int)i(rational_base)450 2741 y Fr(The)g(base)g(in)g
3684 (whic)m(h)h(rational)g(n)m(um)m(b)s(ers)d(are)j(read.)-30
3685 2902 y Fp(cl_float_format_t)26 b(float_flags.default_flo)o(at_f)o(orm)o
3686 (at)450 3012 y Fr(The)k(\015oat)h(format)f(used)f(when)h(reading)g
3687 (\015oats)h(with)f(exp)s(onen)m(t)g(mark)m(er)g(`)p Fp(e)p
3688 Fr('.)-30 3172 y Fp(cl_float_format_t)c(float_flags.default_lfl)o(oat_)
3689 o(for)o(mat)450 3282 y Fr(The)k(\015oat)h(format)f(used)f(when)h
3690 (reading)g(\015oats)h(with)f(exp)s(onen)m(t)g(mark)m(er)g(`)p
3691 Fp(l)p Fr('.)-30 3443 y Fp(cl_boolean)e(float_flags.mantissa_de)o(pen)o
3692 (dent)o(_flo)o(at_)o(form)o(at)450 3553 y Fr(When)h(this)g(\015ag)h(is)
3693 f(true,)g(\015oats)h(sp)s(eci\014ed)e(with)h(more)g(digits)g(than)g
3694 (corresp)s(onding)g(to)g(the)h(exp)s(o-)450 3662 y(nen)m(t)g(mark)m(er)
3695 e(they)i(con)m(tain,)h(but)e(without)p 2018 3662 28 4
3696 v 62 w Fl(nnn)e Fr(su\016x,)i(will)h(get)h(a)e(precision)h(corresp)s
3697 (onding)e(to)450 3772 y(their)i(n)m(um)m(b)s(er)e(of)j(signi\014can)m
3698 (t)g(digits.)-30 4033 y Fs(5.3)68 b(Output)45 b(functions)-30
3699 4227 y Fr(Including)40 b Fp(<cln/io.h>)f Fr(de\014nes)h(a)i(t)m(yp)s(e)
3700 f Fp(cl_ostream)p Fr(,)g(whic)m(h)g(is)h(the)f(t)m(yp)s(e)g(of)h(the)f
3701 (\014rst)f(argumen)m(t)h(to)h(all)-30 4337 y(output)30
3702 b(functions.)40 b Fp(cl_ostream)28 b Fr(is)i(the)h(same)f(as)g
3703 Fp(std::ostream&)p Fr(.)-30 4473 y(The)g(v)-5 b(ariable)150
3704 4609 y Fp(cl_ostream)28 b(stdout)-30 4770 y Fr(con)m(tains)k(the)e
3705 (standard)g(output)g(stream.)-30 4906 y(The)g(v)-5 b(ariable)150
3706 5042 y Fp(cl_ostream)28 b(stderr)-30 5204 y Fr(con)m(tains)k(the)e
3707 (standard)g(error)g(output)g(stream.)-30 5340 y(These)g(are)h(the)f
3708 (simple)g(output)g(functions:)p eop
3709 %%Page: 31 33
3710 31 32 bop -30 -116 a Fr(Chapter)30 b(5:)41 b(Input/Output)2844
3711 b(31)-30 299 y Fp(void)29 b(fprintchar)f(\(cl_ostream)f(stream,)h(char)
3712 i(c\))450 408 y Fr(Prin)m(ts)g(the)h(c)m(haracter)h Fp(x)e
3713 Fr(literally)i(on)e(the)h Fp(stream)p Fr(.)-30 574 y
3714 Fp(void)e(fprint)g(\(cl_ostream)e(stream,)i(const)f(char)i(*)g
3715 (string\))450 683 y Fr(Prin)m(ts)g(the)h Fp(string)d
3716 Fr(literally)33 b(on)d(the)g Fp(stream)p Fr(.)-30 848
3717 y Fp(void)f(fprintdecimal)e(\(cl_ostream)g(stream,)i(int)g(x\))-30
3718 958 y(void)g(fprintdecimal)e(\(cl_ostream)g(stream,)i(const)g(cl_I&)g
3719 (x\))450 1068 y Fr(Prin)m(ts)h(the)h(in)m(teger)h Fp(x)e
3720 Fr(in)g(decimal)g(on)g(the)h Fp(stream)p Fr(.)-30 1233
3721 y Fp(void)e(fprintbinary)e(\(cl_ostream)h(stream,)g(const)h(cl_I&)g
3722 (x\))450 1342 y Fr(Prin)m(ts)h(the)h(in)m(teger)h Fp(x)e
3723 Fr(in)g(binary)f(\(base)i(2,)g(without)g(pre\014x\))e(on)h(the)h
3724 Fp(stream)p Fr(.)-30 1508 y Fp(void)e(fprintoctal)f(\(cl_ostream)f
3725 (stream,)h(const)h(cl_I&)g(x\))450 1617 y Fr(Prin)m(ts)h(the)h(in)m
3726 (teger)h Fp(x)e Fr(in)g(o)s(ctal)h(\(base)g(8,)g(without)g(pre\014x\))e
3727 (on)i(the)f Fp(stream)p Fr(.)-30 1782 y Fp(void)f(fprinthexadecimal)d
3728 (\(cl_ostream)h(stream,)i(const)f(cl_I&)h(x\))450 1892
3729 y Fr(Prin)m(ts)h(the)h(in)m(teger)h Fp(x)e Fr(in)g(hexadecimal)g
3730 (\(base)h(16,)h(without)e(pre\014x\))g(on)g(the)h Fp(stream)p
3731 Fr(.)-30 2060 y(Eac)m(h)53 b(of)f(the)g(classes)i Fp(cl_N)p
3732 Fr(,)i Fp(cl_R)p Fr(,)h Fp(cl_RA)p Fr(,)f Fp(cl_I)p Fr(,)h
3733 Fp(cl_F)p Fr(,)f Fp(cl_SF)p Fr(,)h Fp(cl_FF)p Fr(,)f
3734 Fp(cl_DF)p Fr(,)h Fp(cl_LF)50 b Fr(de\014nes,)57 b(in)-30
3735 2170 y Fp(<cln/)p Fl(t)m(yp)s(e)5 b Fp(_io.h>)p Fr(,)28
3736 b(the)i(follo)m(wing)i(output)e(functions:)-30 2338 y
3737 Fp(void)f(fprint)g(\(cl_ostream)e(stream,)i(const)f Fl(t)m(yp)s(e)5
3738 b Fp(&)31 b(x\))-30 2447 y(cl_ostream)d(operator<<)f(\(cl_ostream)g
3739 (stream,)i(const)g Fl(t)m(yp)s(e)5 b Fp(&)30 b(x\))450
3740 2557 y Fr(Prin)m(ts)42 b(the)g(n)m(um)m(b)s(er)e Fp(x)i
3741 Fr(on)g(the)g Fp(stream)p Fr(.)75 b(The)41 b(output)h(ma)m(y)g(dep)s
3742 (end)e(on)i(the)h(global)g(prin)m(ter)450 2667 y(settings)36
3743 b(in)g(the)f(v)-5 b(ariable)37 b Fp(default_print_flags)p
3744 Fr(.)51 b(The)35 b Fp(ostream)e Fr(\015ags)j(and)f(settings)h
3745 (\(\015ags,)450 2776 y(width)30 b(and)f(lo)s(cale\))k(are)e(ignored.)
3746 -30 2944 y(The)f(most)g(\015exible)g(output)g(function,)g(de\014ned)g
3747 (in)g Fp(<cln/)p Fl(t)m(yp)s(e)5 b Fp(_io.h>)p Fr(,)28
3748 b(are)i(the)h(follo)m(wing:)210 3079 y Fp(void)47 b(print_complex)92
3749 b(\(cl_ostream)44 b(stream,)i(const)g(cl_print_flags&)e(flags,)1212
3750 3183 y(const)j(cl_N&)f(z\);)210 3286 y(void)h(print_real)236
3751 b(\(cl_ostream)44 b(stream,)i(const)g(cl_print_flags&)e(flags,)1212
3752 3390 y(const)j(cl_R&)f(z\);)210 3494 y(void)h(print_float)188
3753 b(\(cl_ostream)44 b(stream,)i(const)g(cl_print_flags&)e(flags,)1212
3754 3598 y(const)j(cl_F&)f(z\);)210 3702 y(void)h(print_rational)d
3755 (\(cl_ostream)g(stream,)i(const)g(cl_print_flags&)e(flags,)1212
3756 3805 y(const)j(cl_RA&)f(z\);)210 3909 y(void)h(print_integer)92
3757 b(\(cl_ostream)44 b(stream,)i(const)g(cl_print_flags&)e(flags,)1212
3758 4013 y(const)j(cl_I&)f(z\);)-30 4153 y Fr(Prin)m(ts)30
3759 b(the)h(n)m(um)m(b)s(er)d Fp(x)i Fr(on)g(the)h Fp(stream)p
3760 Fr(.)39 b(The)30 b Fp(flags)f Fr(are)h(parameters)g(whic)m(h)g
3761 (a\013ect)i(the)f(output.)-30 4293 y(The)f(structure)g(t)m(yp)s(e)g
3762 Fp(cl_print_flags)d Fr(con)m(tains)k(the)g(follo)m(wing)h(\014elds:)-30
3763 4462 y Fp(unsigned)c(int)i(rational_base)450 4571 y Fr(The)g(base)g(in)
3764 g(whic)m(h)h(rational)g(n)m(um)m(b)s(ers)d(are)j(prin)m(ted.)40
3765 b(Default)32 b(is)e Fp(10)p Fr(.)-30 4736 y Fp(cl_boolean)e
3766 (rational_readably)450 4846 y Fr(If)34 b(this)h(\015ag)h(is)f(true,)h
3767 (rational)g(n)m(um)m(b)s(ers)c(are)k(prin)m(ted)e(with)h(radix)f(sp)s
3768 (eci\014ers)h(in)f(Common)f(Lisp)450 4956 y(syn)m(tax)e(\()p
3769 Fp(#)p Fl(n)p Fp(R)f Fr(or)g Fp(#b)g Fr(or)g Fp(#o)g
3770 Fr(or)g Fp(#x)g Fr(pre\014xes,)g(trailing)h(dot\).)41
3771 b(Default)32 b(is)e(false.)-30 5121 y Fp(cl_boolean)e(float_readably)
3772 450 5230 y Fr(If)34 b(this)g(\015ag)h(is)f(true,)i(t)m(yp)s(e)e(sp)s
3773 (eci\014c)g(exp)s(onen)m(t)h(mark)m(ers)e(ha)m(v)m(e)j(precedence)f(o)m
3774 (v)m(er)g('E'.)g(Default)h(is)450 5340 y(false.)p eop
3775 %%Page: 32 34
3776 32 33 bop -30 -116 a Fr(Chapter)30 b(5:)41 b(Input/Output)2844
3777 b(32)-30 299 y Fp(cl_float_format_t)26 b(default_float_format)450
3778 408 y Fr(Floating)40 b(p)s(oin)m(t)d(n)m(um)m(b)s(ers)e(of)j(this)f
3779 (format)g(will)h(b)s(e)f(prin)m(ted)g(using)g(the)h('E')g(exp)s(onen)m
3780 (t)f(mark)m(er.)450 518 y(Default)31 b(is)g Fp(cl_float_format_ffloat)p
3781 Fr(.)-30 677 y Fp(cl_boolean)d(complex_readably)450 787
3782 y Fr(If)41 b(this)g(\015ag)g(is)h(true,)i(complex)c(n)m(um)m(b)s(ers)f
3783 (will)j(b)s(e)e(prin)m(ted)h(using)g(the)g(Common)e(Lisp)h(syn)m(tax)
3784 450 897 y Fp(#C\()p Fl(realpart)32 b(imagpart)r Fp(\))p
3785 Fr(.)40 b(Default)32 b(is)e(false.)-30 1056 y Fp(cl_string)e
3786 (univpoly_varname)450 1166 y Fr(Univ)-5 b(ariate)37 b(p)s(olynomials)d
3787 (with)i(no)f(explicit)i(indeterminate)e(name)f(will)i(b)s(e)f(prin)m
3788 (ted)g(using)g(this)450 1275 y(v)-5 b(ariable)31 b(name.)40
3789 b(Default)31 b(is)g Fp("x")p Fr(.)-30 1435 y(The)26 b(global)i(v)-5
3790 b(ariable)27 b Fp(default_print_flags)21 b Fr(con)m(tains)28
3791 b(the)f(default)f(v)-5 b(alues,)28 b(used)e(b)m(y)g(the)h(function)f
3792 Fp(fprint)p Fr(.)p eop
3793 %%Page: 33 35
3794 33 34 bop -30 -116 a Fr(Chapter)30 b(6:)41 b(Rings)3180
3795 b(33)-30 299 y Fo(6)80 b(Rings)-30 533 y Fr(CLN)30 b(has)g(a)h(class)g
3796 (of)g(abstract)g(rings.)1403 662 y Fp(Ring)1308 765 y(cl_ring)1212
3797 869 y(<cln/ring.h>)-30 1004 y Fr(Rings)f(can)h(b)s(e)f(compared)f(for)h
3798 (equalit)m(y:)-30 1163 y Fp(bool)f(operator==)f(\(const)g(cl_ring&,)g
3799 (const)h(cl_ring&\))-30 1273 y(bool)g(operator!=)f(\(const)g(cl_ring&,)
3800 g(const)h(cl_ring&\))450 1382 y Fr(These)h(compare)g(t)m(w)m(o)i(rings)
3801 e(for)g(equalit)m(y)-8 b(.)-30 1542 y(Giv)m(en)31 b(a)g(ring)f
3802 Fp(R)p Fr(,)g(the)h(follo)m(wing)h(mem)m(b)s(ers)27 b(can)k(b)s(e)f
3803 (used.)-30 1701 y Fp(void)f(R->fprint)f(\(cl_ostream)f(stream,)i(const)
3804 g(cl_ring_element&)d(x\))-30 1811 y(cl_boolean)i(R->equal)g(\(const)g
3805 (cl_ring_element&)e(x,)k(const)f(cl_ring_element&)d(y\))-30
3806 1920 y(cl_ring_element)g(R->zero)j(\(\))-30 2030 y(cl_boolean)f
3807 (R->zerop)g(\(const)g(cl_ring_element&)e(x\))-30 2139
3808 y(cl_ring_element)g(R->plus)j(\(const)f(cl_ring_element&)e(x,)k(const)f
3809 (cl_ring_element&)d(y\))-30 2249 y(cl_ring_element)g(R->minus)i
3810 (\(const)h(cl_ring_element&)d(x,)k(const)f(cl_ring_element&)d(y\))-30
3811 2359 y(cl_ring_element)g(R->uminus)i(\(const)h(cl_ring_element&)d(x\))
3812 -30 2468 y(cl_ring_element)g(R->one)j(\(\))-30 2578 y(cl_ring_element)d
3813 (R->canonhom)h(\(const)i(cl_I&)g(x\))-30 2687 y(cl_ring_element)d
3814 (R->mul)j(\(const)g(cl_ring_element&)c(x,)30 b(const)f
3815 (cl_ring_element&)d(y\))-30 2797 y(cl_ring_element)g(R->square)i
3816 (\(const)h(cl_ring_element&)d(x\))-30 2907 y(cl_ring_element)g
3817 (R->expt_pos)h(\(const)i(cl_ring_element&)d(x,)k(const)f(cl_I&)g(y\))
3818 -30 3041 y Fr(The)h(follo)m(wing)i(rings)e(are)g(built-in.)-30
3819 3200 y Fp(cl_null_ring)d(cl_0_ring)450 3310 y Fr(The)j(n)m(ull)g(ring,)
3820 h(con)m(taining)g(only)g(zero.)-30 3469 y Fp(cl_complex_ring)26
3821 b(cl_C_ring)450 3579 y Fr(The)k(ring)g(of)h(complex)f(n)m(um)m(b)s
3822 (ers.)38 b(This)29 b(corresp)s(onds)g(to)j(the)e(t)m(yp)s(e)h
3823 Fp(cl_N)p Fr(.)-30 3738 y Fp(cl_real_ring)c(cl_R_ring)450
3824 3848 y Fr(The)j(ring)g(of)h(real)g(n)m(um)m(b)s(ers.)38
3825 b(This)29 b(corresp)s(onds)g(to)i(the)g(t)m(yp)s(e)g
3826 Fp(cl_R)p Fr(.)-30 4007 y Fp(cl_rational_ring)26 b(cl_RA_ring)450
3827 4117 y Fr(The)k(ring)g(of)h(rational)g(n)m(um)m(b)s(ers.)38
3828 b(This)30 b(corresp)s(onds)f(to)i(the)g(t)m(yp)s(e)f
3829 Fp(cl_RA)p Fr(.)-30 4276 y Fp(cl_integer_ring)c(cl_I_ring)450
3830 4386 y Fr(The)k(ring)g(of)h(in)m(tegers.)41 b(This)30
3831 b(corresp)s(onds)f(to)i(the)g(t)m(yp)s(e)f Fp(cl_I)p
3832 Fr(.)-30 4545 y(T)m(yp)s(e)g(tests)h(can)g(b)s(e)e(p)s(erformed)f(for)i
3833 (an)m(y)h(of)g Fp(cl_C_ring)p Fr(,)d Fp(cl_R_ring)p Fr(,)g
3834 Fp(cl_RA_ring)p Fr(,)g Fp(cl_I_ring)p Fr(:)-30 4705 y
3835 Fp(cl_boolean)g(instanceof)f(\(const)i(cl_number&)e(x,)j(const)f
3836 (cl_number_ring&)d(R\))450 4814 y Fr(T)-8 b(ests)31 b(whether)f(the)g
3837 (giv)m(en)i(n)m(um)m(b)s(er)c(is)i(an)g(elemen)m(t)h(of)g(the)f(n)m(um)
3838 m(b)s(er)e(ring)i(R.)p eop
3839 %%Page: 34 36
3840 34 35 bop -30 -116 a Fr(Chapter)30 b(7:)41 b(Mo)s(dular)30
3841 b(in)m(tegers)2730 b(34)-30 299 y Fo(7)80 b(Mo)t(dular)55
3842 b(in)l(tegers)-30 657 y Fs(7.1)68 b(Mo)t(dular)45 b(in)l(teger)h(rings)
3843 -30 850 y Fr(CLN)29 b(implemen)m(ts)f(mo)s(dular)f(in)m(tegers,)k(i.e.)
3844 41 b(in)m(tegers)31 b(mo)s(dulo)c(a)j(\014xed)e(in)m(teger)j(N.)f(The)e
3845 (mo)s(dulus)f(is)i(explicitly)-30 960 y(part)37 b(of)h(ev)m(ery)g(mo)s
3846 (dular)e(in)m(teger.)63 b(CLN)37 b(do)s(esn't)g(allo)m(w)i(y)m(ou)f(to)
3847 g(\(acciden)m(tally\))j(mix)36 b(elemen)m(ts)i(of)f(di\013eren)m(t)-30
3848 1069 y(mo)s(dular)25 b(rings,)j(e.g.)41 b Fp(\(3)30 b(mod)f(4\))h(+)g
3849 (\(2)g(mod)f(5\))e Fr(will)h(result)f(in)g(a)h(run)m(time)e(error.)40
3850 b(\(Ideally)28 b(one)g(w)m(ould)f(imagine)-30 1179 y(a)k(generic)h
3851 (data)f(t)m(yp)s(e)g Fp(cl_MI\(N\))p Fr(,)e(but)h(C)p
3852 Fp(++)g Fr(do)s(esn't)h(ha)m(v)m(e)h(generic)g(t)m(yp)s(es.)42
3853 b(So)30 b(one)h(has)g(to)h(liv)m(e)g(with)e(run)m(time)-30
3854 1288 y(c)m(hec)m(ks.\))-30 1423 y(The)g(class)h(of)g(mo)s(dular)d(in)m
3855 (teger)k(rings)e(is)1403 1552 y Fp(Ring)1308 1656 y(cl_ring)1212
3856 1760 y(<cln/ring.h>)1451 1863 y(|)1451 1967 y(|)1021
3857 2071 y(Modular)46 b(integer)g(ring)1165 2175 y(cl_modint_ring)1069
3858 2279 y(<cln/modinteger.h>)-30 2413 y Fr(and)30 b(the)g(class)h(of)g
3859 (all)g(mo)s(dular)e(in)m(tegers)i(\(elemen)m(ts)g(of)g(mo)s(dular)d(in)
3860 m(teger)k(rings\))e(is)1165 2542 y Fp(Modular)45 b(integer)1403
3861 2646 y(cl_MI)1117 2750 y(<cln/modinteger.h>)-30 2885
3862 y Fr(Mo)s(dular)30 b(in)m(teger)i(rings)e(are)g(constructed)h(using)f
3863 (the)h(function)-30 3044 y Fp(cl_modint_ring)26 b(find_modint_ring)g
3864 (\(const)j(cl_I&)g(N\))450 3154 y Fr(This)f(function)g(returns)f(the)h
3865 (mo)s(dular)e(ring)j(`)p Fp(Z/NZ)p Fr('.)39 b(It)28 b(tak)m(es)i(care)f
3866 (of)g(\014nding)e(out)h(ab)s(out)g(sp)s(ecial)450 3264
3867 y(cases)e(of)e Fp(N)p Fr(,)i(lik)m(e)g(p)s(o)m(w)m(ers)f(of)g(t)m(w)m
3868 (o)h(and)e(o)s(dd)f(n)m(um)m(b)s(ers)g(for)h(whic)m(h)h(Mon)m(tgomery)g
3869 (m)m(ultiplication)h(will)450 3373 y(b)s(e)g(a)h(win,)g(and)f
3870 (precomputes)f(an)m(y)i(necessary)g(auxiliary)h(data)f(for)f(computing)
3871 g(mo)s(dulo)f Fp(N)p Fr(.)39 b(There)450 3483 y(is)27
3872 b(a)h(cac)m(he)g(table)g(of)g(rings,)f(indexed)g(b)m(y)g
3873 Fp(N)g Fr(\(or,)h(more)e(precisely)-8 b(,)29 b(b)m(y)f
3874 Fp(abs\(N\))p Fr(\).)38 b(This)26 b(ensures)g(that)450
3875 3592 y(the)31 b(precomputation)e(costs)j(are)e(reduced)g(to)h(a)g
3876 (minim)m(um.)-30 3752 y(Mo)s(dular)f(in)m(teger)i(rings)e(can)g(b)s(e)g
3877 (compared)f(for)i(equalit)m(y:)-30 3912 y Fp(bool)e(operator==)f
3878 (\(const)g(cl_modint_ring&,)e(const)j(cl_modint_ring&\))-30
3879 4022 y(bool)g(operator!=)f(\(const)g(cl_modint_ring&,)e(const)j
3880 (cl_modint_ring&\))450 4131 y Fr(These)42 b(compare)g(t)m(w)m(o)i(mo)s
3881 (dular)c(in)m(teger)k(rings)e(for)g(equalit)m(y)-8 b(.)78
3882 b(Tw)m(o)43 b(di\013eren)m(t)g(calls)g(to)g Fp(find_)450
3883 4241 y(modint_ring)c Fr(with)i(the)h(same)f(argumen)m(t)g(necessarily)h
3884 (return)f(the)h(same)f(ring)g(b)s(ecause)h(it)g(is)450
3885 4350 y(memoized)29 b(in)h(the)h(cac)m(he)h(table.)-30
3886 4608 y Fs(7.2)68 b(F)-11 b(unctions)44 b(on)h(mo)t(dular)g(in)l(tegers)
3887 -30 4801 y Fr(Giv)m(en)31 b(a)g(mo)s(dular)d(in)m(teger)k(ring)e
3888 Fp(R)p Fr(,)h(the)f(follo)m(wing)i(mem)m(b)s(ers)c(can)i(b)s(e)g(used.)
3889 -30 4961 y Fp(cl_I)f(R->modulus)450 5071 y Fr(This)h(is)g(the)h(ring's)
3890 f(mo)s(dulus,)e(normalized)i(to)h(b)s(e)e(nonnegativ)m(e:)43
3891 b Fp(abs\(N\))p Fr(.)-30 5230 y Fp(cl_MI)29 b(R->zero\(\))450
3892 5340 y Fr(This)h(returns)f Fp(0)h(mod)f(N)p Fr(.)p eop
3893 %%Page: 35 37
3894 35 36 bop -30 -116 a Fr(Chapter)30 b(7:)41 b(Mo)s(dular)30
3895 b(in)m(tegers)2730 b(35)-30 299 y Fp(cl_MI)29 b(R->one\(\))450
3896 408 y Fr(This)h(returns)f Fp(1)h(mod)f(N)p Fr(.)-30 576
3897 y Fp(cl_MI)g(R->canonhom)e(\(const)i(cl_I&)g(x\))450
3898 686 y Fr(This)h(returns)f Fp(x)h(mod)f(N)p Fr(.)-30 853
3899 y Fp(cl_I)g(R->retract)f(\(const)g(cl_MI&)h(x\))450 963
3900 y Fr(This)c(is)h(a)h(partial)f(in)m(v)m(erse)h(function)f(to)h
3901 Fp(R->canonhom)p Fr(.)36 b(It)26 b(returns)f(the)h(standard)f(represen)
3902 m(tativ)m(e)450 1072 y(\()p Fp(>=0)p Fr(,)30 b Fp(<N)p
3903 Fr(\))g(of)h Fp(x)p Fr(.)-30 1240 y Fp(cl_MI)e
3904 (R->random\(random_state&)24 b(randomstate\))-30 1349
3905 y(cl_MI)29 b(R->random\(\))450 1459 y Fr(This)h(returns)f(a)h(random)f
3906 (in)m(teger)j(mo)s(dulo)d Fp(N)p Fr(.)-30 1630 y(The)h(follo)m(wing)i
3907 (op)s(erations)e(are)h(de\014ned)e(on)i(mo)s(dular)d(in)m(tegers.)-30
3908 1802 y Fp(cl_modint_ring)e(x.ring)j(\(\))450 1912 y Fr(Returns)g(the)i
3909 (ring)f(to)h(whic)m(h)f(the)h(mo)s(dular)d(in)m(teger)k
3910 Fp(x)e Fr(b)s(elongs.)-30 2079 y Fp(cl_MI)f(operator+)f(\(const)g
3911 (cl_MI&,)h(const)g(cl_MI&\))450 2189 y Fr(Returns)36
3912 b(the)h(sum)d(of)j(t)m(w)m(o)h(mo)s(dular)d(in)m(tegers.)60
3913 b(One)37 b(of)f(the)h(argumen)m(ts)f(ma)m(y)g(also)i(b)s(e)e(a)h(plain)
3914 450 2298 y(in)m(teger.)-30 2466 y Fp(cl_MI)29 b(operator-)f(\(const)g
3915 (cl_MI&,)h(const)g(cl_MI&\))450 2575 y Fr(Returns)37
3916 b(the)h(di\013erence)g(of)g(t)m(w)m(o)h(mo)s(dular)d(in)m(tegers.)65
3917 b(One)37 b(of)h(the)g(argumen)m(ts)f(ma)m(y)h(also)g(b)s(e)g(a)450
3918 2685 y(plain)30 b(in)m(teger.)-30 2852 y Fp(cl_MI)f(operator-)f
3919 (\(const)g(cl_MI&\))450 2962 y Fr(Returns)h(the)i(negativ)m(e)i(of)d(a)
3920 h(mo)s(dular)d(in)m(teger.)-30 3130 y Fp(cl_MI)h(operator*)f(\(const)g
3921 (cl_MI&,)h(const)g(cl_MI&\))450 3239 y Fr(Returns)e(the)g(pro)s(duct)f
3922 (of)i(t)m(w)m(o)h(mo)s(dular)c(in)m(tegers.)41 b(One)27
3923 b(of)h(the)f(argumen)m(ts)g(ma)m(y)g(also)h(b)s(e)f(a)h(plain)450
3924 3349 y(in)m(teger.)-30 3516 y Fp(cl_MI)h(square)g(\(const)f(cl_MI&\))
3925 450 3626 y Fr(Returns)h(the)i(square)f(of)h(a)f(mo)s(dular)f(in)m
3926 (teger.)-30 3793 y Fp(cl_MI)g(recip)g(\(const)g(cl_MI&)f(x\))450
3927 3903 y Fr(Returns)g(the)i(recipro)s(cal)g Fp(x^-1)e Fr(of)i(a)f(mo)s
3928 (dular)f(in)m(teger)i Fp(x)p Fr(.)40 b Fp(x)29 b Fr(m)m(ust)g(b)s(e)f
3929 (coprime)h(to)h(the)f(mo)s(dulus,)450 4012 y(otherwise)i(an)f(error)g
3930 (message)h(is)f(issued.)-30 4180 y Fp(cl_MI)f(div)g(\(const)g(cl_MI&)g
3931 (x,)h(const)e(cl_MI&)h(y\))450 4290 y Fr(Returns)36 b(the)g(quotien)m
3932 (t)i Fp(x*y^-1)d Fr(of)h(t)m(w)m(o)i(mo)s(dular)c(in)m(tegers)k
3933 Fp(x)p Fr(,)g Fp(y)p Fr(.)59 b Fp(y)36 b Fr(m)m(ust)f(b)s(e)h(coprime)g
3934 (to)h(the)450 4399 y(mo)s(dulus,)28 b(otherwise)j(an)f(error)g(message)
3935 g(is)h(issued.)-30 4567 y Fp(cl_MI)e(expt_pos)f(\(const)h(cl_MI&)f(x,)i
3936 (const)f(cl_I&)g(y\))450 4676 y(y)h Fr(m)m(ust)f(b)s(e)h
3937 Fp(>)g Fr(0.)41 b(Returns)30 b Fp(x^y)p Fr(.)-30 4844
3938 y Fp(cl_MI)f(expt)g(\(const)g(cl_MI&)f(x,)i(const)f(cl_I&)g(y\))450
3939 4953 y Fr(Returns)h Fp(x^y)p Fr(.)42 b(If)30 b Fp(y)h
3940 Fr(is)g(negativ)m(e,)i Fp(x)e Fr(m)m(ust)f(b)s(e)g(coprime)g(to)i(the)f
3941 (mo)s(dulus,)e(else)i(an)g(error)g(message)450 5063 y(is)f(issued.)-30
3942 5230 y Fp(cl_MI)f(operator<<)f(\(const)g(cl_MI&)h(x,)h(const)f(cl_I&)f
3943 (y\))450 5340 y Fr(Returns)h Fp(x*2^y)p Fr(.)p eop
3944 %%Page: 36 38
3945 36 37 bop -30 -116 a Fr(Chapter)30 b(7:)41 b(Mo)s(dular)30
3946 b(in)m(tegers)2730 b(36)-30 299 y Fp(cl_MI)29 b(operator>>)f(\(const)g
3947 (cl_MI&)h(x,)h(const)f(cl_I&)f(y\))450 408 y Fr(Returns)k
3948 Fp(x*2^-y)p Fr(.)45 b(When)33 b Fp(y)f Fr(is)g(p)s(ositiv)m(e,)j(the)e
3949 (mo)s(dulus)c(m)m(ust)j(b)s(e)g(o)s(dd,)g(or)h(an)f(error)g(message)h
3950 (is)450 518 y(issued.)-30 677 y Fp(bool)c(operator==)f(\(const)g
3951 (cl_MI&,)h(const)g(cl_MI&\))-30 787 y(bool)g(operator!=)f(\(const)g
3952 (cl_MI&,)h(const)g(cl_MI&\))450 897 y Fr(Compares)21
3953 b(t)m(w)m(o)j(mo)s(dular)c(in)m(tegers,)25 b(b)s(elonging)e(to)g(the)f
3954 (same)g(mo)s(dular)e(in)m(teger)k(ring,)g(for)e(equalit)m(y)-8
3955 b(.)-30 1056 y Fp(cl_boolean)28 b(zerop)h(\(const)f(cl_MI&)h(x\))450
3956 1166 y Fr(Returns)g(true)i(if)f Fp(x)g Fr(is)g Fp(0)g(mod)g(N)p
3957 Fr(.)-30 1325 y(The)g(follo)m(wing)i(output)e(functions)g(are)g
3958 (de\014ned)g(\(see)h(also)g(the)g(c)m(hapter)g(on)f(input/output\).)-30
3959 1484 y Fp(void)f(fprint)g(\(cl_ostream)e(stream,)i(const)f(cl_MI&)h
3960 (x\))-30 1594 y(cl_ostream)f(operator<<)f(\(cl_ostream)g(stream,)i
3961 (const)g(cl_MI&)f(x\))450 1704 y Fr(Prin)m(ts)40 b(the)h(mo)s(dular)d
3962 (in)m(teger)k Fp(x)d Fr(on)i(the)f Fp(stream)p Fr(.)69
3963 b(The)40 b(output)g(ma)m(y)f(dep)s(end)g(on)h(the)h(global)450
3964 1813 y(prin)m(ter)30 b(settings)h(in)f(the)h(v)-5 b(ariable)31
3965 b Fp(default_print_flags)p Fr(.)p eop
3966 %%Page: 37 39
3967 37 38 bop -30 -116 a Fr(Chapter)30 b(8:)41 b(Sym)m(b)s(olic)29
3968 b(data)i(t)m(yp)s(es)2596 b(37)-30 299 y Fo(8)80 b(Sym)l(b)t(olic)54
3969 b(data)g(t)l(yp)t(es)-30 513 y Fr(CLN)30 b(implemen)m(ts)f(t)m(w)m(o)j
3970 (sym)m(b)s(olic)d(\(non-n)m(umeric\))h(data)h(t)m(yp)s(es:)41
3971 b(strings)30 b(and)g(sym)m(b)s(ols.)-30 758 y Fs(8.1)68
3972 b(Strings)-30 946 y Fr(The)30 b(class)1260 1071 y Fp(String)1212
3973 1175 y(cl_string)1117 1278 y(<cln/string.h>)-30 1409
3974 y Fr(implemen)m(ts)f(imm)m(utable)g(strings.)-30 1539
3975 y(Strings)h(are)h(constructed)f(through)g(the)h(follo)m(wing)g
3976 (constructors:)-30 1691 y Fp(cl_string)d(\(const)h(char)g(*)h(s\))450
3977 1800 y Fr(Returns)f(an)i(imm)m(utable)e(cop)m(y)i(of)f(the)h
3978 (\(zero-terminated\))h(C)e(string)g Fp(s)p Fr(.)-30 1951
3979 y Fp(cl_string)e(\(const)h(char)g(*)h(ptr,)f(unsigned)f(long)h(len\))
3980 450 2061 y Fr(Returns)36 b(an)h(imm)m(utable)f(cop)m(y)i(of)f(the)g
3981 Fp(len)f Fr(c)m(haracters)j(at)e Fp(ptr[0])p Fr(,)43
3982 b(.)22 b(.)h(.)11 b(,)39 b Fp(ptr[len-1])p Fr(.)58 b(NUL)450
3983 2171 y(c)m(haracters)32 b(are)f(allo)m(w)m(ed.)-30 2322
3984 y(The)f(follo)m(wing)i(functions)e(are)g(a)m(v)-5 b(ailable)33
3985 b(on)d(strings:)-30 2473 y Fp(operator)e(=)450 2583 y
3986 Fr(Assignmen)m(t)i(from)f Fp(cl_string)f Fr(and)h Fp(const)g(char)h(*)p
3987 Fr(.)-30 2734 y Fp(s.length\(\))-30 2844 y(strlen\(s\))450
3988 2953 y Fr(Returns)f(the)i(length)g(of)f(the)h(string)f
3989 Fp(s)p Fr(.)-30 3104 y Fp(s[i])288 b Fr(Returns)28 b(the)i
3990 Fp(i)p Fr(th)f(c)m(haracter)i(of)e(the)g(string)h Fp(s)p
3991 Fr(.)40 b Fp(i)29 b Fr(m)m(ust)f(b)s(e)h(in)g(the)g(range)h
3992 Fp(0)g(<=)f(i)h(<)g(s.length\(\))p Fr(.)-30 3256 y Fp(bool)f(equal)g
3993 (\(const)g(cl_string&)e(s1,)j(const)f(cl_string&)e(s2\))450
3994 3365 y Fr(Compares)38 b(t)m(w)m(o)i(strings)f(for)f(equalit)m(y)-8
3995 b(.)69 b(One)38 b(of)h(the)g(argumen)m(ts)g(ma)m(y)f(also)i(b)s(e)e(a)i
3996 (plain)e Fp(const)450 3475 y(char)29 b(*)p Fr(.)-30 3720
3997 y Fs(8.2)68 b(Sym)l(b)t(ols)-30 3908 y Fr(Sym)m(b)s(ols)31
3998 b(are)i(uniqui\014ed)d(strings:)45 b(all)34 b(sym)m(b)s(ols)d(with)h
3999 (the)g(same)g(name)g(are)h(shared.)46 b(This)32 b(means)f(that)i(com-)
4000 -30 4018 y(parison)38 b(of)g(t)m(w)m(o)i(sym)m(b)s(ols)d(is)h(fast)h
4001 (\(e\013ectiv)m(ely)j(just)37 b(a)i(p)s(oin)m(ter)f(comparison\),)i
4002 (whereas)f(comparison)e(of)i(t)m(w)m(o)-30 4128 y(strings)32
4003 b(m)m(ust)f(in)g(the)i(w)m(orst)f(case)h(w)m(alk)g(b)s(oth)e(strings)h
4004 (un)m(til)g(their)g(end.)45 b(Sym)m(b)s(ols)30 b(are)j(used,)f(for)f
4005 (example,)i(as)-30 4237 y(tags)e(for)g(prop)s(erties,)f(as)g(names)f
4006 (of)i(v)-5 b(ariables)31 b(in)f(p)s(olynomial)g(rings,)g(etc.)-30
4007 4368 y(Sym)m(b)s(ols)f(are)h(constructed)h(through)f(the)g(follo)m
4008 (wing)i(constructor:)-30 4519 y Fp(cl_symbol)c(\(const)h(cl_string&)e
4009 (s\))450 4629 y Fr(Lo)s(oks)j(up)g(or)g(creates)i(a)f(new)e(sym)m(b)s
4010 (ol)h(with)g(a)g(giv)m(en)i(name.)-30 4780 y(The)e(follo)m(wing)i(op)s
4011 (erations)e(are)h(a)m(v)-5 b(ailable)33 b(on)d(sym)m(b)s(ols:)-30
4012 4931 y Fp(cl_string)e(\(const)h(cl_symbol&)e(sym\))450
4013 5041 y Fr(Con)m(v)m(ersion)k(to)g Fp(cl_string)p Fr(:)38
4014 b(Returns)30 b(the)g(string)h(whic)m(h)f(names)f(the)i(sym)m(b)s(ol)e
4015 Fp(sym)p Fr(.)-30 5192 y Fp(bool)g(equal)g(\(const)g(cl_symbol&)e
4016 (sym1,)i(const)g(cl_symbol&)f(sym2\))450 5301 y Fr(Compares)h(t)m(w)m
4017 (o)j(sym)m(b)s(ols)d(for)h(equalit)m(y)-8 b(.)43 b(This)29
4018 b(is)i(v)m(ery)f(fast.)p eop
4019 %%Page: 38 40
4020 38 39 bop -30 -116 a Fr(Chapter)30 b(9:)41 b(Univ)-5
4021 b(ariate)32 b(p)s(olynomials)2483 b(38)-30 299 y Fo(9)80
4022 b(Univ)-9 b(ariate)56 b(p)t(olynomials)-30 652 y Fs(9.1)68
4023 b(Univ)-7 b(ariate)47 b(p)t(olynomial)f(rings)-30 844
4024 y Fr(CLN)33 b(implemen)m(ts)f(univ)-5 b(ariate)35 b(p)s(olynomials)e
4025 (\(p)s(olynomials)g(in)g(one)h(v)-5 b(ariable\))35 b(o)m(v)m(er)g(an)f
4026 (arbitrary)f(ring.)50 b(The)-30 953 y(indeterminate)34
4027 b(v)-5 b(ariable)36 b(ma)m(y)e(b)s(e)h(either)g(unnamed)d(\(and)j(will)
4028 g(b)s(e)f(prin)m(ted)h(according)g(to)h Fp(default_print_)-30
4029 1063 y(flags.univpoly_varname)p Fr(,)h(whic)m(h)j(defaults)g(to)h(`)p
4030 Fp(x)p Fr('\))g(or)f(carry)h(a)f(giv)m(en)h(name.)70
4031 b(The)40 b(base)g(ring)g(and)g(the)-30 1172 y(indeterminate)31
4032 b(are)h(explicitly)g(part)f(of)h(ev)m(ery)g(p)s(olynomial.)42
4033 b(CLN)31 b(do)s(esn't)g(allo)m(w)i(y)m(ou)e(to)h(\(acciden)m(tally\))j
4034 (mix)-30 1282 y(elemen)m(ts)23 b(of)g(di\013eren)m(t)h(p)s(olynomial)e
4035 (rings,)i(e.g.)40 b Fp(\(a^2+1\))28 b(*)i(\(b^3-1\))21
4036 b Fr(will)i(result)g(in)g(a)g(run)m(time)f(error.)38
4037 b(\(Ideally)-30 1391 y(this)30 b(should)g(return)f(a)i(m)m(ultiv)-5
4038 b(ariate)31 b(p)s(olynomial,)f(but)g(they)g(are)h(not)g(y)m(et)g
4039 (implemen)m(ted)e(in)h(CLN.\))-30 1525 y(The)g(classes)h(of)g(univ)-5
4040 b(ariate)31 b(p)s(olynomial)f(rings)f(are)1499 1653 y
4041 Fp(Ring)1403 1757 y(cl_ring)1308 1861 y(<cln/ring.h>)1546
4042 1965 y(|)1546 2068 y(|)1021 2172 y(Univariate)45 b(polynomial)g(ring)
4043 1260 2276 y(cl_univpoly_ring)1260 2380 y(<cln/univpoly.h>)1546
4044 2484 y(|)735 2587 y(+----------------+------)o(----)o(----)o(---)o(--+)
4045 735 2691 y(|)763 b(|)907 b(|)258 2795 y(Complex)46 b(polynomial)f(ring)
4046 189 b(|)i(Modular)46 b(integer)g(polynomial)f(ring)258
4047 2899 y(cl_univpoly_complex_rin)o(g)137 b(|)382 b
4048 (cl_univpoly_modint_ring)258 3002 y(<cln/univpoly_complex.h)o(>)137
4049 b(|)382 b(<cln/univpoly_modint.h>)1546 3106 y(|)735 3210
4050 y(+----------------+)735 3314 y(|)763 b(|)353 3418 y(Real)47
4051 b(polynomial)e(ring)237 b(|)353 3521 y(cl_univpoly_real_ring)185
4052 b(|)353 3625 y(<cln/univpoly_real.h>)g(|)1546 3729 y(|)735
4053 3833 y(+----------------+)735 3936 y(|)763 b(|)258 4040
4054 y(Rational)45 b(polynomial)g(ring)142 b(|)258 4144 y
4055 (cl_univpoly_rational_ri)o(ng)89 b(|)258 4248 y
4056 (<cln/univpoly_rational.)o(h>)g(|)1546 4352 y(|)735 4455
4057 y(+----------------+)735 4559 y(|)258 4663 y(Integer)46
4058 b(polynomial)f(ring)258 4767 y(cl_univpoly_integer_rin)o(g)258
4059 4870 y(<cln/univpoly_integer.h)o(>)-30 5004 y Fr(and)30
4060 b(the)g(corresp)s(onding)g(classes)h(of)g(univ)-5 b(ariate)31
4061 b(p)s(olynomials)e(are)1117 5132 y Fp(Univariate)45 b(polynomial)1451
4062 5236 y(cl_UP)1260 5340 y(<cln/univpoly.h>)p eop
4063 %%Page: 39 41
4064 39 40 bop -30 -116 a Fr(Chapter)30 b(9:)41 b(Univ)-5
4065 b(ariate)32 b(p)s(olynomials)2483 b(39)1546 299 y Fp(|)735
4066 403 y(+----------------+------)o(----)o(----)o(---)o(--+)735
4067 506 y(|)763 b(|)907 b(|)353 610 y(Complex)46 b(polynomial)331
4068 b(|)286 b(Modular)46 b(integer)g(polynomial)592 714 y(cl_UP_N)618
4069 b(|)764 b(cl_UP_MI)258 818 y(<cln/univpoly_complex.h)o(>)137
4070 b(|)382 b(<cln/univpoly_modint.h>)1546 922 y(|)735 1025
4071 y(+----------------+)735 1129 y(|)763 b(|)449 1233 y(Real)46
4072 b(polynomial)379 b(|)592 1337 y(cl_UP_R)618 b(|)305 1440
4073 y(<cln/univpoly_real.h>)233 b(|)1546 1544 y(|)735 1648
4074 y(+----------------+)735 1752 y(|)763 b(|)353 1856 y(Rational)46
4075 b(polynomial)283 b(|)592 1959 y(cl_UP_RA)570 b(|)258
4076 2063 y(<cln/univpoly_rational.)o(h>)89 b(|)1546 2167
4077 y(|)735 2271 y(+----------------+)735 2374 y(|)353 2478
4078 y(Integer)46 b(polynomial)592 2582 y(cl_UP_I)258 2686
4079 y(<cln/univpoly_integer.h)o(>)-30 3545 y Fr(Univ)-5 b(ariate)32
4080 b(p)s(olynomial)d(rings)h(are)h(constructed)g(using)f(the)g(functions)
4081 -30 4792 y Fp(cl_univpoly_ring)c(find_univpoly_ring)f(\(const)k
4082 (cl_ring&)f(R\))-30 4902 y(cl_univpoly_ring)e(find_univpoly_ring)f
4083 (\(const)k(cl_ring&)f(R,)i(const)f(cl_symbol&)e(varname\))450
4084 5011 y Fr(This)40 b(function)h(returns)f(the)h(p)s(olynomial)g(ring)g
4085 (`)p Fp(R[X])p Fr(',)i(unnamed)c(or)i(named.)71 b Fp(R)41
4086 b Fr(ma)m(y)g(b)s(e)f(an)450 5121 y(arbitrary)f(ring.)68
4087 b(This)39 b(function)g(tak)m(es)i(care)f(of)g(\014nding)e(out)h(ab)s
4088 (out)h(sp)s(ecial)g(cases)g(of)g Fp(R)p Fr(,)h(suc)m(h)450
4089 5230 y(as)33 b(the)g(rings)g(of)g(complex)f(n)m(um)m(b)s(ers,)g(real)h
4090 (n)m(um)m(b)s(ers,)f(rational)i(n)m(um)m(b)s(ers,)d(in)m(tegers,)k(or)e
4091 (mo)s(dular)450 5340 y(in)m(teger)i(rings.)48 b(There)33
4092 b(is)g(a)h(cac)m(he)g(table)g(of)g(rings,)f(indexed)g(b)m(y)g
4093 Fp(R)g Fr(and)f Fp(varname)p Fr(.)48 b(This)32 b(ensures)p
4094 eop
4095 %%Page: 40 42
4096 40 41 bop -30 -116 a Fr(Chapter)30 b(9:)41 b(Univ)-5
4097 b(ariate)32 b(p)s(olynomials)2483 b(40)450 299 y(that)28
4098 b(t)m(w)m(o)i(calls)f(of)e(this)h(function)g(with)f(the)h(same)f
4099 (argumen)m(ts)h(will)g(return)e(the)i(same)g(p)s(olynomial)450
4100 408 y(ring.)-30 547 y Fp(cl_univpoly_complex_ring)c(find_univpoly_ring)
4101 h(\(const)k(cl_complex_ring&)d(R\))-30 657 y(cl_univpoly_complex_ring)e
4102 (find_univpoly_ring)h(\(const)k(cl_complex_ring&)d(R,)j(const)-30
4103 766 y(cl_symbol&)f(varname\))-30 876 y(cl_univpoly_real_ring)d
4104 (find_univpoly_ring)g(\(const)k(cl_real_ring&)d(R\))-30
4105 986 y(cl_univpoly_real_ring)f(find_univpoly_ring)g(\(const)k
4106 (cl_real_ring&)d(R,)k(const)f(cl_symbol&)-30 1095 y(varname\))-30
4107 1205 y(cl_univpoly_rational_rin)o(g)24 b(find_univpoly_ring)i(\(const)j
4108 (cl_rational_ring&)c(R\))-30 1314 y(cl_univpoly_rational_rin)o(g)f
4109 (find_univpoly_ring)i(\(const)j(cl_rational_ring&)c(R,)30
4110 b(const)-30 1424 y(cl_symbol&)e(varname\))-30 1533 y
4111 (cl_univpoly_integer_ring)c(find_univpoly_ring)h(\(const)k
4112 (cl_integer_ring&)d(R\))-30 1643 y(cl_univpoly_integer_ring)e
4113 (find_univpoly_ring)h(\(const)k(cl_integer_ring&)d(R,)j(const)-30
4114 1753 y(cl_symbol&)f(varname\))-30 1862 y(cl_univpoly_modint_ring)c
4115 (find_univpoly_ring)h(\(const)k(cl_modint_ring&)d(R\))-30
4116 1972 y(cl_univpoly_modint_ring)e(find_univpoly_ring)h(\(const)k
4117 (cl_modint_ring&)d(R,)k(const)f(cl_symbol&)-30 2081 y(varname\))450
4118 2191 y Fr(These)24 b(functions)g(are)h(equiv)-5 b(alen)m(t)26
4119 b(to)g(the)e(general)i Fp(find_univpoly_ring)p Fr(,)21
4120 b(only)k(the)f(return)g(t)m(yp)s(e)450 2301 y(is)30 b(more)g(sp)s
4121 (eci\014c,)g(according)i(to)f(the)f(base)h(ring's)f(t)m(yp)s(e.)-30
4122 2579 y Fs(9.2)68 b(F)-11 b(unctions)44 b(on)h(univ)-7
4123 b(ariate)46 b(p)t(olynomials)-30 2780 y Fr(Giv)m(en)31
4124 b(a)g(univ)-5 b(ariate)31 b(p)s(olynomial)f(ring)g Fp(R)p
4125 Fr(,)g(the)h(follo)m(wing)h(mem)m(b)s(ers)27 b(can)k(b)s(e)f(used.)-30
4126 2952 y Fp(cl_ring)e(R->basering\(\))450 3061 y Fr(This)i(returns)f(the)
4127 h(base)h(ring,)f(as)h(passed)f(to)h(`)p Fp(find_univpoly_ring)p
4128 Fr('.)-30 3229 y Fp(cl_UP)e(R->zero\(\))450 3339 y Fr(This)h(returns)f
4129 Fp(0)h(in)g(R)p Fr(,)g(a)h(p)s(olynomial)e(of)i(degree)g(-1.)-30
4130 3506 y Fp(cl_UP)e(R->one\(\))450 3616 y Fr(This)h(returns)f
4131 Fp(1)h(in)g(R)p Fr(,)g(a)h(p)s(olynomial)e(of)i(degree)g
4132 Fp(<)p Fr(=)f(0.)-30 3784 y Fp(cl_UP)f(R->canonhom)e(\(const)i(cl_I&)g
4133 (x\))450 3893 y Fr(This)h(returns)f Fp(x)h(in)g(R)p Fr(,)g(a)h(p)s
4134 (olynomial)e(of)i(degree)g Fp(<)p Fr(=)f(0.)-30 4061
4135 y Fp(cl_UP)f(R->monomial)e(\(const)i(cl_ring_element&)d(x,)k(uintL)f
4136 (e\))450 4171 y Fr(This)h(returns)f(a)h(sparse)g(p)s(olynomial:)41
4137 b Fp(x)30 b(*)g(X^e)p Fr(,)f(where)h Fp(X)g Fr(is)h(the)f
4138 (indeterminate.)-30 4339 y Fp(cl_UP)f(R->create)f(\(sintL)g(degree\))
4139 450 4448 y Fr(Creates)d(a)f(new)f(p)s(olynomial)g(with)h(a)g(giv)m(en)h
4140 (degree.)39 b(The)24 b(zero)g(p)s(olynomial)g(has)f(degree)i
4141 Fp(-1)p Fr(.)38 b(After)450 4558 y(creating)26 b(the)f(p)s(olynomial,)g
4142 (y)m(ou)g(should)e(put)h(in)g(the)h(co)s(e\016cien)m(ts,)j(using)c(the)
4143 h Fp(set_coeff)d Fr(mem)m(b)s(er)450 4667 y(function,)30
4144 b(and)g(then)g(call)i(the)e Fp(finalize)f Fr(mem)m(b)s(er)e(function.)
4145 -30 4839 y(The)j(follo)m(wing)i(are)e(the)h(only)g(destructiv)m(e)g(op)
4146 s(erations)g(on)f(univ)-5 b(ariate)31 b(p)s(olynomials.)-30
4147 5011 y Fp(void)e(set_coeff)f(\(cl_UP&)g(x,)i(uintL)f(index,)g(const)g
4148 (cl_ring_element&)d(y\))450 5121 y Fr(This)32 b(c)m(hanges)i(the)f(co)s
4149 (e\016cien)m(t)i(of)e Fp(X^index)e Fr(in)i Fp(x)g Fr(to)g(b)s(e)g
4150 Fp(y)p Fr(.)48 b(After)33 b(c)m(hanging)h(a)f(p)s(olynomial)g(and)450
4151 5230 y(b)s(efore)40 b(applying)h(an)m(y)g Fp(")p Fr(normal)p
4152 Fp(")e Fr(op)s(eration)i(on)g(it,)j(y)m(ou)d(should)f(call)i(its)f
4153 Fp(finalize)e Fr(mem)m(b)s(er)450 5340 y(function.)p
4154 eop
4155 %%Page: 41 43
4156 41 42 bop -30 -116 a Fr(Chapter)30 b(9:)41 b(Univ)-5
4157 b(ariate)32 b(p)s(olynomials)2483 b(41)-30 299 y Fp(void)29
4158 b(finalize)f(\(cl_UP&)h(x\))450 408 y Fr(This)j(function)h(marks)f(the)
4159 h(endp)s(oin)m(t)f(of)i(destructiv)m(e)g(mo)s(di\014cations)e(of)h(a)h
4160 (p)s(olynomial.)48 b(It)33 b(nor-)450 518 y(malizes)c(the)f(in)m
4161 (ternal)h(represen)m(tation)h(so)e(that)h(subsequen)m(t)f(computations)
4162 g(ha)m(v)m(e)i(less)e(o)m(v)m(erhead.)450 628 y(Doing)f(normal)e
4163 (computations)g(on)h(unnormalized)f(p)s(olynomials)g(ma)m(y)g(pro)s
4164 (duce)g(wrong)g(results)h(or)450 737 y(crash)k(the)h(program.)-30
4165 887 y(The)f(follo)m(wing)i(op)s(erations)e(are)h(de\014ned)e(on)i(univ)
4166 -5 b(ariate)31 b(p)s(olynomials.)-30 1036 y Fp(cl_univpoly_ring)26
4167 b(x.ring)j(\(\))450 1146 y Fr(Returns)g(the)i(ring)f(to)h(whic)m(h)f
4168 (the)h(univ)-5 b(ariate)31 b(p)s(olynomial)f Fp(x)g Fr(b)s(elongs.)-30
4169 1295 y Fp(cl_UP)f(operator+)f(\(const)g(cl_UP&,)h(const)g(cl_UP&\))450
4170 1405 y Fr(Returns)g(the)i(sum)d(of)j(t)m(w)m(o)h(univ)-5
4171 b(ariate)31 b(p)s(olynomials.)-30 1554 y Fp(cl_UP)e(operator-)f
4172 (\(const)g(cl_UP&,)h(const)g(cl_UP&\))450 1664 y Fr(Returns)g(the)i
4173 (di\013erence)g(of)f(t)m(w)m(o)i(univ)-5 b(ariate)31
4174 b(p)s(olynomials.)-30 1813 y Fp(cl_UP)e(operator-)f(\(const)g(cl_UP&\))
4175 450 1923 y Fr(Returns)h(the)i(negativ)m(e)i(of)d(a)h(univ)-5
4176 b(ariate)31 b(p)s(olynomial.)-30 2072 y Fp(cl_UP)e(operator*)f(\(const)
4177 g(cl_UP&,)h(const)g(cl_UP&\))450 2182 y Fr(Returns)i(the)i(pro)s(duct)d
4178 (of)j(t)m(w)m(o)g(univ)-5 b(ariate)33 b(p)s(olynomials.)45
4179 b(One)32 b(of)g(the)g(argumen)m(ts)g(ma)m(y)f(also)j(b)s(e)450
4180 2291 y(a)d(plain)f(in)m(teger)i(or)e(an)g(elemen)m(t)h(of)g(the)f(base)
4181 h(ring.)-30 2441 y Fp(cl_UP)e(square)g(\(const)f(cl_UP&\))450
4182 2550 y Fr(Returns)h(the)i(square)f(of)h(a)f(univ)-5 b(ariate)31
4183 b(p)s(olynomial.)-30 2700 y Fp(cl_UP)e(expt_pos)f(\(const)h(cl_UP&)f
4184 (x,)i(const)f(cl_I&)g(y\))450 2809 y(y)h Fr(m)m(ust)f(b)s(e)h
4185 Fp(>)g Fr(0.)41 b(Returns)30 b Fp(x^y)p Fr(.)-30 2959
4186 y Fp(bool)f(operator==)f(\(const)g(cl_UP&,)h(const)g(cl_UP&\))-30
4187 3068 y(bool)g(operator!=)f(\(const)g(cl_UP&,)h(const)g(cl_UP&\))450
4188 3178 y Fr(Compares)23 b(t)m(w)m(o)i(univ)-5 b(ariate)25
4189 b(p)s(olynomials,)g(b)s(elonging)g(to)g(the)f(same)g(univ)-5
4190 b(ariate)24 b(p)s(olynomial)g(ring,)450 3288 y(for)30
4191 b(equalit)m(y)-8 b(.)-30 3437 y Fp(cl_boolean)28 b(zerop)h(\(const)f
4192 (cl_UP&)h(x\))450 3547 y Fr(Returns)g(true)i(if)f Fp(x)g
4193 Fr(is)g Fp(0)g(in)g(R)p Fr(.)-30 3696 y Fp(sintL)f(degree)g(\(const)f
4194 (cl_UP&)h(x\))450 3806 y Fr(Returns)g(the)i(degree)g(of)g(the)f(p)s
4195 (olynomial.)40 b(The)30 b(zero)h(p)s(olynomial)f(has)g(degree)h
4196 Fp(-1)p Fr(.)-30 3955 y Fp(cl_ring_element)26 b(coeff)j(\(const)g
4197 (cl_UP&)f(x,)i(uintL)f(index\))450 4065 y Fr(Returns)g(the)i(co)s
4198 (e\016cien)m(t)h(of)f Fp(X^index)d Fr(in)i(the)h(p)s(olynomial)f
4199 Fp(x)p Fr(.)-30 4214 y Fp(cl_ring_element)c(x)k(\(const)f
4200 (cl_ring_element&)d(y\))450 4324 y Fr(Ev)-5 b(aluation:)42
4201 b(If)29 b Fp(x)h Fr(is)h(a)f(p)s(olynomial)g(and)f Fp(y)h
4202 Fr(b)s(elongs)g(to)h(the)g(base)f(ring,)g(then)g(`)p
4203 Fp(x\(y\))p Fr(')g(returns)f(the)450 4433 y(v)-5 b(alue)31
4204 b(of)f(the)h(substitution)f(of)h Fp(y)f Fr(in)m(to)h
4205 Fp(x)p Fr(.)-30 4583 y Fp(cl_UP)e(deriv)g(\(const)g(cl_UP&)f(x\))450
4206 4692 y Fr(Returns)h(the)i(deriv)-5 b(ativ)m(e)32 b(of)e(the)h(p)s
4207 (olynomial)f Fp(x)g Fr(with)g(resp)s(ect)g(to)h(the)g(indeterminate)f
4208 Fp(X)p Fr(.)-30 4842 y(The)g(follo)m(wing)i(output)e(functions)g(are)g
4209 (de\014ned)g(\(see)h(also)g(the)g(c)m(hapter)g(on)f(input/output\).)-30
4210 4991 y Fp(void)f(fprint)g(\(cl_ostream)e(stream,)i(const)f(cl_UP&)h
4211 (x\))-30 5101 y(cl_ostream)f(operator<<)f(\(cl_ostream)g(stream,)i
4212 (const)g(cl_UP&)f(x\))450 5210 y Fr(Prin)m(ts)d(the)f(univ)-5
4213 b(ariate)26 b(p)s(olynomial)e Fp(x)g Fr(on)h(the)f Fp(stream)p
4214 Fr(.)38 b(The)24 b(output)g(ma)m(y)g(dep)s(end)f(on)i(the)g(global)450
4215 5320 y(prin)m(ter)30 b(settings)h(in)f(the)h(v)-5 b(ariable)31
4216 b Fp(default_print_flags)p Fr(.)p eop
4217 %%Page: 42 44
4218 42 43 bop -30 -116 a Fr(Chapter)30 b(9:)41 b(Univ)-5
4219 b(ariate)32 b(p)s(olynomials)2483 b(42)-30 299 y Fs(9.3)68
4220 b(Sp)t(ecial)45 b(p)t(olynomials)-30 491 y Fr(The)30
4221 b(follo)m(wing)i(functions)e(return)f(sp)s(ecial)i(p)s(olynomials.)-30
4222 651 y Fp(cl_UP_I)d(tschebychev)g(\(sintL)g(n\))450 760
4223 y Fr(Returns)h(the)i(n-th)f(Cheb)m(yshev)g(p)s(olynomial)f(\(n)h
4224 Fp(>)p Fr(=)g(0\).)-30 920 y Fp(cl_UP_I)e(hermite)h(\(sintL)f(n\))450
4225 1029 y Fr(Returns)h(the)i(n-th)f(Hermite)g(p)s(olynomial)g(\(n)g
4226 Fp(>)p Fr(=)g(0\).)-30 1189 y Fp(cl_UP_RA)e(legendre)g(\(sintL)h(n\))
4227 450 1298 y Fr(Returns)g(the)i(n-th)f(Legendre)g(p)s(olynomial)g(\(n)g
4228 Fp(>)p Fr(=)g(0\).)-30 1458 y Fp(cl_UP_I)e(laguerre)h(\(sintL)f(n\))450
4229 1567 y Fr(Returns)h(the)i(n-th)f(Laguerre)h(p)s(olynomial)e(\(n)h
4230 Fp(>)p Fr(=)g(0\).)-30 1727 y(Information)e(ho)m(w)h(to)h(deriv)m(e)g
4231 (the)g(di\013eren)m(tial)g(equation)h(satis\014ed)e(b)m(y)g(eac)m(h)h
4232 (of)g(these)g(p)s(olynomials)e(from)g(their)-30 1836
4233 y(de\014nition)i(can)h(b)s(e)e(found)g(in)i(the)f Fp(doc/polynomial/)c
4234 Fr(directory)-8 b(.)p eop
4235 %%Page: 43 45
4236 43 44 bop -30 -116 a Fr(Chapter)30 b(10:)41 b(In)m(ternals)3010
4237 b(43)-30 299 y Fo(10)80 b(In)l(ternals)-30 651 y Fs(10.1)68
4238 b(Wh)l(y)45 b(C)p Fg(++)f Fs(?)-30 843 y Fr(Using)31
4239 b(C)p Fp(++)e Fr(as)i(an)f(implemen)m(tation)g(language)i(pro)m(vides)
4240 45 977 y Fq(\017)60 b Fr(E\016ciency:)41 b(It)31 b(compiles)f(to)h(mac)
4241 m(hine)f(co)s(de.)45 1111 y Fq(\017)60 b Fr(P)m(ortabilit)m(y:)49
4242 b(It)33 b(runs)f(on)h(all)h(platforms)f(supp)s(orting)e(a)j(C)p
4243 Fp(++)e Fr(compiler.)50 b(Because)34 b(of)g(the)f(a)m(v)-5
4244 b(ailabilit)m(y)37 b(of)150 1220 y(GNU)j(C)p Fp(++)p
4245 Fr(,)h(this)f(includes)f(all)h(curren)m(tly)g(used)e(32-bit)j(and)e
4246 (64-bit)i(platforms,)g(indep)s(enden)m(tly)d(of)i(the)150
4247 1330 y(qualit)m(y)32 b(of)e(the)h(v)m(endor's)f(C)p Fp(++)f
4248 Fr(compiler.)45 1464 y Fq(\017)60 b Fr(T)m(yp)s(e)30
4249 b(safet)m(y:)43 b(The)30 b(C)p Fp(++)g Fr(compilers)g(kno)m(ws)g(ab)s
4250 (out)h(the)f(n)m(um)m(b)s(er)f(t)m(yp)s(es)h(and)h(complains)f(if,)h
4251 (for)f(example,)150 1573 y(y)m(ou)44 b(try)f(to)i(assign)f(a)g(\015oat)
4252 g(to)g(an)g(in)m(teger)h(v)-5 b(ariable.)81 b(Ho)m(w)m(ev)m(er,)50
4253 b(a)44 b(dra)m(wbac)m(k)g(is)f(that)h(C)p Fp(++)f Fr(do)s(esn't)150
4254 1683 y(kno)m(w)33 b(ab)s(out)h(generic)g(t)m(yp)s(es,)g(hence)g(a)g
4255 (restriction)g(lik)m(e)h(that)f Fp(operator+)28 b(\(const)g(cl_MI&,)h
4256 (const)g(cl_)150 1792 y(MI&\))j Fr(requires)h(that)g(b)s(oth)g(argumen)
4257 m(ts)f(b)s(elong)h(to)h(the)g(same)e(mo)s(dular)f(ring)i(cannot)h(b)s
4258 (e)f(expressed)f(as)i(a)150 1902 y(compile-time)c(information.)45
4259 2036 y Fq(\017)60 b Fr(Algebraic)37 b(syn)m(tax:)52 b(The)35
4260 b(elemen)m(tary)h(op)s(erations)g Fp(+)p Fr(,)g Fp(-)p
4261 Fr(,)h Fp(*)p Fr(,)g Fp(=)p Fr(,)g Fp(==)p Fr(,)f(...)57
4262 b(can)36 b(b)s(e)f(used)f(in)i(in\014x)e(notation,)150
4263 2145 y(whic)m(h)c(is)h(more)e(con)m(v)m(enien)m(t)k(than)d(Lisp)f
4264 (notation)j(`)p Fp(\(+)e(x)g(y\))p Fr(')g(or)g(C)g(notation)i(`)p
4265 Fp(add\(x,y,&z\))p Fr('.)-30 2303 y(With)24 b(these)f(language)h
4266 (features,)i(there)d(is)g(no)g(need)g(for)f(t)m(w)m(o)j(separate)f
4267 (languages,)i(one)d(for)g(the)g(implemen)m(tation)-30
4268 2413 y(of)44 b(the)g(library)f(and)g(one)h(in)g(whic)m(h)f(the)h
4269 (library's)g(users)f(can)h(program.)79 b(This)43 b(means)g(that)h(a)g
4270 (protot)m(yp)s(e)-30 2523 y(implemen)m(tation)c(of)g(an)g(algorithm)g
4271 (can)h(b)s(e)f(in)m(tegrated)h(in)m(to)h(the)e(library)g(immediately)f
4272 (after)i(it)g(has)f(b)s(een)-30 2632 y(tested)g(and)e(debugged.)65
4273 b(No)39 b(need)g(to)g(rewrite)g(it)h(in)e(a)h(lo)m(w-lev)m(el)j
4274 (language)e(after)f(ha)m(ving)g(protot)m(yp)s(ed)g(in)g(a)-30
4275 2742 y(high-lev)m(el)32 b(language.)-30 2997 y Fs(10.2)68
4276 b(Memory)45 b(e\016ciency)-30 3189 y Fr(In)30 b(order)g(to)h(sa)m(v)m
4277 (e)h(memory)c(allo)s(cations,)33 b(CLN)d(implemen)m(ts:)45
4278 3323 y Fq(\017)60 b Fr(Ob)5 b(ject)31 b(sharing:)40 b(An)30
4279 b(op)s(eration)h(lik)m(e)g Fp(x+0)f Fr(returns)f Fp(x)h
4280 Fr(without)g(cop)m(ying)i(it.)45 3457 y Fq(\017)60 b
4281 Fr(Garbage)29 b(collection:)42 b(A)28 b(reference)h(coun)m(ting)g(mec)m
4282 (hanism)d(mak)m(es)i(sure)f(that)i(an)m(y)f(n)m(um)m(b)s(er)d(ob)5
4283 b(ject's)29 b(stor-)150 3566 y(age)j(is)e(freed)g(immediately)g(when)f
4284 (the)i(last)g(reference)g(to)g(the)f(ob)5 b(ject)32 b(is)e(gone.)45
4285 3700 y Fq(\017)60 b Fr(Small)35 b(in)m(tegers)h(are)g(represen)m(ted)f
4286 (as)h(immediate)e(v)-5 b(alues)36 b(instead)g(of)f(p)s(oin)m(ters)h(to)
4287 g(heap)f(allo)s(cated)i(stor-)150 3810 y(age.)51 b(This)33
4288 b(means)f(that)i(in)m(tegers)g Fp(>)d(-2^29)p Fr(,)h
4289 Fp(<)f(2^29)h Fr(don't)h(consume)f(heap)h(memory)-8 b(,)33
4290 b(unless)g(they)g(w)m(ere)150 3919 y(explicitly)f(allo)s(cated)g(on)f
4291 (the)f(heap.)-30 4174 y Fs(10.3)68 b(Sp)t(eed)45 b(e\016ciency)-30
4292 4366 y Fr(Sp)s(eed)29 b(e\016ciency)j(is)e(obtained)h(b)m(y)f(the)h
4293 (com)m(bination)f(of)h(the)f(follo)m(wing)i(tric)m(ks)f(and)f
4294 (algorithms:)45 4500 y Fq(\017)60 b Fr(Small)43 b(in)m(tegers,)49
4295 b(b)s(eing)43 b(represen)m(ted)h(as)g(immediate)f(v)-5
4296 b(alues,)48 b(don't)43 b(require)h(memory)e(access,)48
4297 b(just)c(a)150 4610 y(couple)31 b(of)f(instructions)h(for)f(eac)m(h)h
4298 (elemen)m(tary)g(op)s(eration.)45 4744 y Fq(\017)60 b
4299 Fr(The)31 b(k)m(ernel)h(of)f(CLN)g(has)g(b)s(een)g(written)g(in)g
4300 (assem)m(bly)g(language)i(for)e(some)g(CPUs)f(\()p Fp(i386)p
4301 Fr(,)h Fp(m68k)p Fr(,)g Fp(sparc)p Fr(,)150 4853 y Fp(mips)p
4302 Fr(,)e Fp(arm)p Fr(\).)45 4987 y Fq(\017)60 b Fr(On)38
4303 b(all)h(CPUs,)h(CLN)e(ma)m(y)g(b)s(e)g(con\014gured)g(to)h(use)f(the)g
4304 (sup)s(ere\016cien)m(t)h(lo)m(w-lev)m(el)i(routines)d(from)f(GNU)150
4305 5097 y(GMP)31 b(v)m(ersion)g(3.)45 5230 y Fq(\017)60
4306 b Fr(F)-8 b(or)32 b(large)g(n)m(um)m(b)s(ers,)e(CLN)g(uses,)i(instead)f
4307 (of)h(the)f(standard)f Fp(O\(N^2\))g Fr(algorithm,)i(the)f(Karatsuba)g
4308 (m)m(ulti-)150 5340 y(plication,)h(whic)m(h)e(is)h(an)f
4309 Ff(O)s Fr(\()p Ff(N)1217 5307 y Fi(1)p Fj(:)p Fi(6)1307
4310 5340 y Fr(\))h(algorithm.)p eop
4311 %%Page: 44 46
4312 44 45 bop -30 -116 a Fr(Chapter)30 b(10:)41 b(In)m(ternals)3010
4313 b(44)45 299 y Fq(\017)60 b Fr(F)-8 b(or)50 b(v)m(ery)g(large)g(n)m(um)m
4314 (b)s(ers)d(\(more)i(than)g(12000)j(decimal)d(digits\),)55
4315 b(CLN)49 b(uses)g(Sc)m(h\177)-45 b(onhage-Strassen)150
4316 408 y(m)m(ultiplication,)32 b(whic)m(h)e(is)g(an)g(asymptotically)i
4317 (optimal)e(m)m(ultiplication)i(algorithm.)45 543 y Fq(\017)60
4318 b Fr(These)32 b(fast)g(m)m(ultiplication)i(algorithms)e(also)h(giv)m(e)
4319 g(impro)m(v)m(emen)m(ts)f(in)g(the)g(sp)s(eed)f(of)i(division)f(and)f
4320 (radix)150 653 y(con)m(v)m(ersion.)-30 910 y Fs(10.4)68
4321 b(Garbage)46 b(collection)-30 1103 y Fr(All)33 b(the)g(n)m(um)m(b)s(er)
4322 d(classes)j(are)g(reference)g(coun)m(t)g(classes:)46
4323 b(They)31 b(only)i(con)m(tain)h(a)f(p)s(oin)m(ter)f(to)h(an)f(ob)5
4324 b(ject)34 b(in)e(the)-30 1212 y(heap.)40 b(Up)s(on)27
4325 b(construction,)j(assignmen)m(t)e(and)g(destruction)h(of)f(n)m(um)m(b)s
4326 (er)e(ob)5 b(jects,)30 b(only)f(the)f(ob)5 b(jects')29
4327 b(reference)-30 1322 y(coun)m(t)i(are)g(manipulated.)-30
4328 1456 y(Memory)k(o)s(ccupied)h(b)m(y)f(n)m(um)m(b)s(er)f(ob)5
4329 b(jects)36 b(are)h(automatically)g(reclaimed)f(as)g(so)s(on)f(as)h
4330 (their)g(reference)g(coun)m(t)-30 1566 y(drops)29 b(to)i(zero.)-30
4331 1700 y(F)-8 b(or)34 b(n)m(um)m(b)s(er)e(rings,)i(another)g(strategy)h
4332 (is)f(implemen)m(ted:)46 b(There)33 b(is)h(a)g(cac)m(he)h(of,)g(for)f
4333 (example,)g(the)g(mo)s(dular)-30 1810 y(in)m(teger)29
4334 b(rings.)39 b(A)27 b(mo)s(dular)f(in)m(teger)j(ring)e(is)g(destro)m(y)m
4335 (ed)h(only)g(if)f(its)h(reference)g(coun)m(t)g(dropp)s(ed)d(to)j(zero)g
4336 (and)f(the)-30 1919 y(cac)m(he)36 b(is)f(ab)s(out)f(to)h(b)s(e)f
4337 (resized.)54 b(The)34 b(e\013ect)i(of)e(this)h(strategy)h(is)e(that)h
4338 (recen)m(tly)h(used)e(rings)g(remain)g(cac)m(hed,)-30
4339 2029 y(whereas)c(undue)f(memory)f(consumption)h(through)h(cac)m(hed)h
4340 (rings)f(is)h(a)m(v)m(oided.)p eop
4341 %%Page: 45 47
4342 45 46 bop -30 -116 a Fr(Chapter)30 b(11:)41 b(Using)31
4343 b(the)f(library)2681 b(45)-30 299 y Fo(11)80 b(Using)54
4344 b(the)f(library)-30 542 y Fr(F)-8 b(or)47 b(the)g(follo)m(wing)g
4345 (discussion,)j(w)m(e)d(will)g(assume)e(that)h(y)m(ou)h(ha)m(v)m(e)h
4346 (installed)f(the)f(CLN)g(source)g(in)g Fp($CLN_)-30 652
4347 y(DIR)41 b Fr(and)g(built)h(it)g(in)g Fp($CLN_TARGETDIR)p
4348 Fr(.)71 b(F)-8 b(or)43 b(example,)h(for)e(me)f(it's)h
4349 Fp(CLN_DIR="$HOME/cln")37 b Fr(and)k Fp(CLN_)-30 762
4350 y(TARGETDIR="$HOME/cln/lin)o(uxel)o(f")p Fr(.)53 b(Y)-8
4351 b(ou)38 b(migh)m(t)e(de\014ne)g(these)h(as)g(en)m(vironmen)m(t)f(v)-5
4352 b(ariables,)40 b(or)c(directly)-30 871 y(substitute)30
4353 b(the)h(appropriate)f(v)-5 b(alues.)-30 1136 y Fs(11.1)68
4354 b(Compiler)46 b(options)-30 1332 y Fr(Un)m(til)31 b(y)m(ou)g(ha)m(v)m
4355 (e)h(installed)f(CLN)f(in)g(a)h(public)e(place,)j(the)e(follo)m(wing)i
4356 (options)f(are)g(needed:)-30 1470 y(When)f(y)m(ou)h(compile)f(CLN)g
4357 (application)i(co)s(de,)f(add)e(the)i(\015ags)353 1601
4358 y Fp(-I$CLN_DIR/include)43 b(-I$CLN_TARGETDIR/include)-30
4359 1739 y Fr(to)29 b(the)g(C)p Fp(++)e Fr(compiler's)h(command)f(line)h
4360 (\()p Fp(make)g Fr(v)-5 b(ariable)29 b(CFLA)m(GS)g(or)f(CXXFLA)m(GS\).)
4361 i(When)e(y)m(ou)h(link)f(CLN)-30 1849 y(application)k(co)s(de)e(to)h
4362 (form)e(an)i(executable,)h(add)e(the)g(\015ags)353 1980
4363 y Fp($CLN_TARGETDIR/src/libcln)o(.a)-30 2118 y Fr(to)h(the)g(C/C)p
4364 Fp(++)e Fr(compiler's)h(command)e(line)j(\()p Fp(make)f
4365 Fr(v)-5 b(ariable)31 b(LIBS\).)-30 2256 y(If)62 b(y)m(ou)h(did)f(a)h
4366 Fp(make)29 b(install)p Fr(,)69 b(the)62 b(include)h(\014les)f(are)h
4367 (installed)g(in)g(a)f(public)g(directory)h(\(normally)-30
4368 2365 y Fp(/usr/local/include)p Fr(\),)45 b(hence)g(y)m(ou)h(don't)g
4369 (need)f(sp)s(ecial)h(\015ags)g(for)f(compiling.)85 b(The)45
4370 b(library)g(has)h(b)s(een)-30 2475 y(installed)i(to)g(a)f(public)f
4371 (directory)i(as)f(w)m(ell)h(\(normally)f Fp(/usr/local/lib)p
4372 Fr(\),)h(hence)f(when)f(linking)h(a)g(CLN)-30 2584 y(application)32
4373 b(it)f(is)f(su\016cien)m(t)h(to)g(giv)m(e)h(the)e(\015ag)h
4374 Fp(-lcln)p Fr(.)-30 2850 y Fs(11.2)68 b(Compatibilit)l(y)48
4375 b(to)d(old)g(CLN)g(v)l(ersions)-30 3045 y Fr(As)39 b(of)h(CLN)f(v)m
4376 (ersion)h(1.1)h(all)f(non-macro)f(iden)m(ti\014ers)g(w)m(ere)h(hidden)e
4377 (in)h(namespace)h Fp(cln)e Fr(in)h(order)g(to)h(a)m(v)m(oid)-30
4378 3155 y(p)s(oten)m(tial)f(name)e(clashes)h(with)f(other)h(C)p
4379 Fp(++)e Fr(libraries.)62 b(If)37 b(y)m(ou)h(ha)m(v)m(e)h(an)e(old)h
4380 (application,)j(y)m(ou)d(will)f(ha)m(v)m(e)i(to)-30 3264
4381 y(man)m(ually)30 b(p)s(ort)g(it)h(to)g(the)f(new)g(sc)m(heme.)41
4382 b(The)29 b(follo)m(wing)j(principles)e(will)h(help)f(during)f(the)i
4383 (transition:)45 3402 y Fq(\017)60 b Fr(All)35 b(headers)f(are)h(no)m(w)
4384 f(in)g(a)h(separate)h(sub)s(directory)-8 b(.)52 b(Instead)34
4385 b(of)h(including)f Fp(cl_)p Fl(something)8 b Fp(.h)p
4386 Fr(,)33 b(include)150 3512 y Fp(cln/)p Fl(something)8
4387 b Fp(.h)28 b Fr(no)m(w.)45 3648 y Fq(\017)60 b Fr(All)25
4388 b(public)e(iden)m(ti\014ers)i(\(t)m(yp)s(enames)e(and)h(functions\))g
4389 (ha)m(v)m(e)h(lost)g(their)g Fp(cl_)e Fr(pre\014x.)37
4390 b(Exceptions)25 b(are)g(all)g(the)150 3757 y(t)m(yp)s(enames)j(of)i(n)m
4391 (um)m(b)s(er)d(t)m(yp)s(es,)j(\(cl)p 1404 3757 28 4 v
4392 34 w(N,)f(cl)p 1625 3757 V 34 w(I,)g(cl)p 1811 3757 V
4393 33 w(MI,)36 b(.)22 b(.)g(.)11 b(\),)30 b(rings,)g(sym)m(b)s(olic)f(t)m
4394 (yp)s(es)g(\(cl)p 3204 3757 V 34 w(string,)g(cl)p 3585
4395 3757 V 34 w(sym)m(b)s(ol\))150 3867 y(and)36 b(p)s(olynomials)g(\(cl)p
4396 950 3867 V 33 w(UP)p 1113 3867 V 33 w Fl(t)m(yp)s(e)5
4397 b Fr(\).)60 b(\(This)36 b(is)h(b)s(ecause)f(their)h(names)f(w)m(ould)g
4398 (not)h(b)s(e)f(mnemonic)e(enough)150 3977 y(once)d(the)g(namespace)f
4399 Fp(cln)f Fr(is)i(imp)s(orted.)39 b(Ev)m(en)30 b(in)g(a)h(namespace)f(w)
4400 m(e)h(fa)m(v)m(or)g Fp(cl_N)f Fr(o)m(v)m(er)h Fp(N)p
4401 Fr(.\))45 4113 y Fq(\017)60 b Fr(All)30 b(public)e Fe(functions)37
4402 b Fr(that)29 b(had)g(b)m(y)g(a)g Fp(cl_)f Fr(in)h(their)g(name)f(still)
4403 i(carry)e(that)i Fp(cl_)e Fr(if)h(it)h(is)f(in)m(trinsic)g(part)g(of)
4404 150 4222 y(a)i(t)m(yp)s(ename)e(\(as)i(in)f Fp(cl_I_to_int)e(\(\))p
4405 Fr(\).)-30 4386 y(When)d(dev)m(eloping)h(other)f(libraries,)h(please)g
4406 (k)m(eep)f(in)g(mind)e(not)i(to)g(imp)s(ort)f(the)h(namespace)f
4407 Fp(cln)g Fr(in)h(one)g(of)g(y)m(our)-30 4496 y(public)e(header)g
4408 (\014les)h(b)m(y)g(sa)m(ying)g Fp(using)29 b(namespace)f(cln;)p
4409 Fr(.)37 b(This)23 b(w)m(ould)h(propagate)g(to)h(other)f(applications)h
4410 (and)-30 4605 y(can)31 b(cause)g(name)e(clashes)i(there.)-30
4411 4871 y Fs(11.3)68 b(Include)45 b(\014les)-30 5066 y Fr(Here)31
4412 b(is)f(a)h(summary)c(of)k(the)f(include)h(\014les)f(and)g(their)g(con)m
4413 (ten)m(ts.)-30 5230 y Fp(<cln/object.h>)450 5340 y Fr(General)h
4414 (de\014nitions,)f(reference)h(coun)m(ting,)h(garbage)f(collection.)p
4415 eop
4416 %%Page: 46 48
4417 46 47 bop -30 -116 a Fr(Chapter)30 b(11:)41 b(Using)31
4418 b(the)f(library)2681 b(46)-30 299 y Fp(<cln/number.h>)450
4419 408 y Fr(The)30 b(class)h(cl)p 920 408 28 4 v 33 w(n)m(um)m(b)s(er.)-30
4420 573 y Fp(<cln/complex.h>)450 682 y Fr(F)-8 b(unctions)31
4421 b(for)f(class)h(cl)p 1288 682 V 34 w(N,)f(the)h(complex)f(n)m(um)m(b)s
4422 (ers.)-30 847 y Fp(<cln/real.h>)450 956 y Fr(F)-8 b(unctions)31
4423 b(for)f(class)h(cl)p 1288 956 V 34 w(R,)f(the)h(real)g(n)m(um)m(b)s
4424 (ers.)-30 1121 y Fp(<cln/float.h>)450 1230 y Fr(F)-8
4425 b(unctions)31 b(for)f(class)h(cl)p 1288 1230 V 34 w(F,)f(the)h
4426 (\015oats.)-30 1395 y Fp(<cln/sfloat.h>)450 1504 y Fr(F)-8
4427 b(unctions)31 b(for)f(class)h(cl)p 1288 1504 V 34 w(SF,)f(the)h
4428 (short-\015oats.)-30 1669 y Fp(<cln/ffloat.h>)450 1778
4429 y Fr(F)-8 b(unctions)31 b(for)f(class)h(cl)p 1288 1778
4430 V 34 w(FF,)g(the)f(single-\015oats.)-30 1943 y Fp(<cln/dfloat.h>)450
4431 2052 y Fr(F)-8 b(unctions)31 b(for)f(class)h(cl)p 1288
4432 2052 V 34 w(DF,)g(the)f(double-\015oats.)-30 2217 y Fp(<cln/lfloat.h>)
4433 450 2326 y Fr(F)-8 b(unctions)31 b(for)f(class)h(cl)p
4434 1288 2326 V 34 w(LF,)f(the)h(long-\015oats.)-30 2491
4435 y Fp(<cln/rational.h>)450 2600 y Fr(F)-8 b(unctions)31
4436 b(for)f(class)h(cl)p 1288 2600 V 34 w(RA,)f(the)h(rational)g(n)m(um)m
4437 (b)s(ers.)-30 2765 y Fp(<cln/integer.h>)450 2874 y Fr(F)-8
4438 b(unctions)31 b(for)f(class)h(cl)p 1288 2874 V 34 w(I,)f(the)h(in)m
4439 (tegers.)-30 3039 y Fp(<cln/io.h>)450 3148 y Fr(Input/Output.)-30
4440 3313 y Fp(<cln/complex_io.h>)450 3422 y Fr(Input/Output)d(for)j(class)g
4441 (cl)p 1461 3422 V 33 w(N,)g(the)f(complex)g(n)m(um)m(b)s(ers.)-30
4442 3587 y Fp(<cln/real_io.h>)450 3696 y Fr(Input/Output)e(for)j(class)g
4443 (cl)p 1461 3696 V 33 w(R,)g(the)f(real)h(n)m(um)m(b)s(ers.)-30
4444 3861 y Fp(<cln/float_io.h>)450 3970 y Fr(Input/Output)d(for)j(class)g
4445 (cl)p 1461 3970 V 33 w(F,)g(the)g(\015oats.)-30 4134
4446 y Fp(<cln/sfloat_io.h>)450 4244 y Fr(Input/Output)d(for)j(class)g(cl)p
4447 1461 4244 V 33 w(SF,)f(the)h(short-\015oats.)-30 4408
4448 y Fp(<cln/ffloat_io.h>)450 4518 y Fr(Input/Output)d(for)j(class)g(cl)p
4449 1461 4518 V 33 w(FF,)g(the)g(single-\015oats.)-30 4682
4450 y Fp(<cln/dfloat_io.h>)450 4792 y Fr(Input/Output)d(for)j(class)g(cl)p
4451 1461 4792 V 33 w(DF,)g(the)g(double-\015oats.)-30 4956
4452 y Fp(<cln/lfloat_io.h>)450 5066 y Fr(Input/Output)d(for)j(class)g(cl)p
4453 1461 5066 V 33 w(LF,)g(the)f(long-\015oats.)-30 5230
4454 y Fp(<cln/rational_io.h>)450 5340 y Fr(Input/Output)e(for)j(class)g(cl)
4455 p 1461 5340 V 33 w(RA,)g(the)f(rational)i(n)m(um)m(b)s(ers.)p
4456 eop
4457 %%Page: 47 49
4458 47 48 bop -30 -116 a Fr(Chapter)30 b(11:)41 b(Using)31
4459 b(the)f(library)2681 b(47)-30 299 y Fp(<cln/integer_io.h>)450
4460 408 y Fr(Input/Output)28 b(for)j(class)g(cl)p 1461 408
4461 28 4 v 33 w(I,)f(the)h(in)m(tegers.)-30 573 y Fp(<cln/input.h>)450
4462 682 y Fr(Flags)h(for)e(customizing)g(input)g(op)s(erations.)-30
4463 847 y Fp(<cln/output.h>)450 956 y Fr(Flags)i(for)e(customizing)g
4464 (output)g(op)s(erations.)-30 1121 y Fp(<cln/malloc.h>)450
4465 1230 y(malloc_hook)p Fr(,)e Fp(free_hook)p Fr(.)-30 1395
4466 y Fp(<cln/abort.h>)450 1504 y(cl_abort)p Fr(.)-30 1669
4467 y Fp(<cln/condition.h>)450 1778 y Fr(Conditions/exceptions.)-30
4468 1943 y Fp(<cln/string.h>)450 2052 y Fr(Strings.)-30 2217
4469 y Fp(<cln/symbol.h>)450 2326 y Fr(Sym)m(b)s(ols.)-30
4470 2491 y Fp(<cln/proplist.h>)450 2600 y Fr(Prop)s(ert)m(y)i(lists.)-30
4471 2765 y Fp(<cln/ring.h>)450 2874 y Fr(General)h(rings.)-30
4472 3039 y Fp(<cln/null_ring.h>)450 3148 y Fr(The)f(n)m(ull)g(ring.)-30
4473 3313 y Fp(<cln/complex_ring.h>)450 3422 y Fr(The)g(ring)g(of)h(complex)
4474 f(n)m(um)m(b)s(ers.)-30 3587 y Fp(<cln/real_ring.h>)450
4475 3696 y Fr(The)g(ring)g(of)h(real)g(n)m(um)m(b)s(ers.)-30
4476 3861 y Fp(<cln/rational_ring.h>)450 3970 y Fr(The)f(ring)g(of)h
4477 (rational)g(n)m(um)m(b)s(ers.)-30 4134 y Fp(<cln/integer_ring.h>)450
4478 4244 y Fr(The)f(ring)g(of)h(in)m(tegers.)-30 4408 y Fp
4479 (<cln/numtheory.h>)450 4518 y Fr(Num)m(b)s(er)d(threory)i(functions.)
4480 -30 4682 y Fp(<cln/modinteger.h>)450 4792 y Fr(Mo)s(dular)g(in)m
4481 (tegers.)-30 4956 y Fp(<cln/V.h>)450 5066 y Fr(V)-8 b(ectors.)-30
4482 5230 y Fp(<cln/GV.h>)450 5340 y Fr(General)31 b(v)m(ectors.)p
4483 eop
4484 %%Page: 48 50
4485 48 49 bop -30 -116 a Fr(Chapter)30 b(11:)41 b(Using)31
4486 b(the)f(library)2681 b(48)-30 299 y Fp(<cln/GV_number.h>)450
4487 408 y Fr(General)31 b(v)m(ectors)h(o)m(v)m(er)g(cl)p
4488 1363 408 28 4 v 33 w(n)m(um)m(b)s(er.)-30 573 y Fp(<cln/GV_complex.h>)
4489 450 682 y Fr(General)f(v)m(ectors)h(o)m(v)m(er)g(cl)p
4490 1363 682 V 33 w(N.)-30 847 y Fp(<cln/GV_real.h>)450 956
4491 y Fr(General)f(v)m(ectors)h(o)m(v)m(er)g(cl)p 1363 956
4492 V 33 w(R.)-30 1121 y Fp(<cln/GV_rational.h>)450 1230
4493 y Fr(General)f(v)m(ectors)h(o)m(v)m(er)g(cl)p 1363 1230
4494 V 33 w(RA.)-30 1395 y Fp(<cln/GV_integer.h>)450 1504
4495 y Fr(General)f(v)m(ectors)h(o)m(v)m(er)g(cl)p 1363 1504
4496 V 33 w(I.)-30 1669 y Fp(<cln/GV_modinteger.h>)450 1778
4497 y Fr(General)f(v)m(ectors)h(of)f(mo)s(dular)d(in)m(tegers.)-30
4498 1943 y Fp(<cln/SV.h>)450 2052 y Fr(Simple)h(v)m(ectors.)-30
4499 2217 y Fp(<cln/SV_number.h>)450 2326 y Fr(Simple)g(v)m(ectors)j(o)m(v)m
4500 (er)g(cl)p 1322 2326 V 33 w(n)m(um)m(b)s(er.)-30 2491
4501 y Fp(<cln/SV_complex.h>)450 2600 y Fr(Simple)d(v)m(ectors)j(o)m(v)m(er)
4502 g(cl)p 1322 2600 V 33 w(N.)-30 2765 y Fp(<cln/SV_real.h>)450
4503 2874 y Fr(Simple)d(v)m(ectors)j(o)m(v)m(er)g(cl)p 1322
4504 2874 V 33 w(R.)-30 3039 y Fp(<cln/SV_rational.h>)450
4505 3148 y Fr(Simple)d(v)m(ectors)j(o)m(v)m(er)g(cl)p 1322
4506 3148 V 33 w(RA.)-30 3313 y Fp(<cln/SV_integer.h>)450
4507 3422 y Fr(Simple)d(v)m(ectors)j(o)m(v)m(er)g(cl)p 1322
4508 3422 V 33 w(I.)-30 3587 y Fp(<cln/SV_ringelt.h>)450 3696
4509 y Fr(Simple)d(v)m(ectors)j(of)e(general)i(ring)e(elemen)m(ts.)-30
4510 3861 y Fp(<cln/univpoly.h>)450 3970 y Fr(Univ)-5 b(ariate)32
4511 b(p)s(olynomials.)-30 4134 y Fp(<cln/univpoly_integer.h>)450
4512 4244 y Fr(Univ)-5 b(ariate)32 b(p)s(olynomials)d(o)m(v)m(er)j(the)f(in)
4513 m(tegers.)-30 4408 y Fp(<cln/univpoly_rational.h)o(>)450
4514 4518 y Fr(Univ)-5 b(ariate)32 b(p)s(olynomials)d(o)m(v)m(er)j(the)f
4515 (rational)g(n)m(um)m(b)s(ers.)-30 4682 y Fp(<cln/univpoly_real.h>)450
4516 4792 y Fr(Univ)-5 b(ariate)32 b(p)s(olynomials)d(o)m(v)m(er)j(the)f
4517 (real)g(n)m(um)m(b)s(ers.)-30 4956 y Fp(<cln/univpoly_complex.h>)450
4518 5066 y Fr(Univ)-5 b(ariate)32 b(p)s(olynomials)d(o)m(v)m(er)j(the)f
4519 (complex)f(n)m(um)m(b)s(ers.)-30 5230 y Fp(<cln/univpoly_modint.h>)450
4520 5340 y Fr(Univ)-5 b(ariate)32 b(p)s(olynomials)d(o)m(v)m(er)j(mo)s
4521 (dular)c(in)m(teger)k(rings.)p eop
4522 %%Page: 49 51
4523 49 50 bop -30 -116 a Fr(Chapter)30 b(11:)41 b(Using)31
4524 b(the)f(library)2681 b(49)-30 299 y Fp(<cln/timing.h>)450
4525 408 y Fr(Timing)29 b(facilities.)-30 576 y Fp(<cln/cln.h>)450
4526 686 y Fr(Includes)h(all)h(of)f(the)h(ab)s(o)m(v)m(e.)-30
4527 965 y Fs(11.4)68 b(An)44 b(Example)-30 1166 y Fr(A)30
4528 b(function)h(whic)m(h)f(computes)f(the)i(n)m(th)f(Fib)s(onacci)h(n)m
4529 (um)m(b)s(er)d(can)j(b)s(e)f(written)g(as)h(follo)m(ws.)210
4530 1303 y Fp(#include)46 b(<cln/integer.h>)210 1407 y(#include)g
4531 (<cln/real.h>)210 1511 y(using)g(namespace)g(cln;)210
4532 1718 y(//)h(Returns)f(F_n,)h(computed)e(as)i(the)g(nearest)f(integer)g
4533 (to)210 1822 y(//)h(\(\(1+sqrt\(5\)\)/2\)^n/sqrt\(5\))o(.)42
4534 b(Assume)k(n>=0.)210 1926 y(const)g(cl_I)h(fibonacci)e(\(int)i(n\))210
4535 2030 y({)592 2133 y(//)g(Need)g(a)g(precision)e(of)j
4536 (\(\(1+sqrt\(5\)\)/2\)^-n.)592 2237 y(cl_float_format_t)43
4537 b(prec)k(=)g(cl_float_format\(\(int\)\(0.)o(2089)o(8764)o(1*n)o(+5\)\))
4538 o(;)592 2341 y(cl_R)f(sqrt5)h(=)g(sqrt\(cl_float\(5,prec\)\);)592
4539 2445 y(cl_R)f(phi)h(=)h(\(1+sqrt5\)/2;)592 2548 y(return)e(round1\()g
4540 (expt\(phi,n\)/sqrt5)d(\);)210 2652 y(})-30 2795 y Fr(Let's)31
4541 b(explain)g(what)f(is)g(going)i(on)e(in)g(detail.)-30
4542 2938 y(The)k(include)h(\014le)f Fp(<cln/integer.h>)d
4543 Fr(is)j(necessary)h(b)s(ecause)g(the)g(t)m(yp)s(e)g Fp(cl_I)e
4544 Fr(is)i(used)f(in)g(the)h(function,)h(and)-30 3048 y(the)31
4545 b(include)g(\014le)g Fp(<cln/real.h>)c Fr(is)k(needed)g(for)f(the)i(t)m
4546 (yp)s(e)f Fp(cl_R)e Fr(and)i(the)g(\015oating)h(p)s(oin)m(t)f(n)m(um)m
4547 (b)s(er)d(functions.)-30 3157 y(The)37 b(order)g(of)h(the)f(include)h
4548 (\014les)f(do)s(es)g(not)h(matter.)62 b(In)37 b(order)g(not)h(to)g
4549 (write)g(out)g Fp(cln::)p Fl(fo)s(o)i Fr(w)m(e)e(can)g(safely)-30
4550 3267 y(imp)s(ort)29 b(the)h(whole)h(namespace)f Fp(cln)p
4551 Fr(.)-30 3410 y(Then)23 b(comes)i(the)f(function)h(declaration.)40
4552 b(The)24 b(argumen)m(t)g(is)g(an)h Fp(int)p Fr(,)g(the)f(result)h(an)f
4553 (in)m(teger.)40 b(The)24 b(return)g(t)m(yp)s(e)-30 3520
4554 y(is)33 b(de\014ned)e(as)i(`)p Fp(const)c(cl_I)p Fr(',)j(not)h(simply)e
4555 (`)p Fp(cl_I)p Fr(',)i(b)s(ecause)f(that)h(allo)m(ws)h(the)f(compiler)f
4556 (to)h(detect)h(t)m(yp)s(os)f(lik)m(e)-30 3629 y(`)p Fp(fibonacci\(n\))
4557 27 b(=)j(100)p Fr('.)40 b(It)29 b(w)m(ould)f(b)s(e)h(p)s(ossible)f(to)i
4558 (declare)f(the)h(return)d(t)m(yp)s(e)i(as)g Fp(const)g(cl_R)f
4559 Fr(\(real)i(n)m(um)m(b)s(er\))-30 3739 y(or)36 b(ev)m(en)g
4560 Fp(const)29 b(cl_N)35 b Fr(\(complex)h(n)m(um)m(b)s(er\).)55
4561 b(W)-8 b(e)37 b(use)f(the)g(most)f(sp)s(ecialized)i(p)s(ossible)e
4562 (return)g(t)m(yp)s(e)h(b)s(ecause)-30 3848 y(functions)26
4563 b(whic)m(h)g(call)h(`)p Fp(fibonacci)p Fr(')d(will)j(b)s(e)e(able)i(to)
4564 g(pro\014t)f(from)e(the)j(compiler's)f(t)m(yp)s(e)g(analysis:)39
4565 b(Adding)26 b(t)m(w)m(o)-30 3958 y(in)m(tegers)g(is)e(sligh)m(tly)i
4566 (more)e(e\016cien)m(t)i(than)e(adding)g(the)h(same)f(ob)5
4567 b(jects)25 b(declared)g(as)g(complex)f(n)m(um)m(b)s(ers,)g(b)s(ecause)
4568 -30 4068 y(it)34 b(needs)f(less)h(t)m(yp)s(e)f(dispatc)m(h.)51
4569 b(Also,)35 b(when)d(linking)i(to)g(CLN)f(as)h(a)g(non-shared)e(library)
4570 -8 b(,)35 b(this)e(minimizes)f(the)-30 4177 y(size)f(of)g(the)f
4571 (resulting)h(executable)h(program.)-30 4320 y(The)f(result)g(will)h(b)s
4572 (e)f(computed)f(as)i(expt\(phi,n\)/sqrt\(5\),)h(rounded)d(to)j(the)e
4573 (nearest)h(in)m(teger.)46 b(In)31 b(order)g(to)h(get)-30
4574 4430 y(a)c(correct)h(result,)g(the)f(absolute)h(error)e(should)g(b)s(e)
4575 g(less)i(than)e(1/2,)j(i.e.)41 b(the)28 b(relativ)m(e)i(error)e(should)
4576 f(b)s(e)g(less)h(than)-30 4539 y(sqrt\(5\)/\(2*expt\(phi,n\)\).)65
4577 b(T)-8 b(o)38 b(this)g(end,)h(the)e(\014rst)g(line)h(computes)f(a)h
4578 (\015oating)g(p)s(oin)m(t)g(precision)g(for)f(sqrt\(5\))-30
4579 4649 y(and)30 b(phi.)-30 4792 y(Then)41 b(sqrt\(5\))h(is)g(computed)e
4580 (b)m(y)i(\014rst)e(con)m(v)m(erting)k(the)e(in)m(teger)h(5)f(to)g(a)g
4581 (\015oating)g(p)s(oin)m(t)g(n)m(um)m(b)s(er)d(and)i(than)-30
4582 4902 y(taking)i(the)f(square)g(ro)s(ot.)76 b(The)42 b(con)m(v)m(erse,)k
4583 (\014rst)c(taking)h(the)f(square)g(ro)s(ot)g(of)g(5,)k(and)c(then)f
4584 (con)m(v)m(erting)j(to)-30 5011 y(the)c(desired)f(precision,)j(w)m
4585 (ould)e(not)g(w)m(ork)f(in)h(CLN:)f(The)g(square)h(ro)s(ot)g(w)m(ould)f
4586 (b)s(e)g(computed)f(to)j(a)f(default)-30 5121 y(precision)g(\(normally)
4587 f(single-\015oat)j(precision\),)h(and)c(the)h(follo)m(wing)i(con)m(v)m
4588 (ersion)f(could)f(not)g(help)f(ab)s(out)h(the)-30 5230
4589 y(lac)m(king)h(accuracy)-8 b(.)68 b(This)39 b(is)g(b)s(ecause)g(CLN)g
4590 (is)g(not)g(a)g(sym)m(b)s(olic)g(computer)f(algebra)i(system)e(and)h
4591 (do)s(es)g(not)-30 5340 y(represen)m(t)30 b(sqrt\(5\))i(in)e(a)h(non-n)
4592 m(umeric)d(w)m(a)m(y)-8 b(.)p eop
4593 %%Page: 50 52
4594 50 51 bop -30 -116 a Fr(Chapter)30 b(11:)41 b(Using)31
4595 b(the)f(library)2681 b(50)-30 299 y(The)29 b(t)m(yp)s(e)i
4596 Fp(cl_R)d Fr(for)i(sqrt5)g(and,)g(in)g(the)g(follo)m(wing)h(line,)g
4597 (phi)e(is)h(the)h(only)f(p)s(ossible)f(c)m(hoice.)43
4598 b(Y)-8 b(ou)30 b(cannot)h(write)-30 408 y Fp(cl_F)26
4599 b Fr(b)s(ecause)h(the)g(C)p Fp(++)g Fr(compiler)f(can)i(only)f(infer)g
4600 (that)g Fp(cl_float\(5,prec\))c Fr(is)k(a)h(real)f(n)m(um)m(b)s(er.)38
4601 b(Y)-8 b(ou)27 b(cannot)-30 518 y(write)k Fp(cl_N)e Fr(b)s(ecause)h(a)h
4602 (`)p Fp(round1)p Fr(')e(do)s(es)h(not)h(exist)g(for)f(general)h
4603 (complex)f(n)m(um)m(b)s(ers.)-30 651 y(When)21 b(the)g(function)g
4604 (returns,)h(all)g(the)f(lo)s(cal)h(v)-5 b(ariables)22
4605 b(in)f(the)g(function)g(are)g(automatically)i(reclaimed)e(\(garbage)-30
4606 761 y(collected\).)43 b(Only)30 b(the)h(result)f(surviv)m(es)g(and)g
4607 (gets)h(passed)f(to)h(the)g(caller.)-30 894 y(The)d(\014le)h
4608 Fp(fibonacci.cc)c Fr(in)j(the)h(sub)s(directory)e Fp(examples)f
4609 Fr(con)m(tains)k(this)f(implemen)m(tation)f(together)i(with)e(an)-30
4610 1003 y(ev)m(en)j(faster)g(algorithm.)-30 1257 y Fs(11.5)68
4611 b(Debugging)46 b(supp)t(ort)-30 1448 y Fr(When)30 b(debugging)g(a)h
4612 (CLN)f(application)i(with)e(GNU)h Fp(gdb)p Fr(,)f(t)m(w)m(o)h
4613 (facilities)i(are)e(a)m(v)-5 b(ailable)33 b(from)28 b(the)j(library:)45
4614 1581 y Fq(\017)60 b Fr(The)36 b(library)g(do)s(es)g(t)m(yp)s(e)h(c)m
4615 (hec)m(ks,)j(range)d(c)m(hec)m(ks,)i(consistency)f(c)m(hec)m(ks)g(at)f
4616 (man)m(y)f(places.)60 b(When)36 b(one)h(of)150 1691 y(these)44
4617 b(fails,)j(the)c(function)g Fp(cl_abort\(\))e Fr(is)i(called.)81
4618 b(Its)43 b(default)g(implemen)m(tation)g(is)g(to)h(p)s(erform)d(an)150
4619 1800 y Fp(exit\(1\))p Fr(,)32 b(so)i(y)m(ou)g(w)m(on't)g(ha)m(v)m(e)h
4620 (a)f(core)g(dump.)47 b(But)34 b(for)f(debugging,)h(it)g(is)g(b)s(est)f
4621 (to)h(set)g(a)g(breakp)s(oin)m(t)f(at)150 1910 y(this)d(function:)390
4622 2037 y Fp(\(gdb\))46 b(break)h(cl_abort)150 2170 y Fr(When)30
4623 b(this)g(breakp)s(oin)m(t)h(is)f(hit,)h(lo)s(ok)g(at)g(the)f(stac)m
4624 (k's)i(bac)m(ktrace:)390 2298 y Fp(\(gdb\))46 b(where)45
4625 2431 y Fq(\017)60 b Fr(The)32 b(debugger's)g(normal)g
4626 Fp(print)f Fr(command)f(do)s(esn't)j(kno)m(w)f(ab)s(out)h(CLN's)f(t)m
4627 (yp)s(es)g(and)g(therefore)h(prin)m(ts)150 2540 y(mostly)j(useless)g
4628 (hexadecimal)h(addresses.)58 b(CLN)35 b(o\013ers)i(a)g(function)f
4629 Fp(cl_print)p Fr(,)f(callable)k(from)34 b(the)j(de-)150
4630 2650 y(bugger,)29 b(for)f(prin)m(ting)g(n)m(um)m(b)s(er)d(ob)5
4631 b(jects.)41 b(In)28 b(order)f(to)i(get)g(this)f(function,)h(y)m(ou)f
4632 (ha)m(v)m(e)i(to)f(de\014ne)e(the)h(macro)150 2760 y(`)p
4633 Fp(CL_DEBUG)p Fr(')21 b(and)h(then)g(include)g(all)i(the)f(header)f
4634 (\014les)h(for)f(whic)m(h)g(y)m(ou)h(w)m(an)m(t)h Fp(cl_print)c
4635 Fr(debugging)i(supp)s(ort.)150 2869 y(F)-8 b(or)31 b(example:)390
4636 2996 y Fp(#define)46 b(CL_DEBUG)390 3100 y(#include)g(<cln/string.h>)
4637 150 3233 y Fr(No)m(w,)30 b(if)e(y)m(ou)g(ha)m(v)m(e)i(in)d(y)m(our)h
4638 (program)f(a)i(v)-5 b(ariable)29 b Fp(cl_string)f(s)p
4639 Fr(,)g(and)g(insp)s(ect)g(it)g(under)f Fp(gdb)p Fr(,)h(the)g(output)150
4640 3343 y(ma)m(y)i(lo)s(ok)h(lik)m(e)h(this:)390 3470 y
4641 Fp(\(gdb\))46 b(print)h(s)390 3574 y($7)g(=)h({<cl_gcpointer>)43
4642 b(=)48 b({)f(=)h({pointer)d(=)j(0x8055b60,)d(heappointer)f(=)k
4643 (0x8055b60,)485 3678 y(word)f(=)h(134568800}},)c(})390
4644 3782 y(\(gdb\))i(call)h(cl_print\(s\))390 3885 y(\(cl_string\))e("")390
4645 3989 y($8)i(=)h(134568800)150 4122 y Fr(Note)38 b(that)f(the)g(output)f
4646 (of)h Fp(cl_print)d Fr(go)s(es)j(to)g(the)g(program's)f(error)g
4647 (output,)i(not)e(to)i(gdb's)e(standard)150 4232 y(output.)150
4648 4365 y(Note,)43 b(ho)m(w)m(ev)m(er,)f(that)d(the)g(ab)s(o)m(v)m(e)i
4649 (facilit)m(y)f(do)s(es)f(not)g(w)m(ork)g(with)f(all)i(CLN)f(t)m(yp)s
4650 (es,)i(only)e(with)f(n)m(um)m(b)s(er)150 4475 y(ob)5
4651 b(jects)27 b(and)e(similar.)38 b(Therefore)26 b(CLN)f(o\013ers)i(a)f
4652 (mem)m(b)s(er)d(function)j Fp(debug_print\(\))c Fr(on)j(all)i(CLN)f(t)m
4653 (yp)s(es.)150 4584 y(The)h(same)g(macro)g(`)p Fp(CL_DEBUG)p
4654 Fr(')f(is)h(needed)h(for)f(this)g(mem)m(b)s(er)e(function)i(to)i(b)s(e)
4655 e(implemen)m(ted.)38 b(Under)27 b Fp(gdb)p Fr(,)150 4694
4656 y(y)m(ou)k(call)g(it)g(lik)m(e)h(this:)390 4821 y Fp(\(gdb\))46
4657 b(print)h(s)390 4925 y($7)g(=)h({<cl_gcpointer>)43 b(=)48
4658 b({)f(=)h({pointer)d(=)j(0x8055b60,)d(heappointer)f(=)k(0x8055b60,)485
4659 5029 y(word)f(=)h(134568800}},)c(})390 5132 y(\(gdb\))i(call)h
4660 (s.debug_print\(\))390 5236 y(\(cl_string\))e("")390
4661 5340 y(\(gdb\))h(define)g(cprint)p eop
4662 %%Page: 51 53
4663 51 52 bop -30 -116 a Fr(Chapter)30 b(11:)41 b(Using)31
4664 b(the)f(library)2681 b(51)390 299 y Fp(>call)46 b
4665 (\($1\).debug_print\(\))390 403 y(>end)390 506 y(\(gdb\))g(cprint)g(s)
4666 390 610 y(\(cl_string\))f("")150 745 y Fr(Unfortunately)-8
4667 b(,)31 b(this)g(feature)f(do)s(es)g(not)h(seem)f(to)h(w)m(ork)f(under)f
4668 (all)i(circumstances.)p eop
4669 %%Page: 52 54
4670 52 53 bop -30 -116 a Fr(Chapter)30 b(12:)41 b(Customizing)2863
4671 b(52)-30 299 y Fo(12)80 b(Customizing)-30 656 y Fs(12.1)68
4672 b(Error)46 b(handling)-30 848 y Fr(When)30 b(a)h(fatal)g(error)f(o)s
4673 (ccurs,)g(an)g(error)g(message)g(is)g(output)g(to)h(the)f(standard)g
4674 (error)g(output)f(stream,)h(and)g(the)-30 958 y(function)c
4675 Fp(cl_abort)e Fr(is)i(called.)41 b(The)26 b(default)g(v)m(ersion)h(of)g
4676 (this)f(function)g(\(pro)m(vided)g(in)g(the)h(library\))f(terminates)
4677 -30 1068 y(the)i(application.)41 b(T)-8 b(o)29 b(catc)m(h)h(suc)m(h)d
4678 (a)i(fatal)g(error,)f(y)m(ou)h(need)e(to)i(de\014ne)f(the)g(function)f
4679 Fp(cl_abort)f Fr(y)m(ourself,)j(with)-30 1177 y(the)i(protot)m(yp)s(e)
4680 210 1306 y Fp(#include)46 b(<cln/abort.h>)210 1410 y(void)h(cl_abort)e
4681 (\(void\);)-30 1544 y Fr(This)30 b(function)g(m)m(ust)f(not)i(return)e
4682 (con)m(trol)j(to)f(its)f(caller.)-30 1802 y Fs(12.2)68
4683 b(Floating-p)t(oin)l(t)47 b(under\015o)l(w)-30 1994 y
4684 Fr(Floating)32 b(p)s(oin)m(t)e(under\015o)m(w)e(denotes)j(the)f
4685 (situation)h(when)e(a)h(\015oating-p)s(oin)m(t)h(n)m(um)m(b)s(er)d(is)i
4686 (to)h(b)s(e)e(created)i(whic)m(h)-30 2104 y(is)k(so)g(close)g(to)h
4687 Fp(0)e Fr(that)h(its)g(exp)s(onen)m(t)g(is)g(to)s(o)g(lo)m(w)g(to)h(b)s
4688 (e)e(represen)m(ted)g(in)m(ternally)-8 b(.)55 b(By)35
4689 b(default,)h(this)f(causes)g(a)-30 2213 y(fatal)d(error.)40
4690 b(If)30 b(y)m(ou)h(set)f(the)h(global)h(v)-5 b(ariable)210
4691 2342 y Fp(cl_boolean)45 b(cl_inhibit_floating_poin)o(t_un)o(derf)o(low)
4692 -30 2477 y Fr(to)40 b Fp(cl_true)p Fr(,)f(the)g(error)g(will)g(b)s(e)f
4693 (inhibited,)j(and)d(a)h(\015oating-p)s(oin)m(t)i(zero)e(will)h(b)s(e)e
4694 (generated)i(instead.)66 b(The)-30 2586 y(default)31
4695 b(v)-5 b(alue)30 b(of)h Fp(cl_inhibit_floating_poin)o(t_un)o(der)o
4696 (flow)24 b Fr(is)30 b Fp(cl_false)p Fr(.)-30 2844 y Fs(12.3)68
4697 b(Customizing)46 b(I/O)-30 3036 y Fr(The)31 b(output)g(of)g(the)g
4698 (function)g Fp(fprint)f Fr(ma)m(y)h(b)s(e)f(customized)h(b)m(y)g(c)m
4699 (hanging)i(the)e(v)-5 b(alue)32 b(of)f(the)h(global)g(v)-5
4700 b(ariable)-30 3146 y Fp(default_print_flags)p Fr(.)-30
4701 3403 y Fs(12.4)68 b(Customizing)46 b(the)f(memory)h(allo)t(cator)-30
4702 3596 y Fr(Ev)m(ery)28 b(memory)e(allo)s(cation)k(of)e(CLN)g(is)g(done)f
4703 (through)g(the)h(function)g(p)s(oin)m(ter)g Fp(malloc_hook)p
4704 Fr(.)37 b(F)-8 b(reeing)29 b(of)f(this)-30 3705 y(memory)33
4705 b(is)j(done)f(through)g(the)g(function)g(p)s(oin)m(ter)h
4706 Fp(free_hook)p Fr(.)53 b(The)35 b(default)g(v)m(ersions)h(of)f(these)h
4707 (functions,)-30 3815 y(pro)m(vided)27 b(in)h(the)f(library)-8
4708 b(,)29 b(call)g Fp(malloc)d Fr(and)h Fp(free)f Fr(and)h(c)m(hec)m(k)i
4709 (the)f Fp(malloc)e Fr(result)h(against)i Fp(NULL)p Fr(.)39
4710 b(If)27 b(y)m(ou)h(w)m(an)m(t)-30 3924 y(to)i(pro)m(vide)f(another)h
4711 (memory)d(allo)s(cator,)32 b(y)m(ou)e(need)f(to)h(de\014ne)e(the)i(v)-5
4712 b(ariables)30 b Fp(malloc_hook)c Fr(and)i Fp(free_hook)-30
4713 4034 y Fr(y)m(ourself,)j(lik)m(e)h(this:)210 4163 y Fp(#include)46
4714 b(<cln/malloc.h>)210 4267 y(namespace)f(cln)i({)592 4370
4715 y(void*)f(\(*malloc_hook\))e(\(size_t)i(size\))g(=)i(...)o(;)592
4716 4474 y(void)e(\(*free_hook\))f(\(void*)h(ptr\))285 b(=)48
4717 b(...)o(;)210 4578 y(})-30 4712 y Fr(The)30 b Fp(cl_malloc_hook)c
4718 Fr(function)k(m)m(ust)g(not)g(return)g(a)g Fp(NULL)g
4719 Fr(p)s(oin)m(ter.)-30 4847 y(It)e(is)f(not)h(p)s(ossible)f(to)h(c)m
4720 (hange)h(the)e(memory)f(allo)s(cator)j(at)f(run)m(time,)f(b)s(ecause)h
4721 (it)g(is)f(already)h(called)h(at)f(program)-30 4956 y(startup)i(b)m(y)g
4722 (the)h(constructors)f(of)h(some)f(global)h(v)-5 b(ariables.)p
4723 eop
4724 %%Page: 53 55
4725 53 54 bop -30 -116 a Fr(Index)3646 b(53)-30 299 y Fo(Index)-30
4726 614 y Fs(A)-30 737 y Fd(abs)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g(.)h
4727 (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4728 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4729 (.)g(.)38 b Fb(12)-30 829 y(abstract)26 b(class)g Fc(.)12
4730 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4731 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4732 g(.)50 b Fb(6)-30 921 y Fd(acos)27 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f
4733 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
4734 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4735 (.)h(.)36 b Fb(18)-30 1013 y Fd(acosh)27 b(\(\))9 b Fc(.)j(.)h(.)f(.)g
4736 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4737 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4738 (.)f(.)35 b Fb(19)-30 1105 y(adv)n(o)r(cacy)24 b Fc(.)12
4739 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4740 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
4741 g(.)h(.)f(.)g(.)50 b Fb(43)-30 1197 y(Arc)n(himedes')25
4742 b(constan)n(t)17 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4743 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
4744 b Fb(19)-30 1289 y Fd(As\(\)\(\))6 b Fc(.)14 b(.)e(.)g(.)h(.)f(.)g(.)h
4745 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4746 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4747 (.)g(.)32 b Fb(9)-30 1381 y Fd(ash)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)
4748 g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4749 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4750 h(.)f(.)g(.)38 b Fb(22)-30 1473 y Fd(asin)8 b Fc(.)13
4751 b(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4752 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4753 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34 b Fb(18)-30 1565
4754 y Fd(asin)27 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4755 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4756 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36
4757 b Fb(18)-30 1657 y Fd(asinh)27 b(\(\))9 b Fc(.)j(.)h(.)f(.)g(.)h(.)f(.)
4758 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4759 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35
4760 b Fb(19)-30 1749 y Fd(atan)8 b Fc(.)13 b(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)
4761 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4762 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4763 f(.)34 b Fb(18)-30 1841 y Fd(atan)27 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f
4764 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
4765 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4766 (.)h(.)36 b Fb(18)-30 1933 y Fd(atanh)27 b(\(\))9 b Fc(.)j(.)h(.)f(.)g
4767 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4768 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4769 (.)f(.)35 b Fb(19)-30 2180 y Fs(B)-30 2303 y Fd(basering)27
4770 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4771 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4772 f(.)g(.)h(.)f(.)g(.)49 b Fb(40)-30 2395 y Fd(binomial)27
4773 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4774 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4775 f(.)g(.)h(.)f(.)g(.)49 b Fb(23)-30 2487 y Fd(boole)27
4776 b(\(\))9 b Fc(.)j(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4777 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4778 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(21)-30 2579
4779 y Fd(boole_1)23 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4780 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4781 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(21)-30
4782 2671 y Fd(boole_2)23 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4783 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4784 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48
4785 b Fb(21)-30 2763 y Fd(boole_and)21 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
4786 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4787 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
4788 b Fb(21)-30 2855 y Fd(boole_andc1)16 b Fc(.)f(.)d(.)g(.)h(.)f(.)g(.)h
4789 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4790 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b
4791 Fb(21)-30 2947 y Fd(boole_andc2)16 b Fc(.)f(.)d(.)g(.)h(.)f(.)g(.)h(.)f
4792 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4793 f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b Fb(21)-30
4794 3039 y Fd(boole_c1)22 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4795 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4796 g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46 b
4797 Fb(21)-30 3131 y Fd(boole_c2)22 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4798 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4799 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46
4800 b Fb(21)-30 3222 y Fd(boole_clr)21 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
4801 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4802 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
4803 b Fb(21)-30 3314 y Fd(boole_eqv)21 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
4804 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4805 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
4806 b Fb(21)-30 3406 y Fd(boole_nand)17 b Fc(.)e(.)d(.)h(.)f(.)g(.)h(.)f(.)
4807 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4808 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
4809 b Fb(21)-30 3498 y Fd(boole_nor)21 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
4810 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4811 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
4812 b Fb(21)-30 3590 y Fd(boole_orc1)17 b Fc(.)e(.)d(.)h(.)f(.)g(.)h(.)f(.)
4813 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4814 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
4815 b Fb(21)-30 3682 y Fd(boole_orc2)17 b Fc(.)e(.)d(.)h(.)f(.)g(.)h(.)f(.)
4816 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4817 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
4818 b Fb(21)-30 3774 y Fd(boole_set)21 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
4819 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4820 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
4821 b Fb(21)-30 3866 y Fd(boole_xor)21 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
4822 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4823 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
4824 b Fb(21)-30 4114 y Fs(C)-30 4236 y Fd(canonhom)27 b(\(\))8
4825 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4826 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34
4827 b Fb(33,)26 b(35,)h(40)-30 4328 y(Catalan's)h(constan)n(t)10
4828 b Fc(.)i(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4829 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36
4830 b Fb(20)-30 4420 y Fd(catalanconst)28 b(\(\))17 b Fc(.)c(.)f(.)h(.)f(.)
4831 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4832 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43 b Fb(20)-30
4833 4512 y Fd(ceiling1)27 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4834 h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4835 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49 b Fb(14)-30
4836 4604 y Fd(ceiling2)27 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4837 h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4838 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49 b Fb(15)-30
4839 4696 y(Cheb)n(yshev)25 b(p)r(olynomial)16 b Fc(.)c(.)h(.)f(.)g(.)h(.)f
4840 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
4841 h(.)f(.)g(.)h(.)42 b Fb(42)-30 4788 y Fd(cis)26 b(\(\))12
4842 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
4843 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4844 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(18)-30 4880
4845 y Fd(cl_abort)27 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4846 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4847 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49 b Fb(52)-30 4972
4848 y Fd(cl_byte)23 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4849 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4850 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(21)-30
4851 5064 y Fd(CL_DEBUG)22 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4852 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4853 g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46 b
4854 Fb(50)-30 5156 y Fd(cl_DF)8 b Fc(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4855 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
4856 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4857 (.)33 b Fb(7)-30 5248 y Fd(cl_DF_fdiv_t)15 b Fc(.)g(.)d(.)g(.)h(.)f(.)g
4858 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4859 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)40 b
4860 Fb(15)-30 5340 y Fd(cl_F)22 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4861 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
4862 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47
4863 b Fb(6,)26 b(7)2032 614 y Fd(cl_F_fdiv_t)16 b Fc(.)f(.)d(.)h(.)f(.)g(.)
4864 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
4865 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
4866 b Fb(15)2032 707 y Fd(cl_FF)8 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h
4867 (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4868 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
4869 (.)f(.)34 b Fb(7)2032 799 y Fd(cl_FF_fdiv_t)15 b Fc(.)g(.)d(.)g(.)h(.)f
4870 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4871 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)40
4872 b Fb(15)2032 891 y Fd(cl_float)28 b(\(\))23 b Fc(.)12
4873 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4874 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4875 h(.)48 b Fb(25)2032 984 y Fd(cl_float_format)29 b(\(\))13
4876 b Fc(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
4877 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38
4878 b Fb(25)2032 1076 y Fd(cl_float_format_t)7 b Fc(.)17
4879 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4880 g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33
4881 b Fb(25)2032 1168 y Fd(cl_I_to_int)28 b(\(\))20 b Fc(.)13
4882 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4883 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46
4884 b Fb(9)2032 1261 y Fd(cl_I_to_long)29 b(\(\))18 b Fc(.)12
4885 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4886 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44
4887 b Fb(9)2032 1353 y Fd(cl_I_to_uint)29 b(\(\))18 b Fc(.)12
4888 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4889 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44
4890 b Fb(9)2032 1445 y Fd(cl_I_to_ulong)29 b(\(\))17 b Fc(.)12
4891 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4892 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)43
4893 b Fb(9)2032 1538 y Fd(cl_idecoded_float)7 b Fc(.)17 b(.)12
4894 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
4895 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fb(24)2032
4896 1630 y Fd(cl_LF)8 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
4897 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4898 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)34
4899 b Fb(7)2032 1722 y Fd(cl_LF_fdiv_t)15 b Fc(.)g(.)d(.)g(.)h(.)f(.)g(.)h
4900 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4901 h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)40 b Fb(15)2032
4902 1815 y Fd(cl_modint_ring)12 b Fc(.)j(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4903 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4904 (.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(34)2032 1907 y Fd(cl_N)9
4905 b Fc(.)k(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4906 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
4907 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b Fb(6)2032
4908 1999 y Fd(cl_number)22 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4909 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4910 g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)46 b
4911 Fb(6)2032 2092 y Fd(cl_R)9 b Fc(.)k(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4912 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4913 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4914 (.)35 b Fb(6)2032 2184 y Fd(cl_R_fdiv_t)16 b Fc(.)f(.)d(.)h(.)f(.)g(.)h
4915 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
4916 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
4917 b Fb(15)2032 2276 y Fd(cl_RA)8 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h
4918 (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4919 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
4920 (.)f(.)34 b Fb(6)2032 2369 y Fd(cl_SF)8 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f
4921 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4922 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4923 (.)g(.)h(.)f(.)34 b Fb(7)2032 2461 y Fd(cl_SF_fdiv_t)15
4924 b Fc(.)g(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4925 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
4926 (.)h(.)40 b Fb(15)2032 2553 y Fd(cl_string)21 b Fc(.)12
4927 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4928 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
4929 h(.)f(.)g(.)45 b Fb(37)2032 2646 y Fd(cl_symbol)21 b
4930 Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4931 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
4932 f(.)g(.)h(.)f(.)g(.)45 b Fb(37)2032 2738 y Fd(coeff)27
4933 b(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4934 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4935 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(41)2032 2830
4936 y Fd(compare)27 b(\(\))6 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4937 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4938 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 b Fb(13)2032
4939 2923 y(comparison)24 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4940 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4941 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fb(13)2032
4942 3015 y(compatibilit)n(y)10 b Fc(.)i(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4943 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4944 f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)36 b Fb(45)2032 3107
4945 y(compiler)26 b(options)9 b Fc(.)j(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4946 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
4947 f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(45)2032 3200 y Fd(complex)27
4948 b(\(\))6 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4949 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4950 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 b Fb(12)2032 3292 y(complex)25
4951 b(n)n(um)n(b)r(er)20 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4952 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
4953 (.)f(.)g(.)h(.)47 b Fb(6,)27 b(8)2032 3384 y Fd(conjugate)h(\(\))22
4954 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4955 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4956 h(.)f(.)47 b Fb(12)2032 3477 y(con)n(v)n(ersion)15 b
4957 Fc(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4958 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4959 h(.)f(.)41 b Fb(8,)26 b(25)2032 3569 y Fd(cos)h(\(\))12
4960 b Fc(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4961 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
4962 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(18)2032 3661
4963 y Fd(cos_sin)27 b(\(\))6 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4964 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4965 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 b Fb(18)2032
4966 3754 y Fd(cos_sin_t)21 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4967 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4968 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fb(18)2032
4969 3846 y Fd(cosh)27 b(\(\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
4970 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4971 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36
4972 b Fb(19)2032 3938 y Fd(cosh_sinh)28 b(\(\))22 b Fc(.)12
4973 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
4974 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4975 47 b Fb(19)2032 4031 y Fd(cosh_sinh_t)16 b Fc(.)f(.)d(.)h(.)f(.)g(.)h
4976 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
4977 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
4978 b Fb(19)2032 4123 y Fd(create)27 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h
4979 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4980 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33
4981 b Fb(40)2032 4215 y(customizing)15 b Fc(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4982 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
4983 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)41 b
4984 Fb(52)2032 4478 y Fs(D)2032 4601 y Fd(debug_print)28
4985 b(\(\))18 b Fc(.)c(.)e(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4986 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4987 h(.)f(.)44 b Fb(50)2032 4694 y(debugging)7 b Fc(.)12
4988 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
4989 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
4990 h(.)f(.)g(.)h(.)32 b Fb(50)2032 4786 y Fd(decode_float)d(\(\))17
4991 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
4992 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)43
4993 b Fb(24)2032 4878 y Fd(decoded_dfloat)12 b Fc(.)j(.)e(.)f(.)g(.)h(.)f
4994 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
4995 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(24)2032
4996 4971 y Fd(decoded_ffloat)12 b Fc(.)j(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
4997 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
4998 (.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(24)2032 5063 y Fd(decoded_float)13
4999 b Fc(.)j(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5000 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5001 (.)39 b Fb(24)2032 5155 y Fd(decoded_lfloat)12 b Fc(.)j(.)e(.)f(.)g(.)h
5002 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
5003 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(24)2032
5004 5248 y Fd(decoded_sfloat)12 b Fc(.)j(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5005 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5006 (.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(24)2032 5340 y Fd
5007 (default_float_format)26 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5008 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47
5009 b Fb(25)p eop
5010 %%Page: 54 56
5011 54 55 bop -30 -116 a Fr(Index)3646 b(54)-30 299 y Fd
5012 (default_print_flags)27 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5013 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5014 48 b Fb(52)-30 391 y Fd(default_random_state)26 b Fc(.)12
5015 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5016 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)47 b Fb(26)-30 483
5017 y Fd(degree)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5018 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5019 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33 b Fb(41)-30
5020 575 y Fd(denominator)28 b(\(\))18 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g
5021 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5022 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44 b Fb(12)-30 667
5023 y Fd(deposit_field)29 b(\(\))16 b Fc(.)c(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
5024 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5025 (.)g(.)h(.)f(.)g(.)h(.)41 b Fb(22)-30 759 y Fd(deriv)27
5026 b(\(\))9 b Fc(.)j(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5027 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5028 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(41)-30 851
5029 y Fd(div)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5030 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5031 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
5032 b Fb(35)-30 943 y Fd(double_approx)29 b(\(\))17 b Fc(.)12
5033 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5034 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42
5035 b Fb(9)-30 1035 y Fd(doublefactorial)29 b(\(\))13 b Fc(.)f(.)h(.)f(.)g
5036 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5037 g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39 b Fb(23)-30 1127 y
5038 Fd(dpb)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5039 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5040 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
5041 b Fb(22)-30 1389 y Fs(E)-30 1512 y Fd(equal)27 b(\(\))20
5042 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
5043 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5044 f(.)g(.)h(.)45 b Fb(33,)27 b(37)-30 1604 y Fd(equal_hashcode)i(\(\))14
5045 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
5046 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)40
5047 b Fb(13)-30 1696 y(Euler's)27 b(constan)n(t)15 b Fc(.)d(.)h(.)f(.)g(.)h
5048 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5049 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)41 b Fb(20)-30
5050 1788 y Fd(eulerconst)28 b(\(\))20 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g
5051 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5052 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fb(20)-30
5053 1880 y Fd(evenp)27 b(\(\))9 b Fc(.)j(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5054 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5055 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35
5056 b Fb(22)-30 1972 y(exact)26 b(n)n(um)n(b)r(er)20 b Fc(.)13
5057 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
5058 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5059 f(.)48 b Fb(6)-30 2064 y Fd(exp)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g
5060 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5061 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5062 (.)f(.)g(.)38 b Fb(17)-30 2156 y Fd(exp1)27 b(\(\))10
5063 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5064 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5065 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 b Fb(17)-30 2248 y
5066 Fd(expt)27 b(\(\))14 b Fc(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5067 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5068 g(.)g(.)h(.)f(.)g(.)h(.)40 b Fb(11,)26 b(17,)h(35)-30
5069 2340 y Fd(expt_pos)g(\(\))20 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5070 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5071 (.)45 b Fb(11,)27 b(33,)f(35,)h(41)-30 2432 y Fd(exquo)g(\(\))9
5072 b Fc(.)j(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5073 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
5074 (.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(11)-30 2694 y Fs(F)-30
5075 2817 y Fd(factorial)28 b(\(\))21 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)
5076 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
5077 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(23)-30
5078 2909 y Fd(fceiling)27 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5079 h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5080 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49 b Fb(15)-30
5081 3001 y Fd(fceiling2)28 b(\(\))21 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)
5082 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
5083 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(15)-30
5084 3093 y Fd(ffloor)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5085 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5086 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5087 b Fb(15)-30 3185 y Fd(ffloor2)27 b(\(\))6 b Fc(.)13 b(.)f(.)h(.)f(.)g
5088 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
5089 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32
5090 b Fb(15)-30 3277 y(Fib)r(onacci)27 b(n)n(um)n(b)r(er)18
5091 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5092 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
5093 b Fb(49)-30 3369 y Fd(finalize)27 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)
5094 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5095 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49
5096 b Fb(41)-30 3461 y Fd(find_modint_ring)29 b(\(\))11 b
5097 Fc(.)i(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5098 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)37 b Fb(34)-30
5099 3553 y Fd(find_univpoly_ring)30 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)
5100 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
5101 (.)f(.)g(.)h(.)34 b Fb(40)-30 3645 y Fd(float_approx)28
5102 b(\(\))18 b Fc(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5103 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
5104 h(.)f(.)g(.)44 b Fb(9)-30 3737 y Fd(float_digits)28 b(\(\))17
5105 b Fc(.)c(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5106 g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
5107 b Fb(24)-30 3829 y Fd(float_epsilon)29 b(\(\))16 b Fc(.)c(.)g(.)g(.)h
5108 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5109 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)41 b Fb(25)-30
5110 3921 y Fd(float_exponent)29 b(\(\))14 b Fc(.)f(.)f(.)g(.)h(.)f(.)g(.)h
5111 (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5112 g(.)h(.)f(.)g(.)h(.)f(.)40 b Fb(24)-30 4013 y Fd
5113 (float_negative_epsilon)31 b(\(\))21 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)
5114 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)47
5115 b Fb(25)-30 4105 y Fd(float_precision)29 b(\(\))13 b
5116 Fc(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5117 (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39
5118 b Fb(24)-30 4197 y Fd(float_radix)28 b(\(\))18 b Fc(.)13
5119 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
5120 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44
5121 b Fb(24)-30 4289 y Fd(float_sign)28 b(\(\))20 b Fc(.)13
5122 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5123 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46
5124 b Fb(24)-30 4381 y(\015oating-p)r(oin)n(t)26 b(n)n(um)n(b)r(er)12
5125 b Fc(.)e(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5126 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
5127 b Fb(7)-30 4473 y Fd(floor1)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f(.)
5128 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5129 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5130 b Fb(14)-30 4565 y Fd(floor2)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f
5131 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5132 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5133 b Fb(15)-30 4657 y Fd(fprint)27 b(\(\))11 b Fc(.)i(.)f(.)g(.)h(.)f(.)g
5134 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
5135 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fb(33,)26 b(36,)h(41)-30
5136 4749 y Fd(free_hook)h(\(\))21 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5137 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
5138 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(52)-30
5139 4841 y Fd(fround)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5140 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5141 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5142 b Fb(15)-30 4933 y Fd(fround2)27 b(\(\))6 b Fc(.)13 b(.)f(.)h(.)f(.)g
5143 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
5144 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32
5145 b Fb(15)-30 5024 y Fd(ftruncate)c(\(\))21 b Fc(.)13 b(.)f(.)g(.)h(.)f
5146 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5147 f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47
5148 b Fb(15)2032 299 y Fd(ftruncate2)28 b(\(\))20 b Fc(.)13
5149 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5150 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46
5151 b Fb(15)2032 545 y Fs(G)2032 667 y Fb(garbage)27 b(collection)14
5152 b Fc(.)h(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
5153 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b
5154 Fb(43,)27 b(44)2032 759 y Fd(gcd)g(\(\))12 b Fc(.)g(.)h(.)f(.)g(.)g(.)h
5155 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5156 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5157 (.)g(.)38 b Fb(23)2032 851 y(GMP)8 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g
5158 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5159 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5160 (.)33 b Fb(1,)27 b(4)2032 1110 y Fs(H)2032 1232 y Fb(header)f(\014les)7
5161 b Fc(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5162 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5163 h(.)f(.)g(.)h(.)f(.)33 b Fb(45)2032 1324 y Fd(hermite)27
5164 b(\(\))6 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5165 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5166 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 b Fb(42)2032 1416 y(Hermite)25
5167 b(p)r(olynomial)7 b Fc(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5168 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5169 g(.)h(.)32 b Fb(42)2032 1675 y Fs(I)2032 1797 y Fd(imagpart)c(\(\))23
5170 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5171 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5172 f(.)g(.)h(.)48 b Fb(12)2032 1889 y(include)26 b(\014les)17
5173 b Fc(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
5174 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5175 (.)h(.)f(.)g(.)43 b Fb(45)2032 1980 y(Input/Output)14
5176 b Fc(.)c(.)i(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5177 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
5178 (.)f(.)40 b Fb(28)2032 2072 y(installation)9 b Fc(.)14
5179 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5180 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5181 g(.)h(.)f(.)g(.)35 b Fb(4)2032 2164 y Fd(instanceof)28
5182 b(\(\))20 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5183 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
5184 g(.)h(.)f(.)g(.)46 b Fb(33)2032 2256 y(in)n(teger)10
5185 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5186 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5187 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)36 b Fb(6)2032
5188 2347 y Fd(integer_decode_float)30 b(\(\))24 b Fc(.)13
5189 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5190 (.)g(.)h(.)f(.)g(.)h(.)49 b Fb(24)2032 2439 y Fd(integer_length)29
5191 b(\(\))14 b Fc(.)f(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5192 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
5193 b Fb(22)2032 2531 y Fd(isqrt)27 b(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f(.)g
5194 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5195 g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35
5196 b Fb(16)2032 2792 y Fs(L)2032 2914 y Fd(laguerre)28 b(\(\))23
5197 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5198 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5199 f(.)g(.)h(.)48 b Fb(42)2032 3006 y(Laguerre)27 b(p)r(olynomial)13
5200 b Fc(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5201 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38
5202 b Fb(42)2032 3098 y Fd(lcm)27 b(\(\))12 b Fc(.)g(.)h(.)f(.)g(.)g(.)h(.)
5203 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5204 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5205 g(.)38 b Fb(23)2032 3190 y Fd(ldb)27 b(\(\))12 b Fc(.)g(.)h(.)f(.)g(.)g
5206 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5207 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5208 (.)f(.)g(.)38 b Fb(22)2032 3281 y Fd(ldb_test)28 b(\(\))23
5209 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5210 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5211 f(.)g(.)h(.)48 b Fb(22)2032 3373 y Fd(least_negative_float)30
5212 b(\(\))24 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5213 (.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)49 b Fb(25)2032
5214 3465 y Fd(least_positive_float)30 b(\(\))24 b Fc(.)13
5215 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5216 (.)g(.)h(.)f(.)g(.)h(.)49 b Fb(25)2032 3557 y(Legende)26
5217 b(p)r(olynomial)e Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
5218 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5219 49 b Fb(42)2032 3648 y Fd(legendre)28 b(\(\))23 b Fc(.)12
5220 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5221 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5222 h(.)48 b Fb(42)2032 3740 y Fd(length)27 b(\(\))8 b Fc(.)13
5223 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5224 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
5225 h(.)f(.)g(.)h(.)33 b Fb(37)2032 3832 y Fd(ln)26 b(\(\))13
5226 b Fc(.)g(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5227 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5228 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(17)2032
5229 3924 y Fd(log)27 b(\(\))12 b Fc(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
5230 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5231 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
5232 b Fb(17)2032 4015 y Fd(logand)27 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h
5233 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5234 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33
5235 b Fb(21)2032 4107 y Fd(logandc1)28 b(\(\))23 b Fc(.)12
5236 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5237 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5238 h(.)48 b Fb(21)2032 4199 y Fd(logandc2)28 b(\(\))23 b
5239 Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5240 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5241 f(.)g(.)h(.)48 b Fb(21)2032 4291 y Fd(logbitp)27 b(\(\))6
5242 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
5243 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5244 f(.)g(.)h(.)f(.)g(.)32 b Fb(21)2032 4382 y Fd(logcount)c(\(\))23
5245 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5246 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5247 f(.)g(.)h(.)48 b Fb(21)2032 4474 y Fd(logeqv)27 b(\(\))8
5248 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5249 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5250 g(.)g(.)h(.)f(.)g(.)h(.)33 b Fb(21)2032 4566 y Fd(logior)27
5251 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5252 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5253 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 b Fb(21)2032 4658
5254 y Fd(lognand)27 b(\(\))6 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5255 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5256 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32 b Fb(21)2032
5257 4749 y Fd(lognor)27 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
5258 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5259 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33
5260 b Fb(21)2032 4841 y Fd(lognot)27 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h
5261 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5262 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33
5263 b Fb(20)2032 4933 y Fd(logorc1)27 b(\(\))6 b Fc(.)13
5264 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
5265 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5266 h(.)f(.)g(.)32 b Fb(21)2032 5024 y Fd(logorc2)27 b(\(\))6
5267 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
5268 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5269 f(.)g(.)h(.)f(.)g(.)32 b Fb(21)p eop
5270 %%Page: 55 57
5271 55 56 bop -30 -116 a Fr(Index)3646 b(55)-30 299 y Fd(logp)27
5272 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5273 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5274 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 b Fb(23)-30
5275 391 y Fd(logtest)27 b(\(\))6 b Fc(.)13 b(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)
5276 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
5277 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32
5278 b Fb(21)-30 483 y Fd(logxor)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f(.)
5279 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5280 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5281 b Fb(21)-30 747 y Fs(M)-30 870 y Fd(make)9 b Fc(.)k(.)g(.)f(.)g(.)h(.)f
5282 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5283 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
5284 (.)g(.)h(.)f(.)g(.)35 b Fb(3)-30 962 y Fd(malloc_hook)28
5285 b(\(\))18 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5286 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5287 f(.)g(.)h(.)44 b Fb(52)-30 1054 y Fd(mask_field)28 b(\(\))20
5288 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5289 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5290 g(.)46 b Fb(22)-30 1147 y Fd(max)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g
5291 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5292 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5293 (.)f(.)g(.)38 b Fb(13)-30 1239 y Fd(min)26 b(\(\))12
5294 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
5295 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5296 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(13)-30 1331
5297 y Fd(minus)27 b(\(\))9 b Fc(.)j(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5298 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5299 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b
5300 Fb(33)-30 1423 y Fd(minus1)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f(.)g
5301 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5302 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5303 b Fb(11)-30 1515 y Fd(minusp)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f
5304 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5305 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5306 b Fb(13)-30 1607 y Fd(mod)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f
5307 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5308 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5309 (.)38 b Fb(16)-30 1700 y(mo)r(difying)26 b(op)r(erators)c
5310 Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
5311 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47
5312 b Fb(27)-30 1792 y(mo)r(dular)25 b(in)n(teger)20 b Fc(.)12
5313 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5314 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)45
5315 b Fb(34)-30 1884 y Fd(modulus)23 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)
5316 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5317 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)48
5318 b Fb(34)-30 1976 y Fd(monomial)27 b(\(\))d Fc(.)12 b(.)g(.)h(.)f(.)g(.)
5319 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5320 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49
5321 b Fb(40)-30 2068 y(Mon)n(tgomery)25 b(m)n(ultiplication)9
5322 b Fc(.)k(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5323 f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fb(34)-30 2161 y Fd
5324 (most_negative_float)30 b(\(\))7 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)
5325 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5326 (.)33 b Fb(25)-30 2253 y Fd(most_positive_float)d(\(\))7
5327 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5328 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)33 b Fb(25)-30
5329 2345 y Fd(mul)26 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5330 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5331 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
5332 b Fb(33)-30 2594 y Fs(N)-30 2717 y Fb(namespace)10 b
5333 Fc(.)i(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5334 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
5335 h(.)f(.)36 b Fb(2,)26 b(45)-30 2809 y Fd(numerator)i(\(\))21
5336 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5337 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5338 g(.)h(.)47 b Fb(12)-30 3058 y Fs(O)-30 3181 y Fd(oddp)27
5339 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5340 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5341 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36 b Fb(22)-30
5342 3273 y Fd(one)26 b(\(\))15 b Fc(.)e(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5343 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5344 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42 b Fb(33,)26 b(35,)h(40)-30
5345 3365 y Fd(operator)g(!=)f(\(\))c Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h
5346 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47
5347 b Fb(13,)27 b(34,)f(36,)h(41)-30 3457 y Fd(operator)g(&)f(\(\))9
5348 b Fc(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5349 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5350 (.)h(.)34 b Fb(21)-30 3550 y Fd(operator)27 b(&=)f(\(\))7
5351 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5352 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5353 f(.)33 b Fb(27)-30 3642 y Fd(operator)27 b(\(\))f(\(\))7
5354 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5355 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5356 f(.)33 b Fb(41)-30 3734 y Fd(operator)27 b(*)f(\(\))12
5357 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
5358 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38 b
5359 Fb(11,)26 b(35,)h(41)-30 3826 y Fd(operator)g(*=)f(\(\))7
5360 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5361 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5362 f(.)33 b Fb(27)-30 3918 y Fd(operator)27 b(-)f(\(\))12
5363 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
5364 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)38 b
5365 Fb(11,)26 b(35,)h(41)-30 4010 y Fd(operator)g(--)f(\(\))7
5366 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5367 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5368 f(.)33 b Fb(27)-30 4103 y Fd(operator)27 b(-=)f(\(\))7
5369 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5370 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5371 f(.)33 b Fb(27)-30 4195 y Fd(operator)27 b(/)f(\(\))9
5372 b Fc(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5373 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5374 (.)h(.)34 b Fb(11)-30 4287 y Fd(operator)27 b(/=)f(\(\))7
5375 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5376 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5377 f(.)33 b Fb(27)-30 4379 y Fd(operator)27 b(==)f(\(\))c
5378 Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5379 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fb(13,)27 b(34,)f(36,)h(41)-30
5380 4471 y Fd(operator)g([])f(\(\))7 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)
5381 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5382 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fb(37)-30
5383 4564 y Fd(operator)27 b(|)f(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h
5384 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5385 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(21)-30
5386 4656 y Fd(operator)27 b(|=)f(\(\))7 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g
5387 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5388 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fb(27)-30
5389 4748 y Fd(operator)27 b(~)f(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f(.)g(.)g(.)h
5390 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5391 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34 b Fb(20)-30
5392 4840 y Fd(operator)27 b(+)f(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
5393 g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5394 (.)f(.)g(.)h(.)38 b Fb(11,)26 b(35,)h(41)-30 4932 y Fd(operator)g(+=)f
5395 (\(\))7 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5396 (.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5397 g(.)h(.)f(.)33 b Fb(27)-30 5024 y Fd(operator)27 b(++)f(\(\))7
5398 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5399 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5400 f(.)33 b Fb(27)2032 299 y Fd(operator)28 b(>)d(\(\))9
5401 b Fc(.)k(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5402 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5403 (.)h(.)34 b Fb(13)2032 391 y Fd(operator)28 b(>=)e(\(\))7
5404 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5405 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5406 g(.)33 b Fb(13)2032 483 y Fd(operator)28 b(>>)e(\(\))18
5407 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5408 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
5409 b Fb(22,)27 b(36)2032 576 y Fd(operator)h(>>=)e(\(\))e
5410 Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5411 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)50
5412 b Fb(27)2032 668 y Fd(operator)28 b(^)d(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f
5413 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5414 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34
5415 b Fb(21)2032 760 y Fd(operator)28 b(^=)e(\(\))7 b Fc(.)13
5416 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5417 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)33
5418 b Fb(27)2032 853 y Fd(operator)28 b(<)d(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f
5419 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5420 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34
5421 b Fb(13)2032 945 y Fd(operator)28 b(<=)e(\(\))7 b Fc(.)13
5422 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5423 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)33
5424 b Fb(13)2032 1037 y Fd(operator)28 b(<<)e(\(\))21 b Fc(.)13
5425 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5426 (.)h(.)f(.)g(.)h(.)f(.)47 b Fb(22,)27 b(35,)f(36,)h(41)2032
5427 1129 y Fd(operator)h(<<=)e(\(\))e Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h
5428 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5429 h(.)f(.)g(.)h(.)f(.)g(.)g(.)50 b Fb(27)2032 1222 y Fd(ord2)27
5430 b(\(\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5431 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5432 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(22)2032
5433 1471 y Fs(P)2032 1594 y Fd(phase)27 b(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f
5434 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5435 f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5436 (.)35 b Fb(17)2032 1686 y(pi)18 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5437 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5438 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5439 (.)h(.)f(.)g(.)44 b Fb(19)2032 1779 y Fd(pi)26 b(\(\))13
5440 b Fc(.)g(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5441 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5442 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fb(19)2032
5443 1871 y Fd(plus)27 b(\(\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5444 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5445 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36
5446 b Fb(33)2032 1963 y Fd(plus1)27 b(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f(.)g
5447 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5448 g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35
5449 b Fb(11)2032 2055 y Fd(plusp)27 b(\(\))9 b Fc(.)k(.)f(.)g(.)h(.)f(.)g
5450 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5451 g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35
5452 b Fb(13)2032 2148 y(p)r(olynomial)10 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)g
5453 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5454 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)36
5455 b Fb(38)2032 2240 y(p)r(ortabilit)n(y)17 b Fc(.)c(.)f(.)h(.)f(.)g(.)h
5456 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5457 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)43
5458 b Fb(43)2032 2332 y Fd(power2p)27 b(\(\))6 b Fc(.)13
5459 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
5460 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5461 h(.)f(.)g(.)32 b Fb(23)2032 2425 y(prin)n(ting)8 b Fc(.)k(.)g(.)h(.)f
5462 (.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5463 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
5464 (.)g(.)h(.)33 b Fb(28)2032 2686 y Fs(R)2032 2810 y Fd(random)27
5465 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5466 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5467 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 b Fb(35)2032 2902
5468 y Fd(random_F)28 b(\(\))23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
5469 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5470 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48 b Fb(26)2032
5471 2994 y Fd(random_I)28 b(\(\))23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g
5472 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5473 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48 b Fb(26)2032
5474 3087 y Fd(random_R)28 b(\(\))23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g
5475 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5476 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48 b Fb(26)2032
5477 3179 y Fd(random_state)15 b Fc(.)g(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5478 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5479 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)40 b Fb(26)2032 3271
5480 y Fd(random32)28 b(\(\))23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
5481 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5482 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48 b Fb(26)2032
5483 3364 y Fd(rational)28 b(\(\))23 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g
5484 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5485 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48 b Fb(26)2032
5486 3456 y(rational)27 b(n)n(um)n(b)r(er)17 b Fc(.)11 b(.)h(.)g(.)h(.)f(.)g
5487 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5488 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)44 b Fb(6)2032
5489 3548 y Fd(rationalize)28 b(\(\))18 b Fc(.)c(.)e(.)g(.)h(.)f(.)g(.)g(.)h
5490 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5491 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)44 b Fb(26)2032 3640
5492 y(reading)17 b Fc(.)c(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5493 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5494 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)43 b Fb(28)2032
5495 3733 y(real)27 b(n)n(um)n(b)r(er)13 b Fc(.)d(.)i(.)h(.)f(.)g(.)h(.)f(.)
5496 g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5497 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39
5498 b Fb(6)2032 3825 y Fd(realpart)28 b(\(\))23 b Fc(.)12
5499 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5500 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5501 h(.)48 b Fb(12)2032 3917 y Fd(recip)27 b(\(\))20 b Fc(.)13
5502 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5503 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
5504 h(.)45 b Fb(11,)27 b(35)2032 4009 y(reference)g(coun)n(ting)17
5505 b Fc(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5506 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
5507 b Fb(43)2032 4102 y Fd(rem)27 b(\(\))12 b Fc(.)g(.)h(.)f(.)g(.)g(.)h(.)
5508 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5509 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5510 g(.)38 b Fb(16)2032 4194 y(represen)n(tation)12 b Fc(.)h(.)f(.)g(.)h(.)
5511 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
5512 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37
5513 b Fb(28)2032 4286 y Fd(retract)27 b(\(\))6 b Fc(.)13
5514 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
5515 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5516 h(.)f(.)g(.)32 b Fb(35)2032 4379 y(Riemann's)25 b(zeta)11
5517 b Fc(.)i(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5518 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5519 (.)37 b Fb(20)2032 4471 y(ring)21 b Fc(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f
5520 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5521 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5522 (.)h(.)f(.)46 b Fb(34)2032 4563 y Fd(ring)27 b(\(\))21
5523 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5524 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5525 g(.)h(.)f(.)g(.)47 b Fb(35,)27 b(41)2032 4655 y Fd(rootp)g(\(\))9
5526 b Fc(.)k(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5527 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5528 (.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fb(16)2032 4748 y Fd(round1)27
5529 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5530 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5531 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 b Fb(14)2032 4840
5532 y Fd(round2)27 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5533 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5534 g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33 b
5535 Fb(15)2032 4932 y(rounding)10 b Fc(.)i(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5536 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
5537 g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35
5538 b Fb(13)2032 5024 y(rounding)26 b(error)7 b Fc(.)13 b(.)f(.)h(.)f(.)g
5539 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
5540 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)34
5541 b Fb(7)p eop
5542 %%Page: 56 58
5543 56 57 bop -30 -116 a Fr(Index)3646 b(56)-30 299 y Fb(Rubik's)25
5544 b(cub)r(e)14 b Fc(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5545 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
5546 f(.)g(.)h(.)f(.)g(.)h(.)f(.)40 b Fb(8)-30 548 y Fs(S)-30
5547 672 y Fd(scale_float)28 b(\(\))18 b Fc(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g
5548 (.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5549 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)44 b Fb(23)-30 764
5550 y(Sc)n(h\177)-38 b(onhage-Strassen)26 b(m)n(ultiplication)14
5551 b Fc(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)41
5552 b Fb(1,)26 b(44)-30 857 y Fd(sed)10 b Fc(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)
5553 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5554 (.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5555 f(.)g(.)h(.)f(.)36 b Fb(3)-30 949 y Fd(set_coeff)28 b(\(\))21
5556 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5557 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5558 g(.)h(.)47 b Fb(40)-30 1042 y Fd(signum)27 b(\(\))8 b
5559 Fc(.)k(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5560 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
5561 g(.)h(.)f(.)g(.)h(.)33 b Fb(12)-30 1134 y Fd(sin)26 b(\(\))12
5562 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
5563 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5564 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(17)-30 1226
5565 y Fd(sinh)27 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5566 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5567 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36
5568 b Fb(19)-30 1319 y Fd(sqrt)27 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)
5569 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
5570 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5571 36 b Fb(16)-30 1411 y Fd(sqrtp)27 b(\(\))9 b Fc(.)j(.)h(.)f(.)g(.)h(.)f
5572 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5573 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35
5574 b Fb(16)-30 1503 y Fd(square)27 b(\(\))22 b Fc(.)12 b(.)h(.)f(.)g(.)h
5575 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5576 h(.)f(.)g(.)h(.)f(.)g(.)48 b Fb(11,)27 b(33,)f(35,)h(41)-30
5577 1596 y(string)8 b Fc(.)13 b(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5578 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5579 h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34
5580 b Fb(37)-30 1688 y Fd(strlen)27 b(\(\))8 b Fc(.)k(.)h(.)f(.)g(.)h(.)f
5581 (.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5582 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
5583 b Fb(37)-30 1781 y(sym)n(b)r(ol)22 b Fc(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h
5584 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5585 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)48
5586 b Fb(37)-30 1873 y(sym)n(b)r(olic)25 b(t)n(yp)r(e)17
5587 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
5588 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5589 h(.)f(.)43 b Fb(37)-30 2135 y Fs(T)-30 2259 y Fd(tan)26
5590 b(\(\))12 b Fc(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
5591 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5592 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38 b Fb(18)-30
5593 2351 y Fd(tanh)27 b(\(\))10 b Fc(.)j(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5594 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
5595 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)36
5596 b Fb(19)-30 2444 y Fd(The\(\)\(\))24 b Fc(.)13 b(.)f(.)g(.)h(.)f(.)g(.)
5597 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5598 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5599 48 b Fb(9)2032 299 y(transcenden)n(tal)26 b(functions)c
5600 Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5601 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)47 b Fb(17)2032
5602 390 y Fd(truncate1)28 b(\(\))22 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5603 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5604 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)47 b Fb(14)2032
5605 482 y Fd(truncate2)28 b(\(\))22 b Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5606 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5607 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)47 b Fb(15)2032
5608 573 y Fd(tschebychev)28 b(\(\))18 b Fc(.)c(.)e(.)g(.)h(.)f(.)g(.)g(.)h
5609 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5610 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)44 b Fb(42)2032 832 y
5611 Fs(U)2032 954 y Fd(uminus)27 b(\(\))8 b Fc(.)13 b(.)f(.)g(.)g(.)h(.)f
5612 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5613 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)33
5614 b Fb(33)2032 1045 y(under\015o)n(w)14 b Fc(.)e(.)g(.)h(.)f(.)g(.)h(.)f
5615 (.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5616 f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
5617 b Fb(52)2032 1136 y(univ)l(ariate)26 b(p)r(olynomial)11
5618 b Fc(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5619 h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37 b
5620 Fb(38)2032 1393 y Fs(W)2032 1515 y Fd(WANT_OBFUSCATING_OPERATORS)13
5621 b Fc(.)18 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5622 (.)h(.)f(.)g(.)h(.)f(.)38 b Fb(27)2032 1759 y Fs(X)2032
5623 1880 y Fd(xgcd)27 b(\(\))10 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
5624 f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
5625 (.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36
5626 b Fb(23)2032 2139 y Fs(Z)2032 2261 y Fd(zero)27 b(\(\))14
5627 b Fc(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
5628 h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
5629 (.)40 b Fb(33,)26 b(34,)h(40)2032 2352 y Fd(zerop)g(\(\))d
5630 Fc(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5631 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49
5632 b Fb(13,)27 b(33,)f(36,)h(41)2032 2444 y Fd(zeta)g(\(\))10
5633 b Fc(.)j(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
5634 f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
5635 (.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fb(20)p eop
5636 %%Page: -1 59
5637 -1 58 bop 3905 -116 a Fr(i)-30 299 y Fo(T)-13 b(able)54
5638 b(of)g(Con)l(ten)l(ts)-30 641 y Fs(1)135 b(In)l(tro)t(duction)39
5639 b Fa(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
5640 (.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)
5641 h(.)f(.)84 b Fs(1)-30 911 y(2)135 b(Installation)13 b
5642 Fa(.)22 b(.)d(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f
5643 (.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
5644 f(.)g(.)h(.)f(.)58 b Fs(3)269 1048 y Fr(2.1)92 b(Prerequisites)24
5645 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5646 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5647 h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5648 (.)53 b Fr(3)568 1157 y(2.1.1)93 b(C)p Fp(++)29 b Fr(compiler)22
5649 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5650 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5651 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)52 b Fr(3)568 1267
5652 y(2.1.2)93 b(Mak)m(e)31 b(utilit)m(y)22 b Fe(.)17 b(.)e(.)g(.)g(.)g(.)g
5653 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
5654 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5655 (.)g(.)g(.)52 b Fr(3)568 1377 y(2.1.3)93 b(Sed)29 b(utilit)m(y)16
5656 b Fe(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5657 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5658 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)45 b Fr(3)269
5659 1486 y(2.2)92 b(Building)30 b(the)h(library)13 b Fe(.)h(.)h(.)g(.)g(.)g
5660 (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5661 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5662 (.)g(.)g(.)h(.)f(.)g(.)42 b Fr(3)568 1596 y(2.2.1)93
5663 b(Using)30 b(the)h(GNU)g(MP)f(Library)c Fe(.)15 b(.)g(.)g(.)h(.)f(.)g
5664 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5665 g(.)g(.)g(.)g(.)g(.)57 b Fr(4)269 1705 y(2.3)92 b(Installing)31
5666 b(the)g(library)17 b Fe(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5667 (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5668 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)47
5669 b Fr(4)269 1815 y(2.4)92 b(Cleaning)31 b(up)17 b Fe(.)d(.)h(.)g(.)g(.)g
5670 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5671 g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5672 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)47
5673 b Fr(5)-30 2057 y Fs(3)135 b(Ordinary)45 b(n)l(um)l(b)t(er)f(t)l(yp)t
5674 (es)29 b Fa(.)20 b(.)g(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
5675 (.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)74 b Fs(6)269
5676 2194 y Fr(3.1)92 b(Exact)31 b(n)m(um)m(b)s(ers)22 b Fe(.)13
5677 b(.)i(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5678 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5679 g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)52
5680 b Fr(6)269 2304 y(3.2)92 b(Floating-p)s(oin)m(t)33 b(n)m(um)m(b)s(ers)
5681 23 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5682 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
5683 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b Fr(7)269 2413
5684 y(3.3)92 b(Complex)29 b(n)m(um)m(b)s(ers)c Fe(.)15 b(.)g(.)g(.)g(.)g(.)
5685 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
5686 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5687 g(.)g(.)g(.)g(.)g(.)g(.)57 b Fr(8)269 2523 y(3.4)92 b(Con)m(v)m
5688 (ersions)20 b Fe(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5689 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5690 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5691 g(.)g(.)g(.)g(.)50 b Fr(8)-30 2765 y Fs(4)135 b(F)-11
5692 b(unctions)44 b(on)h(n)l(um)l(b)t(ers)37 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)
5693 h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
5694 (.)f(.)h(.)82 b Fs(10)269 2902 y Fr(4.1)92 b(Constructing)30
5695 b(n)m(um)m(b)s(ers)d Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5696 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5697 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)59
5698 b Fr(10)568 3012 y(4.1.1)93 b(Constructing)30 b(in)m(tegers)10
5699 b Fe(.)16 b(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5700 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5701 g(.)40 b Fr(10)568 3122 y(4.1.2)93 b(Constructing)30
5702 b(rational)h(n)m(um)m(b)s(ers)20 b Fe(.)13 b(.)i(.)g(.)g(.)g(.)g(.)g(.)
5703 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5704 (.)49 b Fr(10)568 3231 y(4.1.3)93 b(Constructing)30 b(\015oating-p)s
5705 (oin)m(t)h(n)m(um)m(b)s(ers)14 b Fe(.)f(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5706 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)43 b Fr(10)568
5707 3341 y(4.1.4)93 b(Constructing)30 b(complex)g(n)m(um)m(b)s(ers)11
5708 b Fe(.)h(.)j(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
5709 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40 b Fr(10)269 3450
5710 y(4.2)92 b(Elemen)m(tary)30 b(functions)25 b Fe(.)15
5711 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5712 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5713 g(.)g(.)g(.)g(.)g(.)g(.)g(.)55 b Fr(11)269 3560 y(4.3)92
5714 b(Elemen)m(tary)30 b(rational)i(functions)c Fe(.)15 b(.)g(.)g(.)g(.)g
5715 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5716 g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)57 b
5717 Fr(12)269 3670 y(4.4)92 b(Elemen)m(tary)30 b(complex)g(functions)19
5718 b Fe(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5719 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5720 (.)49 b Fr(12)269 3779 y(4.5)92 b(Comparisons)21 b Fe(.)14
5721 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5722 (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5723 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)51
5724 b Fr(13)269 3889 y(4.6)92 b(Rounding)29 b(functions)18
5725 b Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5726 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
5727 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)47 b Fr(13)269
5728 3998 y(4.7)92 b(Ro)s(ots)11 b Fe(.)k(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
5729 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5730 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
5731 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40
5732 b Fr(16)269 4108 y(4.8)92 b(T)-8 b(ranscenden)m(tal)31
5733 b(functions)17 b Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5734 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
5735 f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46 b Fr(17)568 4218
5736 y(4.8.1)93 b(Exp)s(onen)m(tial)30 b(and)g(logarithmic)h(functions)17
5737 b Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5738 h(.)f(.)46 b Fr(17)568 4327 y(4.8.2)93 b(T)-8 b(rigonometric)30
5739 b(functions)c Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5740 (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5741 g(.)55 b Fr(17)568 4437 y(4.8.3)93 b(Hyp)s(erb)s(olic)29
5742 b(functions)23 b Fe(.)15 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5743 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5744 g(.)g(.)g(.)g(.)g(.)53 b Fr(19)568 4546 y(4.8.4)93 b(Euler)29
5745 b(gamma)20 b Fe(.)14 b(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5746 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5747 g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)49 b Fr(20)568
5748 4656 y(4.8.5)93 b(Riemann)29 b(zeta)13 b Fe(.)j(.)f(.)g(.)g(.)g(.)g(.)g
5749 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
5750 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)42
5751 b Fr(20)269 4765 y(4.9)92 b(F)-8 b(unctions)31 b(on)f(in)m(tegers)c
5752 Fe(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5753 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5754 g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fr(20)568 4875
5755 y(4.9.1)93 b(Logical)32 b(functions)13 b Fe(.)h(.)h(.)g(.)g(.)g(.)g(.)g
5756 (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5757 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)42
5758 b Fr(20)568 4985 y(4.9.2)93 b(Num)m(b)s(er)28 b(theoretic)k(functions)
5759 20 b Fe(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
5760 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49
5761 b Fr(23)568 5094 y(4.9.3)93 b(Com)m(binatorial)30 b(functions)21
5762 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5763 (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)50
5764 b Fr(23)269 5204 y(4.10)92 b(F)-8 b(unctions)31 b(on)g(\015oating-p)s
5765 (oin)m(t)g(n)m(um)m(b)s(ers)25 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5766 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
5767 g(.)g(.)56 b Fr(23)269 5313 y(4.11)92 b(Con)m(v)m(ersion)31
5768 b(functions)12 b Fe(.)j(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5769 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
5770 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41 b
5771 Fr(25)p eop
5772 %%Page: -2 60
5773 -2 59 bop 3879 -116 a Fr(ii)568 83 y(4.11.1)93 b(Con)m(v)m(ersion)31
5774 b(to)g(\015oating-p)s(oin)m(t)h(n)m(um)m(b)s(ers)17 b
5775 Fe(.)c(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5776 (.)g(.)47 b Fr(25)568 193 y(4.11.2)93 b(Con)m(v)m(ersion)31
5777 b(to)g(rational)h(n)m(um)m(b)s(ers)21 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g
5778 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5779 53 b Fr(26)269 302 y(4.12)92 b(Random)29 b(n)m(um)m(b)s(er)f
5780 (generators)e Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5781 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5782 h(.)f(.)g(.)g(.)g(.)53 b Fr(26)269 412 y(4.13)92 b(Obfuscating)30
5783 b(op)s(erators)g Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5784 (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5785 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)59 b Fr(27)-30
5786 652 y Fs(5)135 b(Input/Output)26 b Fa(.)19 b(.)h(.)f(.)g(.)h(.)f(.)h(.)
5787 f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g
5788 (.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)71 b Fs(28)269 789
5789 y Fr(5.1)92 b(In)m(ternal)31 b(and)e(prin)m(ted)h(represen)m(tation)g
5790 Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
5791 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58
5792 b Fr(28)269 898 y(5.2)92 b(Input)29 b(functions)14 b
5793 Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5794 (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5795 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)44
5796 b Fr(29)269 1008 y(5.3)92 b(Output)29 b(functions)21
5797 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5798 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
5799 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)50
5800 b Fr(30)-30 1248 y Fs(6)135 b(Rings)22 b Fa(.)e(.)f(.)h(.)f(.)h(.)f(.)h
5801 (.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)
5802 f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)67
5803 b Fs(33)-30 1516 y(7)135 b(Mo)t(dular)44 b(in)l(tegers)27
5804 b Fa(.)22 b(.)d(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
5805 (.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)72
5806 b Fs(34)269 1653 y Fr(7.1)92 b(Mo)s(dular)30 b(in)m(teger)i(rings)18
5807 b Fe(.)c(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5808 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5809 (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)47 b Fr(34)269 1762
5810 y(7.2)92 b(F)-8 b(unctions)31 b(on)f(mo)s(dular)e(in)m(tegers)16
5811 b Fe(.)h(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5812 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5813 (.)46 b Fr(34)-30 2002 y Fs(8)135 b(Sym)l(b)t(olic)45
5814 b(data)g(t)l(yp)t(es)28 b Fa(.)21 b(.)e(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
5815 (.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)
5816 73 b Fs(37)269 2139 y Fr(8.1)92 b(Strings)9 b Fe(.)14
5817 b(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5818 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5819 g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5820 (.)g(.)g(.)g(.)38 b Fr(37)269 2249 y(8.2)92 b(Sym)m(b)s(ols)24
5821 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5822 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
5823 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5824 (.)g(.)g(.)g(.)55 b Fr(37)-30 2489 y Fs(9)135 b(Univ)-7
5825 b(ariate)46 b(p)t(olynomials)40 b Fa(.)19 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f
5826 (.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)83
5827 b Fs(38)269 2626 y Fr(9.1)92 b(Univ)-5 b(ariate)32 b(p)s(olynomial)d
5828 (rings)c Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5829 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5830 g(.)g(.)g(.)g(.)g(.)54 b Fr(38)269 2736 y(9.2)92 b(F)-8
5831 b(unctions)31 b(on)f(univ)-5 b(ariate)31 b(p)s(olynomials)d
5832 Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5833 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58
5834 b Fr(40)269 2845 y(9.3)92 b(Sp)s(ecial)31 b(p)s(olynomials)13
5835 b Fe(.)h(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
5836 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5837 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)43 b Fr(42)-30
5838 3085 y Fs(10)135 b(In)l(ternals)20 b Fa(.)g(.)g(.)f(.)g(.)h(.)f(.)h(.)f
5839 (.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
5840 f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)64 b
5841 Fs(43)269 3222 y Fr(10.1)92 b(Wh)m(y)31 b(C)p Fp(++)f
5842 Fr(?)d Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5843 g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5844 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5845 g(.)57 b Fr(43)269 3332 y(10.2)92 b(Memory)30 b(e\016ciency)25
5846 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5847 (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5848 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)53 b Fr(43)269
5849 3442 y(10.3)92 b(Sp)s(eed)30 b(e\016ciency)e Fe(.)15
5850 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
5851 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5852 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)57 b Fr(43)269
5853 3551 y(10.4)92 b(Garbage)32 b(collection)14 b Fe(.)k(.)d(.)g(.)g(.)g(.)
5854 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5855 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5856 g(.)g(.)g(.)g(.)44 b Fr(44)-30 3791 y Fs(11)135 b(Using)46
5857 b(the)f(library)25 b Fa(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
5858 (.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
5859 h(.)69 b Fs(45)269 3928 y Fr(11.1)92 b(Compiler)30 b(options)21
5860 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5861 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
5862 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)50 b
5863 Fr(45)269 4038 y(11.2)92 b(Compatibilit)m(y)31 b(to)g(old)g(CLN)f(v)m
5864 (ersions)17 b Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5865 g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46
5866 b Fr(45)269 4147 y(11.3)92 b(Include)30 b(\014les)18
5867 b Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
5868 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5869 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)47
5870 b Fr(45)269 4257 y(11.4)92 b(An)30 b(Example)d Fe(.)15
5871 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5872 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5873 h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)57
5874 b Fr(49)269 4367 y(11.5)92 b(Debugging)32 b(supp)s(ort)23
5875 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
5876 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5877 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)54 b Fr(50)-30
5878 4607 y Fs(12)135 b(Customizing)39 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f
5879 (.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
5880 h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)83 b Fs(52)269 4744
5881 y Fr(12.1)92 b(Error)30 b(handling)24 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)h
5882 (.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5883 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
5884 (.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fr(52)269 4853 y(12.2)92
5885 b(Floating-p)s(oin)m(t)33 b(under\015o)m(w)19 b Fe(.)14
5886 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
5887 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5888 g(.)g(.)g(.)49 b Fr(52)269 4963 y(12.3)92 b(Customizing)30
5889 b(I/O)25 b Fe(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
5890 g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
5891 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54
5892 b Fr(52)269 5072 y(12.4)92 b(Customizing)30 b(the)h(memory)d(allo)s
5893 (cator)16 b Fe(.)i(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
5894 (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46
5895 b Fr(52)-30 5313 y Fs(Index)30 b Fa(.)19 b(.)g(.)h(.)f(.)h(.)f(.)h(.)f
5896 (.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
5897 h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f
5898 (.)h(.)74 b Fs(53)p eop
5899 %%Trailer
5900 end
5901 userdict /end-hook known{end-hook}if
5902 %%EOF