aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info692
1 files changed, 370 insertions, 322 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index afd4972f..51070493 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -13522,13 +13522,10 @@ are enclosed in square brackets ([ ]):
Return the bitwise XOR of the arguments. There must be at least
two.
- For all of these functions, first the double-precision floating-point
-value is converted to the widest C unsigned integer type, then the
-bitwise operation is performed. If the result cannot be represented
-exactly as a C 'double', leading nonzero bits are removed one by one
-until it can be represented exactly. The result is then converted back
-into a C 'double'. (If you don't understand this paragraph, don't worry
-about it.)
+ CAUTION: Beginning with 'gawk' 4.1 4.2, negative operands are not
+ allowed for any of these functions. A negative operand produces a
+ fatal error. See the sidebar "Beware The Smoke and Mirrors!" for
+ more information as to why.
Here is a user-defined function (*note User-defined::) that
illustrates the use of these functions:
@@ -13590,12 +13587,61 @@ decimal and octal values for the same numbers (*note
Nondecimal-numbers::), and then demonstrates the results of the
'compl()', 'lshift()', and 'rshift()' functions.
+ Beware The Smoke and Mirrors!
+
+ It other languages, bitwise operations are performed on integer
+values, not floating-point values. As a general statement, such
+operations work best when performed on unsigned integers.
+
+ 'gawk' attempts to treat the arguments to the bitwise functions as
+unsigned integers. For this reason, negative arguments produce a fatal
+error.
+
+ In normal operation, for all of these functions, first the
+double-precision floating-point value is converted to the widest C
+unsigned integer type, then the bitwise operation is performed. If the
+result cannot be represented exactly as a C 'double', leading nonzero
+bits are removed one by one until it can be represented exactly. The
+result is then converted back into a C 'double'.(2)
+
+ However, when using arbitrary precision arithmetic with the '-M'
+option (*note Arbitrary Precision Arithmetic::), the results may differ.
+This is particularly noticable with the 'compl()' function:
+
+ $ gawk 'BEGIN { print compl(42) }'
+ -| 9007199254740949
+ $ gawk -M 'BEGIN { print compl(42) }'
+ -| -43
+
+ What's going on becomes clear when printing the results in
+hexadecimal:
+
+ $ gawk 'BEGIN { printf "%#x\n", compl(42) }'
+ -| 0x1fffffffffffd5
+ $ gawk -M 'BEGIN { printf "%#x\n", compl(42) }'
+ -| 0xffffffffffffffd5
+
+ When using the '-M' option, under the hood, 'gawk' uses GNU MP
+arbitrary precision integers which have at least 64 bits of precision.
+When not using '-M', 'gawk' stores integral values in regular
+double-precision floating point, which only maintain 53 bits of
+precision. Furthermore, the GNU MP library treats (or least seems to
+treat) the leading bit as a sign bit; thus the result with '-M' in this
+case is a negative number.
+
+ In short, using 'gawk' for any but the simplest kind of bitwise
+operations is probably a bad idea; caveat emptor!
+
---------- Footnotes ----------
(1) This example shows that zeros come in on the left side. For
'gawk', this is always true, but in some languages, it's possible to
have the left side fill with ones.
+ (2) If you don't understand this paragraph, the upshot is that 'gawk'
+can only store a particular range of integer values; numbers outside
+that range are reduced to fit within the range.
+

File: gawk.info, Node: Type Functions, Next: I18N Functions, Prev: Bitwise Functions, Up: Built-in
@@ -32702,7 +32748,7 @@ Index
* BINMODE variable: User-modified. (line 15)
* BINMODE variable <1>: PC Using. (line 16)
* bit-manipulation functions: Bitwise Functions. (line 6)
-* bits2str() user-defined function: Bitwise Functions. (line 72)
+* bits2str() user-defined function: Bitwise Functions. (line 69)
* bitwise AND: Bitwise Functions. (line 40)
* bitwise complement: Bitwise Functions. (line 44)
* bitwise OR: Bitwise Functions. (line 50)
@@ -32941,9 +32987,9 @@ Index
(line 31)
* converting, dates to timestamps: Time Functions. (line 76)
* converting, numbers to strings: Strings And Numbers. (line 6)
-* converting, numbers to strings <1>: Bitwise Functions. (line 111)
+* converting, numbers to strings <1>: Bitwise Functions. (line 108)
* converting, strings to numbers: Strings And Numbers. (line 6)
-* converting, strings to numbers <1>: Bitwise Functions. (line 111)
+* converting, strings to numbers <1>: Bitwise Functions. (line 108)
* CONVFMT variable: Strings And Numbers. (line 29)
* CONVFMT variable <1>: User-modified. (line 30)
* CONVFMT variable, and array subscripts: Numeric Array Subscripts.
@@ -34217,7 +34263,7 @@ Index
* null strings, converting numbers to strings: Strings And Numbers.
(line 21)
* null strings, matching: String Functions. (line 537)
-* number as string of bits: Bitwise Functions. (line 111)
+* number as string of bits: Bitwise Functions. (line 108)
* number of array elements: String Functions. (line 200)
* number sign (#), #! (executable scripts): Executable Scripts.
(line 6)
@@ -34228,7 +34274,7 @@ Index
* numbers, Cliff random: Cliff Random Function.
(line 6)
* numbers, converting: Strings And Numbers. (line 6)
-* numbers, converting <1>: Bitwise Functions. (line 111)
+* numbers, converting <1>: Bitwise Functions. (line 108)
* numbers, converting, to strings: User-modified. (line 30)
* numbers, converting, to strings <1>: User-modified. (line 104)
* numbers, hexadecimal: Nondecimal-numbers. (line 6)
@@ -34801,6 +34847,7 @@ Index
(line 63)
* sidebar, Backslash Before Regular Characters: Escape Sequences.
(line 106)
+* sidebar, Beware The Smoke and Mirrors!: Bitwise Functions. (line 126)
* sidebar, Changing FS Does Not Affect the Fields: Full Line Fields.
(line 14)
* sidebar, Changing NR and FNR: Auto-set. (line 355)
@@ -34931,7 +34978,7 @@ Index
* string-translation functions: I18N Functions. (line 6)
* strings splitting, example: String Functions. (line 334)
* strings, converting: Strings And Numbers. (line 6)
-* strings, converting <1>: Bitwise Functions. (line 111)
+* strings, converting <1>: Bitwise Functions. (line 108)
* strings, converting letter case: String Functions. (line 523)
* strings, converting, numbers to: User-modified. (line 30)
* strings, converting, numbers to <1>: User-modified. (line 104)
@@ -34982,7 +35029,7 @@ Index
* tee.awk program: Tee Program. (line 26)
* temporary breakpoint: Breakpoint Control. (line 90)
* terminating records: awk split records. (line 124)
-* testbits.awk program: Bitwise Functions. (line 72)
+* testbits.awk program: Bitwise Functions. (line 69)
* testext extension: Extension Sample API Tests.
(line 6)
* Texinfo: Conventions. (line 6)
@@ -35477,313 +35524,314 @@ Ref: Time Functions-Footnote-5571369
Ref: Time Functions-Footnote-6571596
Node: Bitwise Functions571862
Ref: table-bitwise-ops572456
-Ref: Bitwise Functions-Footnote-1576794
-Node: Type Functions576967
-Node: I18N Functions579628
-Node: User-defined581279
-Node: Definition Syntax582084
-Ref: Definition Syntax-Footnote-1587771
-Node: Function Example587842
-Ref: Function Example-Footnote-1590764
-Node: Function Caveats590786
-Node: Calling A Function591304
-Node: Variable Scope592262
-Node: Pass By Value/Reference595256
-Node: Return Statement598755
-Node: Dynamic Typing601734
-Node: Indirect Calls602664
-Ref: Indirect Calls-Footnote-1612915
-Node: Functions Summary613043
-Node: Library Functions615748
-Ref: Library Functions-Footnote-1619355
-Ref: Library Functions-Footnote-2619498
-Node: Library Names619669
-Ref: Library Names-Footnote-1623129
-Ref: Library Names-Footnote-2623352
-Node: General Functions623438
-Node: Strtonum Function624541
-Node: Assert Function627563
-Node: Round Function630889
-Node: Cliff Random Function632430
-Node: Ordinal Functions633446
-Ref: Ordinal Functions-Footnote-1636509
-Ref: Ordinal Functions-Footnote-2636761
-Node: Join Function636971
-Ref: Join Function-Footnote-1638741
-Node: Getlocaltime Function638941
-Node: Readfile Function642683
-Node: Shell Quoting644655
-Node: Data File Management646056
-Node: Filetrans Function646688
-Node: Rewind Function650784
-Node: File Checking652690
-Ref: File Checking-Footnote-1654024
-Node: Empty Files654225
-Node: Ignoring Assigns656204
-Node: Getopt Function657754
-Ref: Getopt Function-Footnote-1669223
-Node: Passwd Functions669423
-Ref: Passwd Functions-Footnote-1678262
-Node: Group Functions678350
-Ref: Group Functions-Footnote-1686248
-Node: Walking Arrays686455
-Node: Library Functions Summary689463
-Node: Library Exercises690869
-Node: Sample Programs691334
-Node: Running Examples692104
-Node: Clones692832
-Node: Cut Program694056
-Node: Egrep Program703985
-Ref: Egrep Program-Footnote-1711497
-Node: Id Program711607
-Node: Split Program715287
-Ref: Split Program-Footnote-1718746
-Node: Tee Program718875
-Node: Uniq Program721665
-Node: Wc Program729091
-Ref: Wc Program-Footnote-1733346
-Node: Miscellaneous Programs733440
-Node: Dupword Program734653
-Node: Alarm Program736683
-Node: Translate Program741538
-Ref: Translate Program-Footnote-1746103
-Node: Labels Program746373
-Ref: Labels Program-Footnote-1749724
-Node: Word Sorting749808
-Node: History Sorting753880
-Node: Extract Program755715
-Node: Simple Sed763244
-Node: Igawk Program766318
-Ref: Igawk Program-Footnote-1780649
-Ref: Igawk Program-Footnote-2780851
-Ref: Igawk Program-Footnote-3780973
-Node: Anagram Program781088
-Node: Signature Program784150
-Node: Programs Summary785397
-Node: Programs Exercises786611
-Ref: Programs Exercises-Footnote-1790740
-Node: Advanced Features790831
-Node: Nondecimal Data792821
-Node: Array Sorting794412
-Node: Controlling Array Traversal795112
-Ref: Controlling Array Traversal-Footnote-1803479
-Node: Array Sorting Functions803597
-Ref: Array Sorting Functions-Footnote-1808688
-Node: Two-way I/O808884
-Ref: Two-way I/O-Footnote-1815434
-Ref: Two-way I/O-Footnote-2815621
-Node: TCP/IP Networking815703
-Node: Profiling818821
-Ref: Profiling-Footnote-1827314
-Node: Advanced Features Summary827637
-Node: Internationalization829481
-Node: I18N and L10N830961
-Node: Explaining gettext831648
-Ref: Explaining gettext-Footnote-1837540
-Ref: Explaining gettext-Footnote-2837725
-Node: Programmer i18n837890
-Ref: Programmer i18n-Footnote-1842745
-Node: Translator i18n842794
-Node: String Extraction843588
-Ref: String Extraction-Footnote-1844720
-Node: Printf Ordering844806
-Ref: Printf Ordering-Footnote-1847592
-Node: I18N Portability847656
-Ref: I18N Portability-Footnote-1850112
-Node: I18N Example850175
-Ref: I18N Example-Footnote-1852981
-Node: Gawk I18N853054
-Node: I18N Summary853699
-Node: Debugger855040
-Node: Debugging856062
-Node: Debugging Concepts856503
-Node: Debugging Terms858312
-Node: Awk Debugging860887
-Node: Sample Debugging Session861793
-Node: Debugger Invocation862327
-Node: Finding The Bug863713
-Node: List of Debugger Commands870191
-Node: Breakpoint Control871524
-Node: Debugger Execution Control875218
-Node: Viewing And Changing Data878580
-Node: Execution Stack881954
-Node: Debugger Info883591
-Node: Miscellaneous Debugger Commands887662
-Node: Readline Support892750
-Node: Limitations893646
-Ref: Limitations-Footnote-1897877
-Node: Debugging Summary897928
-Node: Arbitrary Precision Arithmetic899207
-Node: Computer Arithmetic900623
-Ref: table-numeric-ranges904214
-Ref: Computer Arithmetic-Footnote-1904936
-Node: Math Definitions904993
-Ref: table-ieee-formats908307
-Ref: Math Definitions-Footnote-1908910
-Node: MPFR features909015
-Node: FP Math Caution910732
-Ref: FP Math Caution-Footnote-1911804
-Node: Inexactness of computations912173
-Node: Inexact representation913133
-Node: Comparing FP Values914493
-Node: Errors accumulate915575
-Node: Getting Accuracy917008
-Node: Try To Round919718
-Node: Setting precision920617
-Ref: table-predefined-precision-strings921314
-Node: Setting the rounding mode923144
-Ref: table-gawk-rounding-modes923518
-Ref: Setting the rounding mode-Footnote-1926926
-Node: Arbitrary Precision Integers927105
-Ref: Arbitrary Precision Integers-Footnote-1932022
-Node: POSIX Floating Point Problems932171
-Ref: POSIX Floating Point Problems-Footnote-1936053
-Node: Floating point summary936091
-Node: Dynamic Extensions938281
-Node: Extension Intro939834
-Node: Plugin License941100
-Node: Extension Mechanism Outline941897
-Ref: figure-load-extension942336
-Ref: figure-register-new-function943901
-Ref: figure-call-new-function944993
-Node: Extension API Description947055
-Node: Extension API Functions Introduction948587
-Node: General Data Types953446
-Ref: General Data Types-Footnote-1959401
-Node: Memory Allocation Functions959700
-Ref: Memory Allocation Functions-Footnote-1962545
-Node: Constructor Functions962644
-Node: Registration Functions964389
-Node: Extension Functions965074
-Node: Exit Callback Functions967697
-Node: Extension Version String968947
-Node: Input Parsers969610
-Node: Output Wrappers979492
-Node: Two-way processors984004
-Node: Printing Messages986269
-Ref: Printing Messages-Footnote-1987440
-Node: Updating ERRNO987593
-Node: Requesting Values988332
-Ref: table-value-types-returned989069
-Node: Accessing Parameters989952
-Node: Symbol Table Access991187
-Node: Symbol table by name991699
-Node: Symbol table by cookie993720
-Ref: Symbol table by cookie-Footnote-1997872
-Node: Cached values997936
-Ref: Cached values-Footnote-11001443
-Node: Array Manipulation1001534
-Ref: Array Manipulation-Footnote-11002625
-Node: Array Data Types1002662
-Ref: Array Data Types-Footnote-11005320
-Node: Array Functions1005412
-Node: Flattening Arrays1009270
-Node: Creating Arrays1016178
-Node: Redirection API1020947
-Node: Extension API Variables1023778
-Node: Extension Versioning1024411
-Ref: gawk-api-version1024848
-Node: Extension API Informational Variables1026604
-Node: Extension API Boilerplate1027668
-Node: Finding Extensions1031482
-Node: Extension Example1032041
-Node: Internal File Description1032839
-Node: Internal File Ops1036919
-Ref: Internal File Ops-Footnote-11048681
-Node: Using Internal File Ops1048821
-Ref: Using Internal File Ops-Footnote-11051204
-Node: Extension Samples1051478
-Node: Extension Sample File Functions1053007
-Node: Extension Sample Fnmatch1060656
-Node: Extension Sample Fork1062143
-Node: Extension Sample Inplace1063361
-Node: Extension Sample Ord1066571
-Node: Extension Sample Readdir1067407
-Ref: table-readdir-file-types1068296
-Node: Extension Sample Revout1069101
-Node: Extension Sample Rev2way1069690
-Node: Extension Sample Read write array1070430
-Node: Extension Sample Readfile1072372
-Node: Extension Sample Time1073467
-Node: Extension Sample API Tests1074815
-Node: gawkextlib1075307
-Node: Extension summary1077754
-Node: Extension Exercises1081456
-Node: Language History1082954
-Node: V7/SVR3.11084610
-Node: SVR41086762
-Node: POSIX1088196
-Node: BTL1089575
-Node: POSIX/GNU1090304
-Node: Feature History1096166
-Node: Common Extensions1110536
-Node: Ranges and Locales1111819
-Ref: Ranges and Locales-Footnote-11116435
-Ref: Ranges and Locales-Footnote-21116462
-Ref: Ranges and Locales-Footnote-31116697
-Node: Contributors1116918
-Node: History summary1122478
-Node: Installation1123858
-Node: Gawk Distribution1124802
-Node: Getting1125286
-Node: Extracting1126247
-Node: Distribution contents1127885
-Node: Unix Installation1133970
-Node: Quick Installation1134652
-Node: Shell Startup Files1137066
-Node: Additional Configuration Options1138144
-Node: Configuration Philosophy1139949
-Node: Non-Unix Installation1142318
-Node: PC Installation1142778
-Node: PC Binary Installation1143616
-Node: PC Compiling1144051
-Node: PC Using1145168
-Node: Cygwin1148213
-Node: MSYS1148983
-Node: VMS Installation1149484
-Node: VMS Compilation1150275
-Ref: VMS Compilation-Footnote-11151504
-Node: VMS Dynamic Extensions1151562
-Node: VMS Installation Details1153247
-Node: VMS Running1155500
-Node: VMS GNV1159779
-Node: VMS Old Gawk1160514
-Node: Bugs1160985
-Node: Bug address1161648
-Node: Usenet1164045
-Node: Maintainers1164820
-Node: Other Versions1166196
-Node: Installation summary1172780
-Node: Notes1173815
-Node: Compatibility Mode1174680
-Node: Additions1175462
-Node: Accessing The Source1176387
-Node: Adding Code1177822
-Node: New Ports1184041
-Node: Derived Files1188529
-Ref: Derived Files-Footnote-11194014
-Ref: Derived Files-Footnote-21194049
-Ref: Derived Files-Footnote-31194647
-Node: Future Extensions1194761
-Node: Implementation Limitations1195419
-Node: Extension Design1196602
-Node: Old Extension Problems1197756
-Ref: Old Extension Problems-Footnote-11199274
-Node: Extension New Mechanism Goals1199331
-Ref: Extension New Mechanism Goals-Footnote-11202695
-Node: Extension Other Design Decisions1202884
-Node: Extension Future Growth1204997
-Node: Old Extension Mechanism1205833
-Node: Notes summary1207596
-Node: Basic Concepts1208778
-Node: Basic High Level1209459
-Ref: figure-general-flow1209741
-Ref: figure-process-flow1210426
-Ref: Basic High Level-Footnote-11213727
-Node: Basic Data Typing1213912
-Node: Glossary1217240
-Node: Copying1249187
-Node: GNU Free Documentation License1286726
-Node: Index1311844
+Ref: Bitwise Functions-Footnote-1578501
+Ref: Bitwise Functions-Footnote-2578674
+Node: Type Functions578865
+Node: I18N Functions581526
+Node: User-defined583177
+Node: Definition Syntax583982
+Ref: Definition Syntax-Footnote-1589669
+Node: Function Example589740
+Ref: Function Example-Footnote-1592662
+Node: Function Caveats592684
+Node: Calling A Function593202
+Node: Variable Scope594160
+Node: Pass By Value/Reference597154
+Node: Return Statement600653
+Node: Dynamic Typing603632
+Node: Indirect Calls604562
+Ref: Indirect Calls-Footnote-1614813
+Node: Functions Summary614941
+Node: Library Functions617646
+Ref: Library Functions-Footnote-1621253
+Ref: Library Functions-Footnote-2621396
+Node: Library Names621567
+Ref: Library Names-Footnote-1625027
+Ref: Library Names-Footnote-2625250
+Node: General Functions625336
+Node: Strtonum Function626439
+Node: Assert Function629461
+Node: Round Function632787
+Node: Cliff Random Function634328
+Node: Ordinal Functions635344
+Ref: Ordinal Functions-Footnote-1638407
+Ref: Ordinal Functions-Footnote-2638659
+Node: Join Function638869
+Ref: Join Function-Footnote-1640639
+Node: Getlocaltime Function640839
+Node: Readfile Function644581
+Node: Shell Quoting646553
+Node: Data File Management647954
+Node: Filetrans Function648586
+Node: Rewind Function652682
+Node: File Checking654588
+Ref: File Checking-Footnote-1655922
+Node: Empty Files656123
+Node: Ignoring Assigns658102
+Node: Getopt Function659652
+Ref: Getopt Function-Footnote-1671121
+Node: Passwd Functions671321
+Ref: Passwd Functions-Footnote-1680160
+Node: Group Functions680248
+Ref: Group Functions-Footnote-1688146
+Node: Walking Arrays688353
+Node: Library Functions Summary691361
+Node: Library Exercises692767
+Node: Sample Programs693232
+Node: Running Examples694002
+Node: Clones694730
+Node: Cut Program695954
+Node: Egrep Program705883
+Ref: Egrep Program-Footnote-1713395
+Node: Id Program713505
+Node: Split Program717185
+Ref: Split Program-Footnote-1720644
+Node: Tee Program720773
+Node: Uniq Program723563
+Node: Wc Program730989
+Ref: Wc Program-Footnote-1735244
+Node: Miscellaneous Programs735338
+Node: Dupword Program736551
+Node: Alarm Program738581
+Node: Translate Program743436
+Ref: Translate Program-Footnote-1748001
+Node: Labels Program748271
+Ref: Labels Program-Footnote-1751622
+Node: Word Sorting751706
+Node: History Sorting755778
+Node: Extract Program757613
+Node: Simple Sed765142
+Node: Igawk Program768216
+Ref: Igawk Program-Footnote-1782547
+Ref: Igawk Program-Footnote-2782749
+Ref: Igawk Program-Footnote-3782871
+Node: Anagram Program782986
+Node: Signature Program786048
+Node: Programs Summary787295
+Node: Programs Exercises788509
+Ref: Programs Exercises-Footnote-1792638
+Node: Advanced Features792729
+Node: Nondecimal Data794719
+Node: Array Sorting796310
+Node: Controlling Array Traversal797010
+Ref: Controlling Array Traversal-Footnote-1805377
+Node: Array Sorting Functions805495
+Ref: Array Sorting Functions-Footnote-1810586
+Node: Two-way I/O810782
+Ref: Two-way I/O-Footnote-1817332
+Ref: Two-way I/O-Footnote-2817519
+Node: TCP/IP Networking817601
+Node: Profiling820719
+Ref: Profiling-Footnote-1829212
+Node: Advanced Features Summary829535
+Node: Internationalization831379
+Node: I18N and L10N832859
+Node: Explaining gettext833546
+Ref: Explaining gettext-Footnote-1839438
+Ref: Explaining gettext-Footnote-2839623
+Node: Programmer i18n839788
+Ref: Programmer i18n-Footnote-1844643
+Node: Translator i18n844692
+Node: String Extraction845486
+Ref: String Extraction-Footnote-1846618
+Node: Printf Ordering846704
+Ref: Printf Ordering-Footnote-1849490
+Node: I18N Portability849554
+Ref: I18N Portability-Footnote-1852010
+Node: I18N Example852073
+Ref: I18N Example-Footnote-1854879
+Node: Gawk I18N854952
+Node: I18N Summary855597
+Node: Debugger856938
+Node: Debugging857960
+Node: Debugging Concepts858401
+Node: Debugging Terms860210
+Node: Awk Debugging862785
+Node: Sample Debugging Session863691
+Node: Debugger Invocation864225
+Node: Finding The Bug865611
+Node: List of Debugger Commands872089
+Node: Breakpoint Control873422
+Node: Debugger Execution Control877116
+Node: Viewing And Changing Data880478
+Node: Execution Stack883852
+Node: Debugger Info885489
+Node: Miscellaneous Debugger Commands889560
+Node: Readline Support894648
+Node: Limitations895544
+Ref: Limitations-Footnote-1899775
+Node: Debugging Summary899826
+Node: Arbitrary Precision Arithmetic901105
+Node: Computer Arithmetic902521
+Ref: table-numeric-ranges906112
+Ref: Computer Arithmetic-Footnote-1906834
+Node: Math Definitions906891
+Ref: table-ieee-formats910205
+Ref: Math Definitions-Footnote-1910808
+Node: MPFR features910913
+Node: FP Math Caution912630
+Ref: FP Math Caution-Footnote-1913702
+Node: Inexactness of computations914071
+Node: Inexact representation915031
+Node: Comparing FP Values916391
+Node: Errors accumulate917473
+Node: Getting Accuracy918906
+Node: Try To Round921616
+Node: Setting precision922515
+Ref: table-predefined-precision-strings923212
+Node: Setting the rounding mode925042
+Ref: table-gawk-rounding-modes925416
+Ref: Setting the rounding mode-Footnote-1928824
+Node: Arbitrary Precision Integers929003
+Ref: Arbitrary Precision Integers-Footnote-1933920
+Node: POSIX Floating Point Problems934069
+Ref: POSIX Floating Point Problems-Footnote-1937951
+Node: Floating point summary937989
+Node: Dynamic Extensions940179
+Node: Extension Intro941732
+Node: Plugin License942998
+Node: Extension Mechanism Outline943795
+Ref: figure-load-extension944234
+Ref: figure-register-new-function945799
+Ref: figure-call-new-function946891
+Node: Extension API Description948953
+Node: Extension API Functions Introduction950485
+Node: General Data Types955344
+Ref: General Data Types-Footnote-1961299
+Node: Memory Allocation Functions961598
+Ref: Memory Allocation Functions-Footnote-1964443
+Node: Constructor Functions964542
+Node: Registration Functions966287
+Node: Extension Functions966972
+Node: Exit Callback Functions969595
+Node: Extension Version String970845
+Node: Input Parsers971508
+Node: Output Wrappers981390
+Node: Two-way processors985902
+Node: Printing Messages988167
+Ref: Printing Messages-Footnote-1989338
+Node: Updating ERRNO989491
+Node: Requesting Values990230
+Ref: table-value-types-returned990967
+Node: Accessing Parameters991850
+Node: Symbol Table Access993085
+Node: Symbol table by name993597
+Node: Symbol table by cookie995618
+Ref: Symbol table by cookie-Footnote-1999770
+Node: Cached values999834
+Ref: Cached values-Footnote-11003341
+Node: Array Manipulation1003432
+Ref: Array Manipulation-Footnote-11004523
+Node: Array Data Types1004560
+Ref: Array Data Types-Footnote-11007218
+Node: Array Functions1007310
+Node: Flattening Arrays1011168
+Node: Creating Arrays1018076
+Node: Redirection API1022845
+Node: Extension API Variables1025676
+Node: Extension Versioning1026309
+Ref: gawk-api-version1026746
+Node: Extension API Informational Variables1028502
+Node: Extension API Boilerplate1029566
+Node: Finding Extensions1033380
+Node: Extension Example1033939
+Node: Internal File Description1034737
+Node: Internal File Ops1038817
+Ref: Internal File Ops-Footnote-11050579
+Node: Using Internal File Ops1050719
+Ref: Using Internal File Ops-Footnote-11053102
+Node: Extension Samples1053376
+Node: Extension Sample File Functions1054905
+Node: Extension Sample Fnmatch1062554
+Node: Extension Sample Fork1064041
+Node: Extension Sample Inplace1065259
+Node: Extension Sample Ord1068469
+Node: Extension Sample Readdir1069305
+Ref: table-readdir-file-types1070194
+Node: Extension Sample Revout1070999
+Node: Extension Sample Rev2way1071588
+Node: Extension Sample Read write array1072328
+Node: Extension Sample Readfile1074270
+Node: Extension Sample Time1075365
+Node: Extension Sample API Tests1076713
+Node: gawkextlib1077205
+Node: Extension summary1079652
+Node: Extension Exercises1083354
+Node: Language History1084852
+Node: V7/SVR3.11086508
+Node: SVR41088660
+Node: POSIX1090094
+Node: BTL1091473
+Node: POSIX/GNU1092202
+Node: Feature History1098064
+Node: Common Extensions1112434
+Node: Ranges and Locales1113717
+Ref: Ranges and Locales-Footnote-11118333
+Ref: Ranges and Locales-Footnote-21118360
+Ref: Ranges and Locales-Footnote-31118595
+Node: Contributors1118816
+Node: History summary1124376
+Node: Installation1125756
+Node: Gawk Distribution1126700
+Node: Getting1127184
+Node: Extracting1128145
+Node: Distribution contents1129783
+Node: Unix Installation1135868
+Node: Quick Installation1136550
+Node: Shell Startup Files1138964
+Node: Additional Configuration Options1140042
+Node: Configuration Philosophy1141847
+Node: Non-Unix Installation1144216
+Node: PC Installation1144676
+Node: PC Binary Installation1145514
+Node: PC Compiling1145949
+Node: PC Using1147066
+Node: Cygwin1150111
+Node: MSYS1150881
+Node: VMS Installation1151382
+Node: VMS Compilation1152173
+Ref: VMS Compilation-Footnote-11153402
+Node: VMS Dynamic Extensions1153460
+Node: VMS Installation Details1155145
+Node: VMS Running1157398
+Node: VMS GNV1161677
+Node: VMS Old Gawk1162412
+Node: Bugs1162883
+Node: Bug address1163546
+Node: Usenet1165943
+Node: Maintainers1166718
+Node: Other Versions1168094
+Node: Installation summary1174678
+Node: Notes1175713
+Node: Compatibility Mode1176578
+Node: Additions1177360
+Node: Accessing The Source1178285
+Node: Adding Code1179720
+Node: New Ports1185939
+Node: Derived Files1190427
+Ref: Derived Files-Footnote-11195912
+Ref: Derived Files-Footnote-21195947
+Ref: Derived Files-Footnote-31196545
+Node: Future Extensions1196659
+Node: Implementation Limitations1197317
+Node: Extension Design1198500
+Node: Old Extension Problems1199654
+Ref: Old Extension Problems-Footnote-11201172
+Node: Extension New Mechanism Goals1201229
+Ref: Extension New Mechanism Goals-Footnote-11204593
+Node: Extension Other Design Decisions1204782
+Node: Extension Future Growth1206895
+Node: Old Extension Mechanism1207731
+Node: Notes summary1209494
+Node: Basic Concepts1210676
+Node: Basic High Level1211357
+Ref: figure-general-flow1211639
+Ref: figure-process-flow1212324
+Ref: Basic High Level-Footnote-11215625
+Node: Basic Data Typing1215810
+Node: Glossary1219138
+Node: Copying1251085
+Node: GNU Free Documentation License1288624
+Node: Index1313742

End Tag Table