diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 487 |
1 files changed, 242 insertions, 245 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 797a35a6..cae67b8e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -14020,7 +14020,7 @@ login name, and the fields are separated by colons. Each record defines a subarray, with each field as an element in the subarray. Running the program produces the following output: - $ gawk -vPOS=1 -F: -f sort.awk /etc/passwd + $ gawk -v POS=1 -F: -f sort.awk /etc/passwd -| adm:x:3:4:adm:/var/adm:/sbin/nologin -| apache:x:48:48:Apache:/var/www:/sbin/nologin -| avahi:x:70:70:Avahi daemon:/:/sbin/nologin @@ -20057,7 +20057,7 @@ atributes of computer arithmetic, along with how this can influence what you see when running `awk' programs. This discussion applies to all versions of `awk'. - Then the discussion moves on to "arbitrary precsion arithmetic", a + Then the major node moves on to "arbitrary precsion arithmetic", a feature which is specific to `gawk'. * Menu: @@ -20119,10 +20119,7 @@ File: gawk.info, Node: Floating Point Issues, Next: Integer Programming, Up: 15.1.1 Floating-Point Number Caveats ------------------------------------ -As mentioned earlier, floating-point numbers represent what are called -"real" numbers, i.e., those that have a fractional part. `awk' uses -double precision floating-point numbers to represent all numeric -values. This minor node describes some of the issues involved in using +This minor node describes some of the issues involved in using floating-point numbers. There is a very nice paper on floating-point arithmetic @@ -20341,10 +20338,10 @@ File: gawk.info, Node: Integer Programming, Prev: Floating Point Issues, Up: As has been mentioned already, `gawk' ordinarily uses hardware double precision with 64-bit IEEE binary floating-point representation for -numbers on most systems. A large integer like 9007199254740997 has a -binary representation that, although finite, is more than 53 bits long; -it must also be rounded to 53 bits. The biggest integer that can be -stored in a C `double' is usually the same as the largest possible +numbers on most systems. A large integer like 9,007,199,254,740,997 has +a binary representation that, although finite, is more than 53 bits +long; it must also be rounded to 53 bits. The biggest integer that can +be stored in a C `double' is usually the same as the largest possible value of a `double'. If your system `double' is an IEEE 64-bit `double', this largest possible value is an integer and can be represented precisely. What more should one know about integers? @@ -20379,7 +20376,7 @@ Numerical programming is an extensive area; if you need to develop sophisticated numerical algorithms then `gawk' may not be the ideal tool, and this documentation may not be sufficient. It might require digesting a book or two to really internalize how to compute with ideal -accuracy and precision and the result often depends on the particular +accuracy and precision, and the result often depends on the particular application. NOTE: A floating-point calculation's "accuracy" is how close it @@ -20392,9 +20389,9 @@ application. There are two options for doing floating-point calculations: hardware floating-point (as used by standard `awk' and the default for `gawk'), and "arbitrary-precision" floating-point, which is software -based. This major node aims to provide enough information to -understand both, and then will focus on `gawk''s facilities for the -latter.(1) +based. From this point forward, this major node aims to provide enough +information to understand both, and then will focus on `gawk''s +facilities for the latter.(1) Binary floating-point representations and arithmetic are inexact. Simple values like 0.1 cannot be precisely represented using binary @@ -20430,10 +20427,10 @@ you can always specify how much precision you would like in your output. Usually this is a format string like `"%.15g"', which when used in the previous example, produces an output identical to the input. - Because the underlying representation can be little bit off from the -exact value, comparing floating-point values to see if they are equal -is generally not a good idea. Here is an example where it does not -work like you expect: + Because the underlying representation can be a little bit off from +the exact value, comparing floating-point values to see if they are +equal is generally not a good idea. Here is an example where it does +not work like you expect: $ gawk 'BEGIN { print (0.1 + 12.2 == 12.3) }' -| 0 @@ -20470,7 +20467,7 @@ zero. -| 0.000000000000000 error--> gawk: pi.awk:6: fatal: division by zero attempted - Here is one more example where the inaccuracies in internal + Here is an additional example where the inaccuracies in internal representations yield an unexpected result: $ gawk 'BEGIN { @@ -20506,13 +20503,14 @@ iterations: There is no need to be unduly suspicious about the results from floating-point arithmetic. The lesson to remember is that -floating-point arithmetic is always more complex than the arithmetic -using pencil and paper. In order to take advantage of the power of -computer floating-point, you need to know its limitations and work -within them. For most casual use of floating-point arithmetic, you will -often get the expected result in the end if you simply round the -display of your final results to the correct number of significant -decimal digits. And, avoid presenting numerical data in a manner that +floating-point arithmetic is always more complex than arithmetic using +pencil and paper. In order to take advantage of the power of computer +floating-point, you need to know its limitations and work within them. +For most casual use of floating-point arithmetic, you will often get +the expected result in the end if you simply round the display of your +final results to the correct number of significant decimal digits. + + As general advice, avoid presenting numerical data in a manner that implies better precision than is actually the case. * Menu: @@ -20541,23 +20539,21 @@ IEEE 754 Standard. An IEEE-754 format value has three components: * A sign bit telling whether the number is positive or negative. - * An "exponent" giving its order of magnitude, E. + * An "exponent", E, giving its order of magnitude. * A "significand", S, specifying the actual digits of the number. The value of the number is then S * 2^E. The first bit of a non-zero binary significand is always one, so the significand in an IEEE-754 format only includes the fractional part, leaving the leading -one implicit. +one implicit. The significand is stored in "normalized" format, which +means that the first bit is always a one. Three of the standard IEEE-754 types are 32-bit single precision, 64-bit double precision and 128-bit quadruple precision. The standard also specifies extended precision formats to allow greater precisions and larger exponent ranges. - The significand is stored in "normalized" format, which means that -the first bit is always a one. - File: gawk.info, Node: Floating-point Context, Next: Rounding Mode, Prev: Floating-point Representation, Up: Floating-point Programming @@ -20739,23 +20735,23 @@ File: gawk.info, Node: Arbitrary Precision Floats, Next: Arbitrary Precision I `gawk' uses the GNU MPFR library for arbitrary precision floating-point arithmetic. The MPFR library provides precise control over precisions -and rounding modes, and gives correctly rounded reproducible +and rounding modes, and gives correctly rounded, reproducible, platform-independent results. With the command-line option `--bignum' or `-M', all floating-point arithmetic operators and numeric functions can yield results to any desired precision level supported by MPFR. -Two built-in variables `PREC' (*note Setting Precision::) and -`ROUNDMODE' (*note Setting Rounding Mode::) provide control over the -working precision and the rounding mode. The precision and the -rounding mode are set globally for every operation to follow. +Two built-in variables, `PREC' and `ROUNDMODE', provide control over +the working precision and the rounding mode (*note Setting Precision::, +and *note Setting Rounding Mode::). The precision and the rounding +mode are set globally for every operation to follow. The default working precision for arbitrary precision floating-point values is 53, and the default value for `ROUNDMODE' is `"N"', which -selects the IEEE-754 `roundTiesToEven' (*note Rounding Mode::) rounding -mode.(1) `gawk' uses the default exponent range in MPFR (EMAX = 2^30 - -1, EMIN = -EMAX) for all floating-point contexts. There is no explicit -mechanism to adjust the exponent range. MPFR does not implement -subnormal numbers by default, and this behavior cannot be changed in -`gawk'. +selects the IEEE-754 `roundTiesToEven' rounding mode (*note Rounding +Mode::).(1) `gawk' uses the default exponent range in MPFR (EMAX = 2^30 +- 1, EMIN = -EMAX) for all floating-point contexts. There is no +explicit mechanism to adjust the exponent range. MPFR does not +implement subnormal numbers by default, and this behavior cannot be +changed in `gawk'. NOTE: When emulating an IEEE-754 format (*note Setting Precision::), `gawk' internally adjusts the exponent range to the @@ -20793,7 +20789,7 @@ File: gawk.info, Node: Setting Precision, Next: Setting Rounding Mode, Up: Ar `gawk' uses a global working precision; it does not keep track of the precision or accuracy of individual numbers. Performing an arithmetic operation or calling a built-in function rounds the result to the -current working precision. The default working precision is 53 which +current working precision. The default working precision is 53, which can be modified using the built-in variable `PREC'. You can also set the value to one of the following pre-defined case-insensitive strings to emulate an IEEE-754 binary format: @@ -20809,13 +20805,13 @@ emulate an IEEE-754 binary format: The following example illustrates the effects of changing precision on arithmetic operations: - $ gawk -M -vPREC=100 'BEGIN { x = 1.0e-400; print x + 0; \ + $ gawk -M -v PREC=100 'BEGIN { x = 1.0e-400; print x + 0; \ > PREC = "double"; print x + 0 }' -| 1e-400 -| 0 - Binary and decimal precisions are related approximately according to -the formula: + Binary and decimal precisions are related approximately, according +to the formula: PREC = 3.322 * DPS @@ -20842,9 +20838,11 @@ floating-point computations with more than 15 significant digits in them. Conversely, it takes a precision of 332 bits to hold an approximation -of the constant pi that is accurate to 100 decimal places. You should -always add some extra bits in order to avoid the confusing round-off -issues that occur because numbers are stored internally in binary. +of the constant pi that is accurate to 100 decimal places. + + You should always add some extra bits in order to avoid the +confusing round-off issues that occur because numbers are stored +internally in binary. File: gawk.info, Node: Setting Rounding Mode, Next: Floating-point Constants, Prev: Setting Precision, Up: Arbitrary Precision Floats @@ -20868,9 +20866,9 @@ from zero Table 15.3: `gawk' Rounding Modes `ROUNDMODE' has the default value `"N"', which selects the IEEE-754 -rounding mode `roundTiesToEven'. Besides the values listed in *note -Table 15.3: table-gawk-rounding-modes, `gawk' also accepts `"A"' to -select the IEEE-754 mode `roundTiesToAway' if your version of the MPFR +rounding mode `roundTiesToEven'. *note Table 15.3: +table-gawk-rounding-modes, lists `"A"' to select the IEEE-754 mode +`roundTiesToAway'. This is only available if your version of the MPFR library supports it; otherwise setting `ROUNDMODE' to this value has no effect. *Note Rounding Mode::, for the meanings of the various rounding modes. @@ -20878,7 +20876,7 @@ modes. Here is an example of how to change the default rounding behavior of `printf''s output: - $ gawk -M -vROUNDMODE="Z" 'BEGIN { printf("%.2f\n", 1.378) }' + $ gawk -M -v ROUNDMODE="Z" 'BEGIN { printf("%.2f\n", 1.378) }' -| 1.37 @@ -20891,17 +20889,17 @@ Be wary of floating-point constants! When reading a floating-point constant from program source code, `gawk' uses the default precision, unless overridden by an assignment to the special variable `PREC' on the command line, to store it internally as a MPFR number. Changing -the precision using `PREC' in the program text does not change the +the precision using `PREC' in the program text does _not_ change the precision of a constant. If you need to represent a floating-point constant at a higher precision than the default and cannot use a command line assignment to `PREC', you should either specify the -constant as a string, or as a rational number whenever possible. The +constant as a string, or as a rational number, whenever possible. The following example illustrates the differences among various ways to print a floating-point constant: $ gawk -M 'BEGIN { PREC = 113; printf("%0.25f\n", 0.1) }' -| 0.1000000000000000055511151 - $ gawk -M -vPREC = 113 'BEGIN { printf("%0.25f\n", 0.1) }' + $ gawk -M -v PREC=113 'BEGIN { printf("%0.25f\n", 0.1) }' -| 0.1000000000000000000000000 $ gawk -M 'BEGIN { PREC = 113; printf("%0.25f\n", "0.1") }' -| 0.1000000000000000000000000 @@ -20972,14 +20970,14 @@ they are not equal! (*Note Floating-point Programming::.) You can get the result you want by increasing the precision; 56 in this case will get the job done: - $ gawk -M -vPREC=56 'BEGIN { print (0.1 + 12.2 == 12.3) }' + $ gawk -M -v PREC=56 'BEGIN { print (0.1 + 12.2 == 12.3) }' -| 1 If adding more bits is good, perhaps adding even more bits of precision is better? Here is what happens if we use an even larger value of `PREC': - $ gawk -M -vPREC=201 'BEGIN { print (0.1 + 12.2 == 12.3) }' + $ gawk -M -v PREC=201 'BEGIN { print (0.1 + 12.2 == 12.3) }' -| 0 This is not a bug in `gawk' or in the MPFR library. It is easy to @@ -21001,8 +20999,8 @@ range of the other. double precision arithmetic can be adequate, and is usually much faster. But you do need to keep in mind that every floating-point operation can suffer a new rounding error with catastrophic consequences as -illustrated by our attempt to compute the value of the constant pi -(*note Floating-point Programming::). Extra precision can greatly +illustrated by our earlier attempt to compute the value of the constant +pi (*note Floating-point Programming::). Extra precision can greatly enhance the stability and the accuracy of your computation in such cases. @@ -21047,8 +21045,7 @@ computes 5^4^3^2, the result of which is beyond the limits of ordinary If you were to compute the same value using arbitrary precision floating-point values instead, the precision needed for correct output (using the formula `prec = 3.322 * dps'), would be 3.322 x 183231, or -608693. (Thus, the floating-point representation requires over 30 -times as many decimal digits!) +608693. The result from an arithmetic operation with an integer and a floating-point value is a floating-point value with a precision equal @@ -21063,12 +21060,12 @@ term in Sylvester's sequence(1) using a recurrence: > }' -| 113423713055421845118910464 - The output differs from the acutal number, -113423713055421844361000443, because the default precision of 53 is not -enough to represent the floating-point results exactly. You can either -increase the precision (100 is enough in this case), or replace the -floating-point constant `2.0' with an integer, to perform all -computations using integer arithmetic to get the correct output. + The output differs from the actual number, +113,423,713,055,421,844,361,000,443, because the default precision of +53 is not enough to represent the floating-point results exactly. You +can either increase the precision (100 is enough in this case), or +replace the floating-point constant `2.0' with an integer, to perform +all computations using integer arithmetic to get the correct output. It will sometimes be necessary for `gawk' to implicitly convert an arbitrary precision integer into an arbitrary precision floating-point @@ -28691,182 +28688,182 @@ Node: Advanced Features569310 Node: Nondecimal Data570823 Node: Array Sorting572406 Node: Controlling Array Traversal573103 -Node: Array Sorting Functions581340 -Ref: Array Sorting Functions-Footnote-1585014 -Ref: Array Sorting Functions-Footnote-2585107 -Node: Two-way I/O585301 -Ref: Two-way I/O-Footnote-1590733 -Node: TCP/IP Networking590803 -Node: Profiling593647 -Node: Library Functions601101 -Ref: Library Functions-Footnote-1604108 -Node: Library Names604279 -Ref: Library Names-Footnote-1607750 -Ref: Library Names-Footnote-2607970 -Node: General Functions608056 -Node: Strtonum Function609009 -Node: Assert Function611939 -Node: Round Function615265 -Node: Cliff Random Function616808 -Node: Ordinal Functions617824 -Ref: Ordinal Functions-Footnote-1620894 -Ref: Ordinal Functions-Footnote-2621146 -Node: Join Function621355 -Ref: Join Function-Footnote-1623126 -Node: Getlocaltime Function623326 -Node: Data File Management627041 -Node: Filetrans Function627673 -Node: Rewind Function631812 -Node: File Checking633199 -Node: Empty Files634293 -Node: Ignoring Assigns636523 -Node: Getopt Function638076 -Ref: Getopt Function-Footnote-1649380 -Node: Passwd Functions649583 -Ref: Passwd Functions-Footnote-1658558 -Node: Group Functions658646 -Node: Walking Arrays666730 -Node: Sample Programs668299 -Node: Running Examples668964 -Node: Clones669692 -Node: Cut Program670916 -Node: Egrep Program680761 -Ref: Egrep Program-Footnote-1688534 -Node: Id Program688644 -Node: Split Program692260 -Ref: Split Program-Footnote-1695779 -Node: Tee Program695907 -Node: Uniq Program698710 -Node: Wc Program706139 -Ref: Wc Program-Footnote-1710405 -Ref: Wc Program-Footnote-2710605 -Node: Miscellaneous Programs710697 -Node: Dupword Program711885 -Node: Alarm Program713916 -Node: Translate Program718665 -Ref: Translate Program-Footnote-1723052 -Ref: Translate Program-Footnote-2723280 -Node: Labels Program723414 -Ref: Labels Program-Footnote-1726785 -Node: Word Sorting726869 -Node: History Sorting730753 -Node: Extract Program732592 -Ref: Extract Program-Footnote-1740075 -Node: Simple Sed740203 -Node: Igawk Program743265 -Ref: Igawk Program-Footnote-1758422 -Ref: Igawk Program-Footnote-2758623 -Node: Anagram Program758761 -Node: Signature Program761829 -Node: Debugger762929 -Node: Debugging763895 -Node: Debugging Concepts764328 -Node: Debugging Terms766184 -Node: Awk Debugging768781 -Node: Sample Debugging Session769673 -Node: Debugger Invocation770193 -Node: Finding The Bug771522 -Node: List of Debugger Commands778010 -Node: Breakpoint Control779344 -Node: Debugger Execution Control783008 -Node: Viewing And Changing Data786368 -Node: Execution Stack789724 -Node: Debugger Info791191 -Node: Miscellaneous Debugger Commands795172 -Node: Readline Support800617 -Node: Limitations801448 -Node: Arbitrary Precision Arithmetic803700 -Ref: Arbitrary Precision Arithmetic-Footnote-1805341 -Node: General Arithmetic805489 -Node: Floating Point Issues807209 -Node: String Conversion Precision808304 -Ref: String Conversion Precision-Footnote-1810010 -Node: Unexpected Results810119 -Node: POSIX Floating Point Problems812272 -Ref: POSIX Floating Point Problems-Footnote-1816097 -Node: Integer Programming816135 -Node: Floating-point Programming817883 -Ref: Floating-point Programming-Footnote-1824147 -Node: Floating-point Representation824411 -Node: Floating-point Context825578 -Ref: table-ieee-formats826420 -Node: Rounding Mode827804 -Ref: table-rounding-modes828283 -Ref: Rounding Mode-Footnote-1831287 -Node: Gawk and MPFR831468 -Node: Arbitrary Precision Floats832709 -Ref: Arbitrary Precision Floats-Footnote-1835131 -Node: Setting Precision835442 -Node: Setting Rounding Mode838169 -Ref: table-gawk-rounding-modes838573 -Node: Floating-point Constants839770 -Node: Changing Precision841192 -Ref: Changing Precision-Footnote-1842592 -Node: Exact Arithmetic842766 -Node: Arbitrary Precision Integers845864 -Ref: Arbitrary Precision Integers-Footnote-1848946 -Node: Dynamic Extensions849093 -Node: Plugin License850011 -Node: Sample Library850625 -Node: Internal File Description851309 -Node: Internal File Ops855022 -Ref: Internal File Ops-Footnote-1859585 -Node: Using Internal File Ops859725 -Node: Language History862101 -Node: V7/SVR3.1863623 -Node: SVR4865944 -Node: POSIX867386 -Node: BTL868394 -Node: POSIX/GNU869128 -Node: Common Extensions874663 -Node: Ranges and Locales875770 -Ref: Ranges and Locales-Footnote-1880388 -Ref: Ranges and Locales-Footnote-2880415 -Ref: Ranges and Locales-Footnote-3880675 -Node: Contributors880896 -Node: Installation885192 -Node: Gawk Distribution886086 -Node: Getting886570 -Node: Extracting887396 -Node: Distribution contents889088 -Node: Unix Installation894310 -Node: Quick Installation894927 -Node: Additional Configuration Options896889 -Node: Configuration Philosophy898366 -Node: Non-Unix Installation900708 -Node: PC Installation901166 -Node: PC Binary Installation902465 -Node: PC Compiling904313 -Node: PC Testing907257 -Node: PC Using908433 -Node: Cygwin912618 -Node: MSYS913618 -Node: VMS Installation914132 -Node: VMS Compilation914735 -Ref: VMS Compilation-Footnote-1915742 -Node: VMS Installation Details915800 -Node: VMS Running917435 -Node: VMS Old Gawk919042 -Node: Bugs919516 -Node: Other Versions923368 -Node: Notes928683 -Node: Compatibility Mode929270 -Node: Additions930053 -Node: Accessing The Source930980 -Node: Adding Code932405 -Node: New Ports938413 -Node: Derived Files942548 -Ref: Derived Files-Footnote-1947852 -Ref: Derived Files-Footnote-2947886 -Ref: Derived Files-Footnote-3948486 -Node: Future Extensions948584 -Node: Basic Concepts950071 -Node: Basic High Level950752 -Ref: Basic High Level-Footnote-1954787 -Node: Basic Data Typing954972 -Node: Glossary958327 -Node: Copying983303 -Node: GNU Free Documentation License1020860 -Node: Index1045997 +Node: Array Sorting Functions581341 +Ref: Array Sorting Functions-Footnote-1585015 +Ref: Array Sorting Functions-Footnote-2585108 +Node: Two-way I/O585302 +Ref: Two-way I/O-Footnote-1590734 +Node: TCP/IP Networking590804 +Node: Profiling593648 +Node: Library Functions601102 +Ref: Library Functions-Footnote-1604109 +Node: Library Names604280 +Ref: Library Names-Footnote-1607751 +Ref: Library Names-Footnote-2607971 +Node: General Functions608057 +Node: Strtonum Function609010 +Node: Assert Function611940 +Node: Round Function615266 +Node: Cliff Random Function616809 +Node: Ordinal Functions617825 +Ref: Ordinal Functions-Footnote-1620895 +Ref: Ordinal Functions-Footnote-2621147 +Node: Join Function621356 +Ref: Join Function-Footnote-1623127 +Node: Getlocaltime Function623327 +Node: Data File Management627042 +Node: Filetrans Function627674 +Node: Rewind Function631813 +Node: File Checking633200 +Node: Empty Files634294 +Node: Ignoring Assigns636524 +Node: Getopt Function638077 +Ref: Getopt Function-Footnote-1649381 +Node: Passwd Functions649584 +Ref: Passwd Functions-Footnote-1658559 +Node: Group Functions658647 +Node: Walking Arrays666731 +Node: Sample Programs668300 +Node: Running Examples668965 +Node: Clones669693 +Node: Cut Program670917 +Node: Egrep Program680762 +Ref: Egrep Program-Footnote-1688535 +Node: Id Program688645 +Node: Split Program692261 +Ref: Split Program-Footnote-1695780 +Node: Tee Program695908 +Node: Uniq Program698711 +Node: Wc Program706140 +Ref: Wc Program-Footnote-1710406 +Ref: Wc Program-Footnote-2710606 +Node: Miscellaneous Programs710698 +Node: Dupword Program711886 +Node: Alarm Program713917 +Node: Translate Program718666 +Ref: Translate Program-Footnote-1723053 +Ref: Translate Program-Footnote-2723281 +Node: Labels Program723415 +Ref: Labels Program-Footnote-1726786 +Node: Word Sorting726870 +Node: History Sorting730754 +Node: Extract Program732593 +Ref: Extract Program-Footnote-1740076 +Node: Simple Sed740204 +Node: Igawk Program743266 +Ref: Igawk Program-Footnote-1758423 +Ref: Igawk Program-Footnote-2758624 +Node: Anagram Program758762 +Node: Signature Program761830 +Node: Debugger762930 +Node: Debugging763896 +Node: Debugging Concepts764329 +Node: Debugging Terms766185 +Node: Awk Debugging768782 +Node: Sample Debugging Session769674 +Node: Debugger Invocation770194 +Node: Finding The Bug771523 +Node: List of Debugger Commands778011 +Node: Breakpoint Control779345 +Node: Debugger Execution Control783009 +Node: Viewing And Changing Data786369 +Node: Execution Stack789725 +Node: Debugger Info791192 +Node: Miscellaneous Debugger Commands795173 +Node: Readline Support800618 +Node: Limitations801449 +Node: Arbitrary Precision Arithmetic803701 +Ref: Arbitrary Precision Arithmetic-Footnote-1805342 +Node: General Arithmetic805490 +Node: Floating Point Issues807210 +Node: String Conversion Precision808091 +Ref: String Conversion Precision-Footnote-1809797 +Node: Unexpected Results809906 +Node: POSIX Floating Point Problems812059 +Ref: POSIX Floating Point Problems-Footnote-1815884 +Node: Integer Programming815922 +Node: Floating-point Programming817675 +Ref: Floating-point Programming-Footnote-1823986 +Node: Floating-point Representation824250 +Node: Floating-point Context825415 +Ref: table-ieee-formats826257 +Node: Rounding Mode827641 +Ref: table-rounding-modes828120 +Ref: Rounding Mode-Footnote-1831124 +Node: Gawk and MPFR831305 +Node: Arbitrary Precision Floats832546 +Ref: Arbitrary Precision Floats-Footnote-1834975 +Node: Setting Precision835286 +Node: Setting Rounding Mode838019 +Ref: table-gawk-rounding-modes838423 +Node: Floating-point Constants839603 +Node: Changing Precision841027 +Ref: Changing Precision-Footnote-1842427 +Node: Exact Arithmetic842601 +Node: Arbitrary Precision Integers845709 +Ref: Arbitrary Precision Integers-Footnote-1848709 +Node: Dynamic Extensions848856 +Node: Plugin License849774 +Node: Sample Library850388 +Node: Internal File Description851072 +Node: Internal File Ops854785 +Ref: Internal File Ops-Footnote-1859348 +Node: Using Internal File Ops859488 +Node: Language History861864 +Node: V7/SVR3.1863386 +Node: SVR4865707 +Node: POSIX867149 +Node: BTL868157 +Node: POSIX/GNU868891 +Node: Common Extensions874426 +Node: Ranges and Locales875533 +Ref: Ranges and Locales-Footnote-1880151 +Ref: Ranges and Locales-Footnote-2880178 +Ref: Ranges and Locales-Footnote-3880438 +Node: Contributors880659 +Node: Installation884955 +Node: Gawk Distribution885849 +Node: Getting886333 +Node: Extracting887159 +Node: Distribution contents888851 +Node: Unix Installation894073 +Node: Quick Installation894690 +Node: Additional Configuration Options896652 +Node: Configuration Philosophy898129 +Node: Non-Unix Installation900471 +Node: PC Installation900929 +Node: PC Binary Installation902228 +Node: PC Compiling904076 +Node: PC Testing907020 +Node: PC Using908196 +Node: Cygwin912381 +Node: MSYS913381 +Node: VMS Installation913895 +Node: VMS Compilation914498 +Ref: VMS Compilation-Footnote-1915505 +Node: VMS Installation Details915563 +Node: VMS Running917198 +Node: VMS Old Gawk918805 +Node: Bugs919279 +Node: Other Versions923131 +Node: Notes928446 +Node: Compatibility Mode929033 +Node: Additions929816 +Node: Accessing The Source930743 +Node: Adding Code932168 +Node: New Ports938176 +Node: Derived Files942311 +Ref: Derived Files-Footnote-1947615 +Ref: Derived Files-Footnote-2947649 +Ref: Derived Files-Footnote-3948249 +Node: Future Extensions948347 +Node: Basic Concepts949834 +Node: Basic High Level950515 +Ref: Basic High Level-Footnote-1954550 +Node: Basic Data Typing954735 +Node: Glossary958090 +Node: Copying983066 +Node: GNU Free Documentation License1020623 +Node: Index1045760 End Tag Table |