%PDF-1.4 5 0 obj << /S /GoTo /D (chapter*.1) >> endobj 8 0 obj (Contents) endobj 9 0 obj << /S /GoTo /D (chapter.1) >> endobj 12 0 obj (Introduction) endobj 13 0 obj << /S /GoTo /D (section.1.1) >> endobj 16 0 obj (Motivation and Scope) endobj 17 0 obj << /S /GoTo /D (section.1.2) >> endobj 20 0 obj (Impact on the Standard) endobj 21 0 obj << /S /GoTo /D (section.1.3) >> endobj 24 0 obj (General Requirements) endobj 25 0 obj << /S /GoTo /D (section.1.4) >> endobj 28 0 obj (Usage of Integer Classes) endobj 29 0 obj << /S /GoTo /D (section.1.5) >> endobj 32 0 obj (Design Decisions) endobj 33 0 obj << /S /GoTo /D (section.1.6) >> endobj 36 0 obj (The allocator class integer\137allocator) endobj 37 0 obj << /S /GoTo /D (section.1.7) >> endobj 40 0 obj (Classes derived from class integer) endobj 41 0 obj << /S /GoTo /D (subsection.1.7.1) >> endobj 44 0 obj (The class unsigned\137integer) endobj 45 0 obj << /S /GoTo /D (subsection.1.7.2) >> endobj 48 0 obj (The class modular\137integer) endobj 49 0 obj << /S /GoTo /D (subsection.1.7.3) >> endobj 52 0 obj (The class allocated\137integer) endobj 53 0 obj << /S /GoTo /D (section.1.8) >> endobj 56 0 obj (Required Complexities) endobj 57 0 obj << /S /GoTo /D (section.1.9) >> endobj 60 0 obj (Performance Optimization) endobj 61 0 obj << /S /GoTo /D (chapter.2) >> endobj 64 0 obj (Proposed Text for Library Technical Report 2) endobj 65 0 obj << /S /GoTo /D (section.2.1) >> endobj 68 0 obj (General) endobj 69 0 obj << /S /GoTo /D (section.2.2) >> endobj 72 0 obj (Synopsis) endobj 73 0 obj << /S /GoTo /D (section.2.3) >> endobj 76 0 obj (Constructors and Destructor) endobj 77 0 obj << /S /GoTo /D (subsection.2.3.1) >> endobj 80 0 obj (Rationale) endobj 81 0 obj << /S /GoTo /D (subsection.2.3.2) >> endobj 84 0 obj (integer\(\);) endobj 85 0 obj << /S /GoTo /D (subsection.2.3.3) >> endobj 88 0 obj (integer\( int \);) endobj 89 0 obj << /S /GoTo /D (subsection.2.3.4) >> endobj 92 0 obj (integer\( unsigned int \);) endobj 93 0 obj << /S /GoTo /D (subsection.2.3.5) >> endobj 96 0 obj (integer\( long int \);) endobj 97 0 obj << /S /GoTo /D (subsection.2.3.6) >> endobj 100 0 obj (integer\( unsigned long int \);) endobj 101 0 obj << /S /GoTo /D (subsection.2.3.7) >> endobj 104 0 obj (integer\( long long int \);) endobj 105 0 obj << /S /GoTo /D (subsection.2.3.8) >> endobj 108 0 obj (integer\( unsigned long long int \);) endobj 109 0 obj << /S /GoTo /D (subsection.2.3.9) >> endobj 112 0 obj (explicit integer\( float \);) endobj 113 0 obj << /S /GoTo /D (subsection.2.3.10) >> endobj 116 0 obj (explicit integer\( double \);) endobj 117 0 obj << /S /GoTo /D (subsection.2.3.11) >> endobj 120 0 obj (explicit integer\( long double \);) endobj 121 0 obj << /S /GoTo /D (subsection.2.3.12) >> endobj 124 0 obj (explicit integer\( const char * \);) endobj 125 0 obj << /S /GoTo /D (subsection.2.3.13) >> endobj 128 0 obj (explicit integer\( const char *, radix\137type \);) endobj 129 0 obj << /S /GoTo /D (subsection.2.3.14) >> endobj 132 0 obj (explicit integer\( const std::string \046 \);) endobj 133 0 obj << /S /GoTo /D (subsection.2.3.15) >> endobj 136 0 obj (explicit integer\( const std::string \046, radix\137type \);) endobj 137 0 obj << /S /GoTo /D (subsection.2.3.16) >> endobj 140 0 obj (integer\( const integer \046 \);) endobj 141 0 obj << /S /GoTo /D (subsection.2.3.17) >> endobj 144 0 obj (virtual \176integer\(\);) endobj 145 0 obj << /S /GoTo /D (section.2.4) >> endobj 148 0 obj (Conversion Member Operators) endobj 149 0 obj << /S /GoTo /D (subsection.2.4.1) >> endobj 152 0 obj (Rationale) endobj 153 0 obj << /S /GoTo /D (subsection.2.4.2) >> endobj 156 0 obj (operator unspecified-bool-type\(\) const;) endobj 157 0 obj << /S /GoTo /D (section.2.5) >> endobj 160 0 obj (Copying Member Functions) endobj 161 0 obj << /S /GoTo /D (subsection.2.5.1) >> endobj 164 0 obj (Rationale) endobj 165 0 obj << /S /GoTo /D (subsection.2.5.2) >> endobj 168 0 obj (static integer\137allocator * get\137default\137allocator\(\);) endobj 169 0 obj << /S /GoTo /D (subsection.2.5.3) >> endobj 172 0 obj (integer\137allocator * get\137allocator\(\) const;) endobj 173 0 obj << /S /GoTo /D (subsection.2.5.4) >> endobj 176 0 obj (integer * create\(\) const;) endobj 177 0 obj << /S /GoTo /D (subsection.2.5.5) >> endobj 180 0 obj (integer * clone\(\) const;) endobj 181 0 obj << /S /GoTo /D (subsection.2.5.6) >> endobj 184 0 obj (integer \046 normalize\(\);) endobj 185 0 obj << /S /GoTo /D (subsection.2.5.7) >> endobj 188 0 obj (integer \046 swap\( integer \046 \);) endobj 189 0 obj << /S /GoTo /D (subsection.2.5.8) >> endobj 192 0 obj (virtual integer\137allocator * do\137get\137allocator\(\) const;) endobj 193 0 obj << /S /GoTo /D (subsection.2.5.9) >> endobj 196 0 obj (virtual integer * do\137create\(\) const;) endobj 197 0 obj << /S /GoTo /D (subsection.2.5.10) >> endobj 200 0 obj (virtual integer * do\137clone\(\) const;) endobj 201 0 obj << /S /GoTo /D (subsection.2.5.11) >> endobj 204 0 obj (virtual integer \046 do\137normalize\(\);) endobj 205 0 obj << /S /GoTo /D (subsection.2.5.12) >> endobj 208 0 obj (virtual integer \046 do\137swap\( integer \046 \);) endobj 209 0 obj << /S /GoTo /D (section.2.6) >> endobj 212 0 obj (Bit and Element Access Member Functions) endobj 213 0 obj << /S /GoTo /D (subsection.2.6.1) >> endobj 216 0 obj (Rationale) endobj 217 0 obj << /S /GoTo /D (subsection.2.6.2) >> endobj 220 0 obj (sign\137type sign\(\) const;) endobj 221 0 obj << /S /GoTo /D (subsection.2.6.3) >> endobj 224 0 obj (bool is\137zero\(\) const;) endobj 225 0 obj << /S /GoTo /D (subsection.2.6.4) >> endobj 228 0 obj (bool is\137odd\(\) const;) endobj 229 0 obj << /S /GoTo /D (subsection.2.6.5) >> endobj 232 0 obj (size\137type highest\137bit\(\) const;) endobj 233 0 obj << /S /GoTo /D (subsection.2.6.6) >> endobj 236 0 obj (size\137type lowest\137bit\(\) const;) endobj 237 0 obj << /S /GoTo /D (subsection.2.6.7) >> endobj 240 0 obj (bool get\137bit\( size\137type \) const;) endobj 241 0 obj << /S /GoTo /D (subsection.2.6.8) >> endobj 244 0 obj (integer \046 set\137bit\( size\137type, bool \);) endobj 245 0 obj << /S /GoTo /D (subsection.2.6.9) >> endobj 248 0 obj (integer get\137sub\( size\137type, size\137type \) const;) endobj 249 0 obj << /S /GoTo /D (subsection.2.6.10) >> endobj 252 0 obj (size\137type size\(\) const;) endobj 253 0 obj << /S /GoTo /D (subsection.2.6.11) >> endobj 256 0 obj (reference::reference\( integer *, size\137type \);) endobj 257 0 obj << /S /GoTo /D (subsection.2.6.12) >> endobj 260 0 obj (reference::operator data\137type\(\) const;) endobj 261 0 obj << /S /GoTo /D (subsection.2.6.13) >> endobj 264 0 obj (reference \046 reference::operator=\( data\137type \);) endobj 265 0 obj << /S /GoTo /D (subsection.2.6.14) >> endobj 268 0 obj (reference \046 reference::operator=\( const reference \046 \);) endobj 269 0 obj << /S /GoTo /D (subsection.2.6.15) >> endobj 272 0 obj (reference operator[]\( size\137type \);) endobj 273 0 obj << /S /GoTo /D (subsection.2.6.16) >> endobj 276 0 obj (const reference operator[]\( size\137type \) const;) endobj 277 0 obj << /S /GoTo /D (section.2.7) >> endobj 280 0 obj (Arithmetic Member Operators) endobj 281 0 obj << /S /GoTo /D (subsection.2.7.1) >> endobj 284 0 obj (Rationale) endobj 285 0 obj << /S /GoTo /D (subsection.2.7.2) >> endobj 288 0 obj (integer \046 negate\(\);) endobj 289 0 obj << /S /GoTo /D (subsection.2.7.3) >> endobj 292 0 obj (integer \046 abs\(\);) endobj 293 0 obj << /S /GoTo /D (subsection.2.7.4) >> endobj 296 0 obj (integer \046 operator++\(\);) endobj 297 0 obj << /S /GoTo /D (subsection.2.7.5) >> endobj 300 0 obj (integer \046 operator--\(\);) endobj 301 0 obj << /S /GoTo /D (subsection.2.7.6) >> endobj 304 0 obj (integer \046 operator=\( const integer \046 \);) endobj 305 0 obj << /S /GoTo /D (subsection.2.7.7) >> endobj 308 0 obj (integer \046 operator+=\( const integer \046 \);) endobj 309 0 obj << /S /GoTo /D (subsection.2.7.8) >> endobj 312 0 obj (integer \046 operator-=\( const integer \046 \);) endobj 313 0 obj << /S /GoTo /D (subsection.2.7.9) >> endobj 316 0 obj (integer \046 operator*=\( const integer \046 \);) endobj 317 0 obj << /S /GoTo /D (subsection.2.7.10) >> endobj 320 0 obj (integer \046 operator/=\( const integer \046 \);) endobj 321 0 obj << /S /GoTo /D (subsection.2.7.11) >> endobj 324 0 obj (integer \046 operator\045=\( const integer \046 \);) endobj 325 0 obj << /S /GoTo /D (subsection.2.7.12) >> endobj 328 0 obj (integer \046 operator<<=\( size\137type \);) endobj 329 0 obj << /S /GoTo /D (subsection.2.7.13) >> endobj 332 0 obj (integer \046 operator>>=\( size\137type \);) endobj 333 0 obj << /S /GoTo /D (subsection.2.7.14) >> endobj 336 0 obj (integer \046 operator\046=\( const integer \046 \);) endobj 337 0 obj << /S /GoTo /D (subsection.2.7.15) >> endobj 340 0 obj (integer \046 operator|=\( const integer \046 \);) endobj 341 0 obj << /S /GoTo /D (subsection.2.7.16) >> endobj 344 0 obj (integer \046 operator\136=\( const integer \046 \);) endobj 345 0 obj << /S /GoTo /D (section.2.8) >> endobj 348 0 obj (Arithmetic Member Functions) endobj 349 0 obj << /S /GoTo /D (subsection.2.8.1) >> endobj 352 0 obj (Rationale) endobj 353 0 obj << /S /GoTo /D (subsection.2.8.2) >> endobj 356 0 obj (virtual data\137type get\137element\( size\137type \);) endobj 357 0 obj << /S /GoTo /D (subsection.2.8.3) >> endobj 360 0 obj (virtual integer \046 set\137element\( size\137type, data\137type \);) endobj 361 0 obj << /S /GoTo /D (subsection.2.8.4) >> endobj 364 0 obj (virtual integer \046 do\137negate\(\);) endobj 365 0 obj << /S /GoTo /D (subsection.2.8.5) >> endobj 368 0 obj (virtual integer \046 do\137abs\(\);) endobj 369 0 obj << /S /GoTo /D (subsection.2.8.6) >> endobj 372 0 obj (virtual integer \046 increment\(\);) endobj 373 0 obj << /S /GoTo /D (subsection.2.8.7) >> endobj 376 0 obj (virtual integer \046 decrement\(\);) endobj 377 0 obj << /S /GoTo /D (subsection.2.8.8) >> endobj 380 0 obj (virtual integer \046 assign\( const integer \046 \);) endobj 381 0 obj << /S /GoTo /D (subsection.2.8.9) >> endobj 384 0 obj (virtual integer \046 add\( const integer \046 \);) endobj 385 0 obj << /S /GoTo /D (subsection.2.8.10) >> endobj 388 0 obj (virtual integer \046 subtract\( const integer \046 \);) endobj 389 0 obj << /S /GoTo /D (subsection.2.8.11) >> endobj 392 0 obj (virtual integer \046 multiply\( const integer \046 \);) endobj 393 0 obj << /S /GoTo /D (subsection.2.8.12) >> endobj 396 0 obj (virtual integer \046 divide\( const integer \046 \);) endobj 397 0 obj << /S /GoTo /D (subsection.2.8.13) >> endobj 400 0 obj (virtual integer \046 remainder\( const integer \046 \);) endobj 401 0 obj << /S /GoTo /D (subsection.2.8.14) >> endobj 404 0 obj (virtual integer \046 shift\137left\( size\137type \);) endobj 405 0 obj << /S /GoTo /D (subsection.2.8.15) >> endobj 408 0 obj (virtual integer \046 shift\137right\( size\137type \);) endobj 409 0 obj << /S /GoTo /D (subsection.2.8.16) >> endobj 412 0 obj (virtual integer \046 bitwise\137and\( const integer \046 \);) endobj 413 0 obj << /S /GoTo /D (subsection.2.8.17) >> endobj 416 0 obj (virtual integer \046 bitwise\137or\( const integer \046 \);) endobj 417 0 obj << /S /GoTo /D (subsection.2.8.18) >> endobj 420 0 obj (virtual integer \046 bitwise\137xor\( const integer \046 \);) endobj 421 0 obj << /S /GoTo /D (section.2.9) >> endobj 424 0 obj (Arithmetic Non-Member Operators) endobj 425 0 obj << /S /GoTo /D (subsection.2.9.1) >> endobj 428 0 obj (Rationale) endobj 429 0 obj << /S /GoTo /D (subsection.2.9.2) >> endobj 432 0 obj (integer operator++\( integer \046, int \);) endobj 433 0 obj << /S /GoTo /D (subsection.2.9.3) >> endobj 436 0 obj (integer operator--\( integer \046, int \);) endobj 437 0 obj << /S /GoTo /D (subsection.2.9.4) >> endobj 440 0 obj (integer operator+\( const integer \046 \);) endobj 441 0 obj << /S /GoTo /D (subsection.2.9.5) >> endobj 444 0 obj (integer operator-\( const integer \046 \);) endobj 445 0 obj << /S /GoTo /D (subsection.2.9.6) >> endobj 448 0 obj (integer operator+\( const integer \046, const integer \046 \);) endobj 449 0 obj << /S /GoTo /D (subsection.2.9.7) >> endobj 452 0 obj (integer operator-\( const integer \046, const integer \046 \);) endobj 453 0 obj << /S /GoTo /D (subsection.2.9.8) >> endobj 456 0 obj (integer operator*\( const integer \046, const integer \046 \);) endobj 457 0 obj << /S /GoTo /D (subsection.2.9.9) >> endobj 460 0 obj (integer operator/\( const integer \046, const integer \046 \);) endobj 461 0 obj << /S /GoTo /D (subsection.2.9.10) >> endobj 464 0 obj (integer operator\045\( const integer \046, const integer \046 \);) endobj 465 0 obj << /S /GoTo /D (subsection.2.9.11) >> endobj 468 0 obj (integer operator<<\( const integer \046, size\137type \);) endobj 469 0 obj << /S /GoTo /D (subsection.2.9.12) >> endobj 472 0 obj (integer operator>>\( const integer \046, size\137type \);) endobj 473 0 obj << /S /GoTo /D (subsection.2.9.13) >> endobj 476 0 obj (integer operator\046\( const integer \046, const integer \046 \);) endobj 477 0 obj << /S /GoTo /D (subsection.2.9.14) >> endobj 480 0 obj (integer operator|\( const integer \046, const integer \046 \);) endobj 481 0 obj << /S /GoTo /D (subsection.2.9.15) >> endobj 484 0 obj (integer operator\136\( const integer \046, const integer \046 \);) endobj 485 0 obj << /S /GoTo /D (section.2.10) >> endobj 488 0 obj (Boolean Non-Member Operators) endobj 489 0 obj << /S /GoTo /D (subsection.2.10.1) >> endobj 492 0 obj (Rationale) endobj 493 0 obj << /S /GoTo /D (subsection.2.10.2) >> endobj 496 0 obj (bool operator==\( const integer \046, const integer \046 \);) endobj 497 0 obj << /S /GoTo /D (subsection.2.10.3) >> endobj 500 0 obj (bool operator!=\( const integer \046, const integer \046 \);) endobj 501 0 obj << /S /GoTo /D (subsection.2.10.4) >> endobj 504 0 obj (bool operator<\( const integer \046, const integer \046 \);) endobj 505 0 obj << /S /GoTo /D (subsection.2.10.5) >> endobj 508 0 obj (bool operator<=\( const integer \046, const integer \046 \);) endobj 509 0 obj << /S /GoTo /D (subsection.2.10.6) >> endobj 512 0 obj (bool operator>\( const integer \046, const integer \046 \);) endobj 513 0 obj << /S /GoTo /D (subsection.2.10.7) >> endobj 516 0 obj (bool operator>=\( const integer \046, const integer \046 \);) endobj 517 0 obj << /S /GoTo /D (section.2.11) >> endobj 520 0 obj (Arithmetic Non-Member Functions) endobj 521 0 obj << /S /GoTo /D (subsection.2.11.1) >> endobj 524 0 obj (Rationale) endobj 525 0 obj << /S /GoTo /D (subsection.2.11.2) >> endobj 528 0 obj (integer abs\( const integer \046 \);) endobj 529 0 obj << /S /GoTo /D (subsection.2.11.3) >> endobj 532 0 obj (integer sqr\( const integer \046 \);) endobj 533 0 obj << /S /GoTo /D (subsection.2.11.4) >> endobj 536 0 obj (integer sqrt\( const integer \046 \);) endobj 537 0 obj << /S /GoTo /D (subsection.2.11.5) >> endobj 540 0 obj (void sqrtrem\( const integer \046, integer \046, integer \046 \);) endobj 541 0 obj << /S /GoTo /D (subsection.2.11.6) >> endobj 544 0 obj (void divrem\( const integer \046, const integer \046, integer \046, integer \046 \);) endobj 545 0 obj << /S /GoTo /D (subsection.2.11.7) >> endobj 548 0 obj (integer pow\( const integer \046, const integer \046 \);) endobj 549 0 obj << /S /GoTo /D (subsection.2.11.8) >> endobj 552 0 obj (integer mod\( const integer \046, const integer \046 \);) endobj 553 0 obj << /S /GoTo /D (subsection.2.11.9) >> endobj 556 0 obj (integer powmod\( const integer \046, const integer \046, const integer \046 \);) endobj 557 0 obj << /S /GoTo /D (subsection.2.11.10) >> endobj 560 0 obj (integer invmod\( const integer \046, const integer \046 \);) endobj 561 0 obj << /S /GoTo /D (subsection.2.11.11) >> endobj 564 0 obj (integer gcd\( const integer \046, const integer \046 \);) endobj 565 0 obj << /S /GoTo /D (subsection.2.11.12) >> endobj 568 0 obj (integer lcm\( const integer \046, const integer \046 \);) endobj 569 0 obj << /S /GoTo /D (subsection.2.11.13) >> endobj 572 0 obj (integer extgcd\( const integer \046, const integer \046, integer \046, integer \046 \);) endobj 573 0 obj << /S /GoTo /D (subsection.2.11.14) >> endobj 576 0 obj (void swap\( integer \046, integer \046 \);) endobj 577 0 obj << /S /GoTo /D (section.2.12) >> endobj 580 0 obj (Conversion Non-Member Functions) endobj 581 0 obj << /S /GoTo /D (subsection.2.12.1) >> endobj 584 0 obj (Rationale) endobj 585 0 obj << /S /GoTo /D (subsection.2.12.2) >> endobj 588 0 obj (int to\137int\( const integer \046 \);) endobj 589 0 obj << /S /GoTo /D (subsection.2.12.3) >> endobj 592 0 obj (unsigned int to\137unsigned\137int\( const integer \046 \);) endobj 593 0 obj << /S /GoTo /D (subsection.2.12.4) >> endobj 596 0 obj (long int to\137long\137int\( const integer \046 \);) endobj 597 0 obj << /S /GoTo /D (subsection.2.12.5) >> endobj 600 0 obj (unsigned long int to\137unsigned\137long\137int\( const integer \046 \);) endobj 601 0 obj << /S /GoTo /D (subsection.2.12.6) >> endobj 604 0 obj (long long int to\137long\137long\137int\( const integer \046 \);) endobj 605 0 obj << /S /GoTo /D (subsection.2.12.7) >> endobj 608 0 obj (unsigned long long int to\137unsigned\137long\137long\137int\( const integer \046 \);) endobj 609 0 obj << /S /GoTo /D (subsection.2.12.8) >> endobj 612 0 obj (float to\137float\( const integer \046 \);) endobj 613 0 obj << /S /GoTo /D (subsection.2.12.9) >> endobj 616 0 obj (double to\137double\( const integer \046 \);) endobj 617 0 obj << /S /GoTo /D (subsection.2.12.10) >> endobj 620 0 obj (long double to\137long\137double\( const integer \046 \);) endobj 621 0 obj << /S /GoTo /D (subsection.2.12.11) >> endobj 624 0 obj (std::string to\137string\( const integer \046 \);) endobj 625 0 obj << /S /GoTo /D (subsection.2.12.12) >> endobj 628 0 obj (std::string to\137string\( const integer \046, radix\137type \);) endobj 629 0 obj << /S /GoTo /D (section.2.13) >> endobj 632 0 obj (Stream Non-Member Operators) endobj 633 0 obj << /S /GoTo /D (subsection.2.13.1) >> endobj 636 0 obj (Rationale) endobj 637 0 obj << /S /GoTo /D (subsection.2.13.2) >> endobj 640 0 obj (std::basic\137istream<...> \046 operator>>\( std::basic\137istream<...> \046, integer \046 \);) endobj 641 0 obj << /S /GoTo /D (subsection.2.13.3) >> endobj 644 0 obj (std::basic\137ostream<...> \046 operator<<\( std::basic\137ostream<...> \046, const integer \046 \);) endobj 645 0 obj << /S /GoTo /D (section.2.14) >> endobj 648 0 obj (Random Non-Member Functions) endobj 649 0 obj << /S /GoTo /D (subsection.2.14.1) >> endobj 652 0 obj (Rationale) endobj 653 0 obj << /S /GoTo /D (subsection.2.14.2) >> endobj 656 0 obj (integer random\( const integer \046, const integer \046 \);) endobj 657 0 obj << /S /GoTo /D (section.2.15) >> endobj 660 0 obj (Allocator Constructors and Destructor) endobj 661 0 obj << /S /GoTo /D (subsection.2.15.1) >> endobj 664 0 obj (Rationale) endobj 665 0 obj << /S /GoTo /D (subsection.2.15.2) >> endobj 668 0 obj (integer\137allocator\(\);) endobj 669 0 obj << /S /GoTo /D (subsection.2.15.3) >> endobj 672 0 obj (virtual \176integer\137allocator\(\);) endobj 673 0 obj << /S /GoTo /D (section.2.16) >> endobj 676 0 obj (Allocator Member Functions) endobj 677 0 obj << /S /GoTo /D (subsection.2.16.1) >> endobj 680 0 obj (Rationale) endobj 681 0 obj << /S /GoTo /D (subsection.2.16.2) >> endobj 684 0 obj (virtual void * allocate\( size\137type \) = 0;) endobj 685 0 obj << /S /GoTo /D (subsection.2.16.3) >> endobj 688 0 obj (virtual void * reallocate\( void *, size\137type \) = 0;) endobj 689 0 obj << /S /GoTo /D (subsection.2.16.4) >> endobj 692 0 obj (virtual void deallocate\( void * \) = 0;) endobj 693 0 obj << /S /GoTo /D (section.2.17) >> endobj 696 0 obj (Unsigned Integer Constructors and Destructor) endobj 697 0 obj << /S /GoTo /D (subsection.2.17.1) >> endobj 700 0 obj (Rationale) endobj 701 0 obj << /S /GoTo /D (subsection.2.17.2) >> endobj 704 0 obj (unsigned\137integer\(\);) endobj 705 0 obj << /S /GoTo /D (subsection.2.17.3) >> endobj 708 0 obj (unsigned\137integer\( int \);) endobj 709 0 obj << /S /GoTo /D (subsection.2.17.4) >> endobj 712 0 obj (unsigned\137integer\( unsigned int \);) endobj 713 0 obj << /S /GoTo /D (subsection.2.17.5) >> endobj 716 0 obj (unsigned\137integer\( long int \);) endobj 717 0 obj << /S /GoTo /D (subsection.2.17.6) >> endobj 720 0 obj (unsigned\137integer\( unsigned long int \);) endobj 721 0 obj << /S /GoTo /D (subsection.2.17.7) >> endobj 724 0 obj (unsigned\137integer\( long long int \);) endobj 725 0 obj << /S /GoTo /D (subsection.2.17.8) >> endobj 728 0 obj (unsigned\137integer\( unsigned long long int \);) endobj 729 0 obj << /S /GoTo /D (subsection.2.17.9) >> endobj 732 0 obj (explicit unsigned\137integer\( float \);) endobj 733 0 obj << /S /GoTo /D (subsection.2.17.10) >> endobj 736 0 obj (explicit unsigned\137integer\( double \);) endobj 737 0 obj << /S /GoTo /D (subsection.2.17.11) >> endobj 740 0 obj (explicit unsigned\137integer\( long double \);) endobj 741 0 obj << /S /GoTo /D (subsection.2.17.12) >> endobj 744 0 obj (explicit unsigned\137integer\( const char * \);) endobj 745 0 obj << /S /GoTo /D (subsection.2.17.13) >> endobj 748 0 obj (explicit unsigned\137integer\( const char *, radix\137type \);) endobj 749 0 obj << /S /GoTo /D (subsection.2.17.14) >> endobj 752 0 obj (explicit unsigned\137integer\( const std::string \046 \);) endobj 753 0 obj << /S /GoTo /D (subsection.2.17.15) >> endobj 756 0 obj (explicit unsigned\137integer\( const std::string \046, radix\137type \);) endobj 757 0 obj << /S /GoTo /D (subsection.2.17.16) >> endobj 760 0 obj (unsigned\137integer\( const integer \046 \);) endobj 761 0 obj << /S /GoTo /D (subsection.2.17.17) >> endobj 764 0 obj (\176unsigned\137integer\(\);) endobj 765 0 obj << /S /GoTo /D (section.2.18) >> endobj 768 0 obj (Unsigned Integer Member Functions) endobj 769 0 obj << /S /GoTo /D (subsection.2.18.1) >> endobj 772 0 obj (Rationale) endobj 773 0 obj << /S /GoTo /D (subsection.2.18.2) >> endobj 776 0 obj (integer\137allocator * do\137get\137allocator\(\) const;) endobj 777 0 obj << /S /GoTo /D (subsection.2.18.3) >> endobj 780 0 obj (unsigned\137integer * do\137create\(\) const;) endobj 781 0 obj << /S /GoTo /D (subsection.2.18.4) >> endobj 784 0 obj (unsigned\137integer * do\137clone\(\) const;) endobj 785 0 obj << /S /GoTo /D (subsection.2.18.5) >> endobj 788 0 obj (unsigned\137integer \046 do\137normalize\(\);) endobj 789 0 obj << /S /GoTo /D (subsection.2.18.6) >> endobj 792 0 obj (unsigned\137integer \046 do\137swap\( integer \046 \);) endobj 793 0 obj << /S /GoTo /D (subsection.2.18.7) >> endobj 796 0 obj (unsigned\137integer \046 set\137element\( size\137type, data\137type \);) endobj 797 0 obj << /S /GoTo /D (subsection.2.18.8) >> endobj 800 0 obj (unsigned\137integer \046 do\137negate\(\);) endobj 801 0 obj << /S /GoTo /D (subsection.2.18.9) >> endobj 804 0 obj (unsigned\137integer \046 do\137abs\(\);) endobj 805 0 obj << /S /GoTo /D (subsection.2.18.10) >> endobj 808 0 obj (unsigned\137integer \046 increment\(\);) endobj 809 0 obj << /S /GoTo /D (subsection.2.18.11) >> endobj 812 0 obj (unsigned\137integer \046 decrement\(\);) endobj 813 0 obj << /S /GoTo /D (subsection.2.18.12) >> endobj 816 0 obj (unsigned\137integer \046 assign\( const integer \046 \);) endobj 817 0 obj << /S /GoTo /D (subsection.2.18.13) >> endobj 820 0 obj (unsigned\137integer \046 add\( const integer \046 \);) endobj 821 0 obj << /S /GoTo /D (subsection.2.18.14) >> endobj 824 0 obj (unsigned\137integer \046 subtract\( const integer \046 \);) endobj 825 0 obj << /S /GoTo /D (subsection.2.18.15) >> endobj 828 0 obj (unsigned\137integer \046 multiply\( const integer \046 \);) endobj 829 0 obj << /S /GoTo /D (subsection.2.18.16) >> endobj 832 0 obj (unsigned\137integer \046 divide\( const integer \046 \);) endobj 833 0 obj << /S /GoTo /D (subsection.2.18.17) >> endobj 836 0 obj (unsigned\137integer \046 remainder\( const integer \046 \);) endobj 837 0 obj << /S /GoTo /D (subsection.2.18.18) >> endobj 840 0 obj (unsigned\137integer \046 shift\137left\( size\137type \);) endobj 841 0 obj << /S /GoTo /D (subsection.2.18.19) >> endobj 844 0 obj (unsigned\137integer \046 shift\137right\( size\137type \);) endobj 845 0 obj << /S /GoTo /D (subsection.2.18.20) >> endobj 848 0 obj (unsigned\137integer \046 bitwise\137and\( const integer \046 \);) endobj 849 0 obj << /S /GoTo /D (subsection.2.18.21) >> endobj 852 0 obj (unsigned\137integer \046 bitwise\137or\( const integer \046 \);) endobj 853 0 obj << /S /GoTo /D (subsection.2.18.22) >> endobj 856 0 obj (unsigned\137integer \046 bitwise\137xor\( const integer \046 \);) endobj 857 0 obj << /S /GoTo /D (section.2.19) >> endobj 860 0 obj (Modular Integer Static Functions) endobj 861 0 obj << /S /GoTo /D (subsection.2.19.1) >> endobj 864 0 obj (Rationale) endobj 865 0 obj << /S /GoTo /D (subsection.2.19.2) >> endobj 868 0 obj (static void set\137modulus\( const integer \046 \);) endobj 869 0 obj << /S /GoTo /D (subsection.2.19.3) >> endobj 872 0 obj (static void set\137offset\( const integer \046 \);) endobj 873 0 obj << /S /GoTo /D (subsection.2.19.4) >> endobj 876 0 obj (static const modT \046 get\137modulus\(\);) endobj 877 0 obj << /S /GoTo /D (subsection.2.19.5) >> endobj 880 0 obj (static const modT \046 get\137offset\(\);) endobj 881 0 obj << /S /GoTo /D (section.2.20) >> endobj 884 0 obj (Modular Integer Constructors and Destructor) endobj 885 0 obj << /S /GoTo /D (subsection.2.20.1) >> endobj 888 0 obj (Rationale) endobj 889 0 obj << /S /GoTo /D (subsection.2.20.2) >> endobj 892 0 obj (modular\137integer\(\);) endobj 893 0 obj << /S /GoTo /D (subsection.2.20.3) >> endobj 896 0 obj (modular\137integer\( int \);) endobj 897 0 obj << /S /GoTo /D (subsection.2.20.4) >> endobj 900 0 obj (modular\137integer\( unsigned int \);) endobj 901 0 obj << /S /GoTo /D (subsection.2.20.5) >> endobj 904 0 obj (modular\137integer\( long int \);) endobj 905 0 obj << /S /GoTo /D (subsection.2.20.6) >> endobj 908 0 obj (modular\137integer\( unsigned long int \);) endobj 909 0 obj << /S /GoTo /D (subsection.2.20.7) >> endobj 912 0 obj (modular\137integer\( long long int \);) endobj 913 0 obj << /S /GoTo /D (subsection.2.20.8) >> endobj 916 0 obj (modular\137integer\( unsigned long long int \);) endobj 917 0 obj << /S /GoTo /D (subsection.2.20.9) >> endobj 920 0 obj (explicit modular\137integer\( float \);) endobj 921 0 obj << /S /GoTo /D (subsection.2.20.10) >> endobj 924 0 obj (explicit modular\137integer\( double \);) endobj 925 0 obj << /S /GoTo /D (subsection.2.20.11) >> endobj 928 0 obj (explicit modular\137integer\( long double \);) endobj 929 0 obj << /S /GoTo /D (subsection.2.20.12) >> endobj 932 0 obj (explicit modular\137integer\( const char * \);) endobj 933 0 obj << /S /GoTo /D (subsection.2.20.13) >> endobj 936 0 obj (explicit modular\137integer\( const char *, radix\137type \);) endobj 937 0 obj << /S /GoTo /D (subsection.2.20.14) >> endobj 940 0 obj (explicit modular\137integer\( const std::string \046 \);) endobj 941 0 obj << /S /GoTo /D (subsection.2.20.15) >> endobj 944 0 obj (explicit modular\137integer\( const std::string \046, radix\137type \);) endobj 945 0 obj << /S /GoTo /D (subsection.2.20.16) >> endobj 948 0 obj (modular\137integer\( const integer \046 \);) endobj 949 0 obj << /S /GoTo /D (subsection.2.20.17) >> endobj 952 0 obj (\176modular\137integer\(\);) endobj 953 0 obj << /S /GoTo /D (section.2.21) >> endobj 956 0 obj (Modular Integer Member Functions) endobj 957 0 obj << /S /GoTo /D (subsection.2.21.1) >> endobj 960 0 obj (Rationale) endobj 961 0 obj << /S /GoTo /D (subsection.2.21.2) >> endobj 964 0 obj (integer\137allocator * do\137get\137allocator\(\) const;) endobj 965 0 obj << /S /GoTo /D (subsection.2.21.3) >> endobj 968 0 obj (modular\137integer * do\137create\(\) const;) endobj 969 0 obj << /S /GoTo /D (subsection.2.21.4) >> endobj 972 0 obj (modular\137integer * do\137clone\(\) const;) endobj 973 0 obj << /S /GoTo /D (subsection.2.21.5) >> endobj 976 0 obj (modular\137integer \046 do\137normalize\(\);) endobj 977 0 obj << /S /GoTo /D (subsection.2.21.6) >> endobj 980 0 obj (modular\137integer \046 do\137swap\( integer \046 \);) endobj 981 0 obj << /S /GoTo /D (subsection.2.21.7) >> endobj 984 0 obj (modular\137integer \046 set\137element\( size\137type, data\137type \);) endobj 985 0 obj << /S /GoTo /D (subsection.2.21.8) >> endobj 988 0 obj (modular\137integer \046 do\137negate\(\);) endobj 989 0 obj << /S /GoTo /D (subsection.2.21.9) >> endobj 992 0 obj (modular\137integer \046 do\137abs\(\);) endobj 993 0 obj << /S /GoTo /D (subsection.2.21.10) >> endobj 996 0 obj (modular\137integer \046 increment\(\);) endobj 997 0 obj << /S /GoTo /D (subsection.2.21.11) >> endobj 1000 0 obj (modular\137integer \046 decrement\(\);) endobj 1001 0 obj << /S /GoTo /D (subsection.2.21.12) >> endobj 1004 0 obj (modular\137integer \046 assign\( const integer \046 \);) endobj 1005 0 obj << /S /GoTo /D (subsection.2.21.13) >> endobj 1008 0 obj (modular\137integer \046 add\( const integer \046 \);) endobj 1009 0 obj << /S /GoTo /D (subsection.2.21.14) >> endobj 1012 0 obj (modular\137integer \046 subtract\( const integer \046 \);) endobj 1013 0 obj << /S /GoTo /D (subsection.2.21.15) >> endobj 1016 0 obj (modular\137integer \046 multiply\( const integer \046 \);) endobj 1017 0 obj << /S /GoTo /D (subsection.2.21.16) >> endobj 1020 0 obj (modular\137integer \046 divide\( const integer \046 \);) endobj 1021 0 obj << /S /GoTo /D (subsection.2.21.17) >> endobj 1024 0 obj (modular\137integer \046 remainder\( const integer \046 \);) endobj 1025 0 obj << /S /GoTo /D (subsection.2.21.18) >> endobj 1028 0 obj (modular\137integer \046 shift\137left\( size\137type \);) endobj 1029 0 obj << /S /GoTo /D (subsection.2.21.19) >> endobj 1032 0 obj (modular\137integer \046 shift\137right\( size\137type \);) endobj 1033 0 obj << /S /GoTo /D (subsection.2.21.20) >> endobj 1036 0 obj (modular\137integer \046 bitwise\137and\( const integer \046 \);) endobj 1037 0 obj << /S /GoTo /D (subsection.2.21.21) >> endobj 1040 0 obj (modular\137integer \046 bitwise\137or\( const integer \046 \);) endobj 1041 0 obj << /S /GoTo /D (subsection.2.21.22) >> endobj 1044 0 obj (modular\137integer \046 bitwise\137xor\( const integer \046 \);) endobj 1045 0 obj << /S /GoTo /D (section.2.22) >> endobj 1048 0 obj (Allocated Integer Static Functions) endobj 1049 0 obj << /S /GoTo /D (subsection.2.22.1) >> endobj 1052 0 obj (Rationale) endobj 1053 0 obj << /S /GoTo /D (subsection.2.22.2) >> endobj 1056 0 obj (static void set\137allocator\( integer\137allocator * \);) endobj 1057 0 obj << /S /GoTo /D (section.2.23) >> endobj 1060 0 obj (Allocated Integer Constructors and Destructor) endobj 1061 0 obj << /S /GoTo /D (subsection.2.23.1) >> endobj 1064 0 obj (Rationale) endobj 1065 0 obj << /S /GoTo /D (subsection.2.23.2) >> endobj 1068 0 obj (allocated\137integer\(\);) endobj 1069 0 obj << /S /GoTo /D (subsection.2.23.3) >> endobj 1072 0 obj (allocated\137integer\( int \);) endobj 1073 0 obj << /S /GoTo /D (subsection.2.23.4) >> endobj 1076 0 obj (allocated\137integer\( unsigned int \);) endobj 1077 0 obj << /S /GoTo /D (subsection.2.23.5) >> endobj 1080 0 obj (allocated\137integer\( long int \);) endobj 1081 0 obj << /S /GoTo /D (subsection.2.23.6) >> endobj 1084 0 obj (allocated\137integer\( unsigned long int \);) endobj 1085 0 obj << /S /GoTo /D (subsection.2.23.7) >> endobj 1088 0 obj (allocated\137integer\( long long int \);) endobj 1089 0 obj << /S /GoTo /D (subsection.2.23.8) >> endobj 1092 0 obj (allocated\137integer\( unsigned long long int \);) endobj 1093 0 obj << /S /GoTo /D (subsection.2.23.9) >> endobj 1096 0 obj (explicit allocated\137integer\( float \);) endobj 1097 0 obj << /S /GoTo /D (subsection.2.23.10) >> endobj 1100 0 obj (explicit allocated\137integer\( double \);) endobj 1101 0 obj << /S /GoTo /D (subsection.2.23.11) >> endobj 1104 0 obj (explicit allocated\137integer\( long double \);) endobj 1105 0 obj << /S /GoTo /D (subsection.2.23.12) >> endobj 1108 0 obj (explicit allocated\137integer\( const char * \);) endobj 1109 0 obj << /S /GoTo /D (subsection.2.23.13) >> endobj 1112 0 obj (explicit allocated\137integer\( const char *, radix\137type \);) endobj 1113 0 obj << /S /GoTo /D (subsection.2.23.14) >> endobj 1116 0 obj (explicit allocated\137integer\( const std::string \046 \);) endobj 1117 0 obj << /S /GoTo /D (subsection.2.23.15) >> endobj 1120 0 obj (explicit allocated\137integer\( const std::string \046, radix\137type \);) endobj 1121 0 obj << /S /GoTo /D (subsection.2.23.16) >> endobj 1124 0 obj (allocated\137integer\( const integer \046 \);) endobj 1125 0 obj << /S /GoTo /D (subsection.2.23.17) >> endobj 1128 0 obj (\176allocated\137integer\(\);) endobj 1129 0 obj << /S /GoTo /D (section.2.24) >> endobj 1132 0 obj (Allocated Integer Member Functions) endobj 1133 0 obj << /S /GoTo /D (subsection.2.24.1) >> endobj 1136 0 obj (Rationale) endobj 1137 0 obj << /S /GoTo /D (subsection.2.24.2) >> endobj 1140 0 obj (integer\137allocator * do\137get\137allocator\(\) const;) endobj 1141 0 obj << /S /GoTo /D (subsection.2.24.3) >> endobj 1144 0 obj (allocated\137integer * do\137create\(\) const;) endobj 1145 0 obj << /S /GoTo /D (subsection.2.24.4) >> endobj 1148 0 obj (allocated\137integer * do\137clone\(\) const;) endobj 1149 0 obj << /S /GoTo /D (subsection.2.24.5) >> endobj 1152 0 obj (allocated\137integer \046 do\137normalize\(\);) endobj 1153 0 obj << /S /GoTo /D (subsection.2.24.6) >> endobj 1156 0 obj (allocated\137integer \046 do\137swap\( integer \046 \);) endobj 1157 0 obj << /S /GoTo /D (subsection.2.24.7) >> endobj 1160 0 obj (allocated\137integer \046 set\137element\( size\137type, data\137type \);) endobj 1161 0 obj << /S /GoTo /D (subsection.2.24.8) >> endobj 1164 0 obj (allocated\137integer \046 do\137negate\(\);) endobj 1165 0 obj << /S /GoTo /D (subsection.2.24.9) >> endobj 1168 0 obj (allocated\137integer \046 do\137abs\(\);) endobj 1169 0 obj << /S /GoTo /D (subsection.2.24.10) >> endobj 1172 0 obj (allocated\137integer \046 increment\(\);) endobj 1173 0 obj << /S /GoTo /D (subsection.2.24.11) >> endobj 1176 0 obj (allocated\137integer \046 decrement\(\);) endobj 1177 0 obj << /S /GoTo /D (subsection.2.24.12) >> endobj 1180 0 obj (allocated\137integer \046 assign\( const integer \046 \);) endobj 1181 0 obj << /S /GoTo /D (subsection.2.24.13) >> endobj 1184 0 obj (allocated\137integer \046 add\( const integer \046 \);) endobj 1185 0 obj << /S /GoTo /D (subsection.2.24.14) >> endobj 1188 0 obj (allocated\137integer \046 subtract\( const integer \046 \);) endobj 1189 0 obj << /S /GoTo /D (subsection.2.24.15) >> endobj 1192 0 obj (allocated\137integer \046 multiply\( const integer \046 \);) endobj 1193 0 obj << /S /GoTo /D (subsection.2.24.16) >> endobj 1196 0 obj (allocated\137integer \046 divide\( const integer \046 \);) endobj 1197 0 obj << /S /GoTo /D (subsection.2.24.17) >> endobj 1200 0 obj (allocated\137integer \046 remainder\( const integer \046 \);) endobj 1201 0 obj << /S /GoTo /D (subsection.2.24.18) >> endobj 1204 0 obj (allocated\137integer \046 shift\137left\( size\137type \);) endobj 1205 0 obj << /S /GoTo /D (subsection.2.24.19) >> endobj 1208 0 obj (allocated\137integer \046 shift\137right\( size\137type \);) endobj 1209 0 obj << /S /GoTo /D (subsection.2.24.20) >> endobj 1212 0 obj (allocated\137integer \046 bitwise\137and\( const integer \046 \);) endobj 1213 0 obj << /S /GoTo /D (subsection.2.24.21) >> endobj 1216 0 obj (allocated\137integer \046 bitwise\137or\( const integer \046 \);) endobj 1217 0 obj << /S /GoTo /D (subsection.2.24.22) >> endobj 1220 0 obj (allocated\137integer \046 bitwise\137xor\( const integer \046 \);) endobj 1221 0 obj << /S /GoTo /D (section.2.25) >> endobj 1224 0 obj (Allocated Unsigned Integer Static Functions) endobj 1225 0 obj << /S /GoTo /D (subsection.2.25.1) >> endobj 1228 0 obj (Rationale) endobj 1229 0 obj << /S /GoTo /D (subsection.2.25.2) >> endobj 1232 0 obj (static void set\137allocator\( integer\137allocator * \);) endobj 1233 0 obj << /S /GoTo /D (section.2.26) >> endobj 1236 0 obj (Allocated Unsigned Integer Constructors and Destructor) endobj 1237 0 obj << /S /GoTo /D (subsection.2.26.1) >> endobj 1240 0 obj (Rationale) endobj 1241 0 obj << /S /GoTo /D (subsection.2.26.2) >> endobj 1244 0 obj (allocated\137unsigned\137integer\(\);) endobj 1245 0 obj << /S /GoTo /D (subsection.2.26.3) >> endobj 1248 0 obj (allocated\137unsigned\137integer\( int \);) endobj 1249 0 obj << /S /GoTo /D (subsection.2.26.4) >> endobj 1252 0 obj (allocated\137unsigned\137integer\( unsigned int \);) endobj 1253 0 obj << /S /GoTo /D (subsection.2.26.5) >> endobj 1256 0 obj (allocated\137unsigned\137integer\( long int \);) endobj 1257 0 obj << /S /GoTo /D (subsection.2.26.6) >> endobj 1260 0 obj (allocated\137unsigned\137integer\( unsigned long int \);) endobj 1261 0 obj << /S /GoTo /D (subsection.2.26.7) >> endobj 1264 0 obj (allocated\137unsigned\137integer\( long long int \);) endobj 1265 0 obj << /S /GoTo /D (subsection.2.26.8) >> endobj 1268 0 obj (allocated\137unsigned\137integer\( unsigned long long int \);) endobj 1269 0 obj << /S /GoTo /D (subsection.2.26.9) >> endobj 1272 0 obj (explicit allocated\137unsigned\137integer\( float \);) endobj 1273 0 obj << /S /GoTo /D (subsection.2.26.10) >> endobj 1276 0 obj (explicit allocated\137unsigned\137integer\( double \);) endobj 1277 0 obj << /S /GoTo /D (subsection.2.26.11) >> endobj 1280 0 obj (explicit allocated\137unsigned\137integer\( long double \);) endobj 1281 0 obj << /S /GoTo /D (subsection.2.26.12) >> endobj 1284 0 obj (explicit allocated\137unsigned\137integer\( const char * \);) endobj 1285 0 obj << /S /GoTo /D (subsection.2.26.13) >> endobj 1288 0 obj (explicit allocated\137unsigned\137integer\( const char *, radix\137type \);) endobj 1289 0 obj << /S /GoTo /D (subsection.2.26.14) >> endobj 1292 0 obj (explicit allocated\137unsigned\137integer\( const std::string \046 \);) endobj 1293 0 obj << /S /GoTo /D (subsection.2.26.15) >> endobj 1296 0 obj (explicit allocated\137unsigned\137integer\( const std::string \046, radix\137type \);) endobj 1297 0 obj << /S /GoTo /D (subsection.2.26.16) >> endobj 1300 0 obj (allocated\137unsigned\137integer\( const integer \046 \);) endobj 1301 0 obj << /S /GoTo /D (subsection.2.26.17) >> endobj 1304 0 obj (\176allocated\137unsigned\137integer\(\);) endobj 1305 0 obj << /S /GoTo /D (section.2.27) >> endobj 1308 0 obj (Allocated Unsigned Integer Member Functions) endobj 1309 0 obj << /S /GoTo /D (subsection.2.27.1) >> endobj 1312 0 obj (Rationale) endobj 1313 0 obj << /S /GoTo /D (subsection.2.27.2) >> endobj 1316 0 obj (integer\137allocator * do\137get\137allocator\(\) const;) endobj 1317 0 obj << /S /GoTo /D (subsection.2.27.3) >> endobj 1320 0 obj (allocated\137unsigned\137integer * do\137create\(\) const;) endobj 1321 0 obj << /S /GoTo /D (subsection.2.27.4) >> endobj 1324 0 obj (allocated\137unsigned\137integer * do\137clone\(\) const;) endobj 1325 0 obj << /S /GoTo /D (subsection.2.27.5) >> endobj 1328 0 obj (allocated\137unsigned\137integer \046 do\137normalize\(\);) endobj 1329 0 obj << /S /GoTo /D (subsection.2.27.6) >> endobj 1332 0 obj (allocated\137unsigned\137integer \046 do\137swap\( integer \046 \);) endobj 1333 0 obj << /S /GoTo /D (subsection.2.27.7) >> endobj 1336 0 obj (allocated\137unsigned\137integer \046 set\137element\( size\137type, data\137type \);) endobj 1337 0 obj << /S /GoTo /D (subsection.2.27.8) >> endobj 1340 0 obj (allocated\137unsigned\137integer \046 do\137negate\(\);) endobj 1341 0 obj << /S /GoTo /D (subsection.2.27.9) >> endobj 1344 0 obj (allocated\137unsigned\137integer \046 do\137abs\(\);) endobj 1345 0 obj << /S /GoTo /D (subsection.2.27.10) >> endobj 1348 0 obj (allocated\137unsigned\137integer \046 increment\(\);) endobj 1349 0 obj << /S /GoTo /D (subsection.2.27.11) >> endobj 1352 0 obj (allocated\137unsigned\137integer \046 decrement\(\);) endobj 1353 0 obj << /S /GoTo /D (subsection.2.27.12) >> endobj 1356 0 obj (allocated\137unsigned\137integer \046 assign\( const integer \046 \);) endobj 1357 0 obj << /S /GoTo /D (subsection.2.27.13) >> endobj 1360 0 obj (allocated\137unsigned\137integer \046 add\( const integer \046 \);) endobj 1361 0 obj << /S /GoTo /D (subsection.2.27.14) >> endobj 1364 0 obj (allocated\137unsigned\137integer \046 subtract\( const integer \046 \);) endobj 1365 0 obj << /S /GoTo /D (subsection.2.27.15) >> endobj 1368 0 obj (allocated\137unsigned\137integer \046 multiply\( const integer \046 \);) endobj 1369 0 obj << /S /GoTo /D (subsection.2.27.16) >> endobj 1372 0 obj (allocated\137unsigned\137integer \046 divide\( const integer \046 \);) endobj 1373 0 obj << /S /GoTo /D (subsection.2.27.17) >> endobj 1376 0 obj (allocated\137unsigned\137integer \046 remainder\( const integer \046 \);) endobj 1377 0 obj << /S /GoTo /D (subsection.2.27.18) >> endobj 1380 0 obj (allocated\137unsigned\137integer \046 shift\137left\( size\137type \);) endobj 1381 0 obj << /S /GoTo /D (subsection.2.27.19) >> endobj 1384 0 obj (allocated\137unsigned\137integer \046 shift\137right\( size\137type \);) endobj 1385 0 obj << /S /GoTo /D (subsection.2.27.20) >> endobj 1388 0 obj (allocated\137unsigned\137integer \046 bitwise\137and\( const integer \046 \);) endobj 1389 0 obj << /S /GoTo /D (subsection.2.27.21) >> endobj 1392 0 obj (allocated\137unsigned\137integer \046 bitwise\137or\( const integer \046 \);) endobj 1393 0 obj << /S /GoTo /D (subsection.2.27.22) >> endobj 1396 0 obj (allocated\137unsigned\137integer \046 bitwise\137xor\( const integer \046 \);) endobj 1397 0 obj << /S /GoTo /D (section.2.28) >> endobj 1400 0 obj (Allocated Modular Integer Static Functions) endobj 1401 0 obj << /S /GoTo /D (subsection.2.28.1) >> endobj 1404 0 obj (Rationale) endobj 1405 0 obj << /S /GoTo /D (subsection.2.28.2) >> endobj 1408 0 obj (static void set\137modulus\( const integer \046 \);) endobj 1409 0 obj << /S /GoTo /D (subsection.2.28.3) >> endobj 1412 0 obj (static void set\137offset\( const integer \046 \);) endobj 1413 0 obj << /S /GoTo /D (subsection.2.28.4) >> endobj 1416 0 obj (static const modT \046 get\137modulus\(\);) endobj 1417 0 obj << /S /GoTo /D (subsection.2.28.5) >> endobj 1420 0 obj (static const modT \046 get\137offset\(\);) endobj 1421 0 obj << /S /GoTo /D (subsection.2.28.6) >> endobj 1424 0 obj (static void set\137allocator\( integer\137allocator * \);) endobj 1425 0 obj << /S /GoTo /D (section.2.29) >> endobj 1428 0 obj (Allocated Modular Integer Constructors and Destructor) endobj 1429 0 obj << /S /GoTo /D (subsection.2.29.1) >> endobj 1432 0 obj (Rationale) endobj 1433 0 obj << /S /GoTo /D (subsection.2.29.2) >> endobj 1436 0 obj (allocated\137modular\137integer\(\);) endobj 1437 0 obj << /S /GoTo /D (subsection.2.29.3) >> endobj 1440 0 obj (allocated\137modular\137integer\( int \);) endobj 1441 0 obj << /S /GoTo /D (subsection.2.29.4) >> endobj 1444 0 obj (allocated\137modular\137integer\( unsigned int \);) endobj 1445 0 obj << /S /GoTo /D (subsection.2.29.5) >> endobj 1448 0 obj (allocated\137modular\137integer\( long int \);) endobj 1449 0 obj << /S /GoTo /D (subsection.2.29.6) >> endobj 1452 0 obj (allocated\137modular\137integer\( unsigned long int \);) endobj 1453 0 obj << /S /GoTo /D (subsection.2.29.7) >> endobj 1456 0 obj (allocated\137modular\137integer\( long long int \);) endobj 1457 0 obj << /S /GoTo /D (subsection.2.29.8) >> endobj 1460 0 obj (allocated\137modular\137integer\( unsigned long long int \);) endobj 1461 0 obj << /S /GoTo /D (subsection.2.29.9) >> endobj 1464 0 obj (explicit allocated\137modular\137integer\( float \);) endobj 1465 0 obj << /S /GoTo /D (subsection.2.29.10) >> endobj 1468 0 obj (explicit allocated\137modular\137integer\( double \);) endobj 1469 0 obj << /S /GoTo /D (subsection.2.29.11) >> endobj 1472 0 obj (explicit allocated\137modular\137integer\( long double \);) endobj 1473 0 obj << /S /GoTo /D (subsection.2.29.12) >> endobj 1476 0 obj (explicit allocated\137modular\137integer\( const char * \);) endobj 1477 0 obj << /S /GoTo /D (subsection.2.29.13) >> endobj 1480 0 obj (explicit allocated\137modular\137integer\( const char *, radix\137type \);) endobj 1481 0 obj << /S /GoTo /D (subsection.2.29.14) >> endobj 1484 0 obj (explicit allocated\137modular\137integer\( const std::string \046 \);) endobj 1485 0 obj << /S /GoTo /D (subsection.2.29.15) >> endobj 1488 0 obj (explicit allocated\137modular\137integer\( const std::string \046, radix\137type \);) endobj 1489 0 obj << /S /GoTo /D (subsection.2.29.16) >> endobj 1492 0 obj (allocated\137modular\137integer\( const integer \046 \);) endobj 1493 0 obj << /S /GoTo /D (subsection.2.29.17) >> endobj 1496 0 obj (\176allocated\137modular\137integer\(\);) endobj 1497 0 obj << /S /GoTo /D (section.2.30) >> endobj 1500 0 obj (Allocated Modular Integer Member Functions) endobj 1501 0 obj << /S /GoTo /D (subsection.2.30.1) >> endobj 1504 0 obj (Rationale) endobj 1505 0 obj << /S /GoTo /D (subsection.2.30.2) >> endobj 1508 0 obj (integer\137allocator * do\137get\137allocator\(\) const;) endobj 1509 0 obj << /S /GoTo /D (subsection.2.30.3) >> endobj 1512 0 obj (allocated\137modular\137integer * do\137create\(\) const;) endobj 1513 0 obj << /S /GoTo /D (subsection.2.30.4) >> endobj 1516 0 obj (allocated\137modular\137integer * do\137clone\(\) const;) endobj 1517 0 obj << /S /GoTo /D (subsection.2.30.5) >> endobj 1520 0 obj (allocated\137modular\137integer \046 do\137normalize\(\);) endobj 1521 0 obj << /S /GoTo /D (subsection.2.30.6) >> endobj 1524 0 obj (allocated\137modular\137integer \046 do\137swap\( integer \046 \);) endobj 1525 0 obj << /S /GoTo /D (subsection.2.30.7) >> endobj 1528 0 obj (allocated\137modular\137integer \046 set\137element\( size\137type, data\137type \);) endobj 1529 0 obj << /S /GoTo /D (subsection.2.30.8) >> endobj 1532 0 obj (allocated\137modular\137integer \046 do\137negate\(\);) endobj 1533 0 obj << /S /GoTo /D (subsection.2.30.9) >> endobj 1536 0 obj (allocated\137modular\137integer \046 do\137abs\(\);) endobj 1537 0 obj << /S /GoTo /D (subsection.2.30.10) >> endobj 1540 0 obj (allocated\137modular\137integer \046 increment\(\);) endobj 1541 0 obj << /S /GoTo /D (subsection.2.30.11) >> endobj 1544 0 obj (allocated\137modular\137integer \046 decrement\(\);) endobj 1545 0 obj << /S /GoTo /D (subsection.2.30.12) >> endobj 1548 0 obj (allocated\137modular\137integer \046 assign\( const integer \046 \);) endobj 1549 0 obj << /S /GoTo /D (subsection.2.30.13) >> endobj 1552 0 obj (allocated\137modular\137integer \046 add\( const integer \046 \);) endobj 1553 0 obj << /S /GoTo /D (subsection.2.30.14) >> endobj 1556 0 obj (allocated\137modular\137integer \046 subtract\( const integer \046 \);) endobj 1557 0 obj << /S /GoTo /D (subsection.2.30.15) >> endobj 1560 0 obj (allocated\137modular\137integer \046 multiply\( const integer \046 \);) endobj 1561 0 obj << /S /GoTo /D (subsection.2.30.16) >> endobj 1564 0 obj (allocated\137modular\137integer \046 divide\( const integer \046 \);) endobj 1565 0 obj << /S /GoTo /D (subsection.2.30.17) >> endobj 1568 0 obj (allocated\137modular\137integer \046 remainder\( const integer \046 \);) endobj 1569 0 obj << /S /GoTo /D (subsection.2.30.18) >> endobj 1572 0 obj (allocated\137modular\137integer \046 shift\137left\( size\137type \);) endobj 1573 0 obj << /S /GoTo /D (subsection.2.30.19) >> endobj 1576 0 obj (allocated\137modular\137integer \046 shift\137right\( size\137type \);) endobj 1577 0 obj << /S /GoTo /D (subsection.2.30.20) >> endobj 1580 0 obj (allocated\137modular\137integer \046 bitwise\137and\( const integer \046 \);) endobj 1581 0 obj << /S /GoTo /D (subsection.2.30.21) >> endobj 1584 0 obj (allocated\137modular\137integer \046 bitwise\137or\( const integer \046 \);) endobj 1585 0 obj << /S /GoTo /D (subsection.2.30.22) >> endobj 1588 0 obj (allocated\137modular\137integer \046 bitwise\137xor\( const integer \046 \);) endobj 1589 0 obj << /S /GoTo /D (chapter.3) >> endobj 1592 0 obj (References) endobj 1593 0 obj << /S /GoTo /D [1594 0 R /FitH ] >> endobj 1596 0 obj << /Length 405 /Filter /FlateDecode >> stream xڍSMk@+