~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to doc/gawk.info

  • Committer: Arnold D. Robbins
  • Date: 2024-07-28 09:43:58 UTC
  • mto: (2057.4.2)
  • mto: This revision was merged to the branch mainline in revision 2125.
  • Revision ID: git-v1:84d2a184dd407cf68f554ee628232c47c44ae09e
Small doc update.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25093
25093
16.1 A General Description of Computer Arithmetic
25094
25094
=================================================
25095
25095
 
25096
 
Until now, we have worked with data as either numbers or strings.
 
25096
     Have you ever considered that the plural of "half" is "whole"?
 
25097
                          -- _Allan Sherman_
 
25098
 
 
25099
   Until now, we have worked with data as either numbers or strings.
25097
25100
Ultimately, however, computers represent everything in terms of “binary
25098
25101
digits”, or “bits”.  A decimal digit can take on any of 10 values: zero
25099
25102
through nine.  A binary digit can take on any of two values, zero or
36558
36561
                                                              (line   6)
36559
36562
* arbitrary precision:                   Arbitrary Precision Arithmetic.
36560
36563
                                                              (line   6)
36561
 
* arbitrary precision <1>:               Computer Arithmetic. (line  61)
 
36564
* arbitrary precision <1>:               Computer Arithmetic. (line  64)
36562
36565
* arbitrary precision, integers:         Arbitrary Precision Integers.
36563
36566
                                                              (line   6)
36564
36567
* archaeologists:                        Bugs.                (line   6)
37560
37563
                                                              (line  31)
37561
37564
* double quote ("), in regexp constants: Computed Regexps.    (line  30)
37562
37565
* double quote ("), in shell commands:   Quoting.             (line  54)
37563
 
* double-precision:                      Computer Arithmetic. (line  61)
 
37566
* double-precision:                      Computer Arithmetic. (line  64)
37564
37567
* down debugger command:                 Execution Stack.     (line  23)
37565
37568
* Drepper, Ulrich:                       Acknowledgments.     (line  52)
37566
37569
* Duman, Patrice:                        Acknowledgments.     (line  75)
37941
37944
* fixed-width data:                      Constant Size.       (line   6)
37942
37945
* flag variables:                        Boolean Ops.         (line  69)
37943
37946
* flag variables <1>:                    Tee Program.         (line  20)
37944
 
* floating-point, numbers:               Computer Arithmetic. (line  49)
 
37947
* floating-point, numbers:               Computer Arithmetic. (line  52)
37945
37948
* floating-point, numbers, arbitrary-precision: Arbitrary Precision Arithmetic.
37946
37949
                                                              (line   6)
37947
37950
* floating-point, numbers, arbitrary-precision <1>: Computer Arithmetic.
37948
 
                                                              (line  61)
 
37951
                                                              (line  64)
37949
37952
* floating-point, numbers, double-precision: Computer Arithmetic.
37950
 
                                                              (line  61)
 
37953
                                                              (line  64)
37951
37954
* floating-point, numbers, single-precision: Computer Arithmetic.
37952
 
                                                              (line  61)
 
37955
                                                              (line  64)
37953
37956
* flush buffered output:                 I/O Functions.       (line  28)
37954
37957
* fnmatch() extension function:          Extension Sample Fnmatch.
37955
37958
                                                              (line  12)
38391
38394
                                                              (line  31)
38392
38395
* integers, arbitrary precision:         Arbitrary Precision Integers.
38393
38396
                                                              (line   6)
38394
 
* integers, unsigned:                    Computer Arithmetic. (line  41)
 
38397
* integers, unsigned:                    Computer Arithmetic. (line  44)
38395
38398
* interacting with other programs:       I/O Functions.       (line 105)
38396
38399
* internationalization:                  I18N Functions.      (line   6)
38397
38400
* internationalization <1>:              I18N and L10N.       (line   6)
39355
39358
* shells, sea:                           Undocumented.        (line   9)
39356
39359
* shells, variables:                     Using Shell Variables.
39357
39360
                                                              (line   6)
 
39361
* Sherman, Allan:                        Computer Arithmetic. (line   6)
39358
39362
* shift, bitwise:                        Bitwise Functions.   (line  32)
39359
39363
* short-circuit operators:               Boolean Ops.         (line  59)
39360
39364
* show in debugger, all source files:    Debugger Info.       (line  45)
39450
39454
* single records, treating files as:     gawk split records.  (line 102)
39451
39455
* single-character fields:               Single Character Fields.
39452
39456
                                                              (line   6)
39453
 
* single-precision:                      Computer Arithmetic. (line  61)
 
39457
* single-precision:                      Computer Arithmetic. (line  64)
39454
39458
* single-step execution, in the debugger: Debugger Execution Control.
39455
39459
                                                              (line  43)
39456
39460
* Skywalker, Luke:                       Undocumented.        (line   6)
39725
39729
* Unix awk, close() function and:        Close Return Value.  (line   6)
39726
39730
* Unix awk, password files, field separators and: Command Line Field Separator.
39727
39731
                                                              (line  62)
39728
 
* unsigned integers:                     Computer Arithmetic. (line  41)
 
39732
* unsigned integers:                     Computer Arithmetic. (line  44)
39729
39733
* until debugger command:                Debugger Execution Control.
39730
39734
                                                              (line  82)
39731
39735
* unwatch debugger command:              Viewing And Changing Data.
40319
40323
Node: Namespace Summary1046273
40320
40324
Node: Arbitrary Precision Arithmetic1047784
40321
40325
Node: Computer Arithmetic1049303
40322
 
Ref: table-numeric-ranges1053111
40323
 
Ref: table-floating-point-ranges1053608
40324
 
Ref: Computer Arithmetic-Footnote-11054266
40325
 
Node: Math Definitions1054323
40326
 
Ref: table-ieee-formats1057355
40327
 
Node: MPFR features1057928
40328
 
Node: MPFR On Parole1058381
40329
 
Ref: MPFR On Parole-Footnote-11059222
40330
 
Node: MPFR Intro1059381
40331
 
Node: FP Math Caution1061065
40332
 
Ref: FP Math Caution-Footnote-11062137
40333
 
Node: Inexactness of computations1062510
40334
 
Node: Inexact representation1063541
40335
 
Node: Comparing FP Values1064922
40336
 
Node: Errors accumulate1066180
40337
 
Node: Strange values1067645
40338
 
Ref: Strange values-Footnote-11070299
40339
 
Node: Getting Accuracy1070404
40340
 
Node: Try To Round1073141
40341
 
Node: Setting precision1074048
40342
 
Ref: table-predefined-precision-strings1074753
40343
 
Node: Setting the rounding mode1076637
40344
 
Ref: table-gawk-rounding-modes1077019
40345
 
Ref: Setting the rounding mode-Footnote-11081071
40346
 
Node: Arbitrary Precision Integers1081254
40347
 
Ref: Arbitrary Precision Integers-Footnote-11084464
40348
 
Node: Checking for MPFR1084617
40349
 
Node: POSIX Floating Point Problems1086107
40350
 
Ref: POSIX Floating Point Problems-Footnote-11090927
40351
 
Node: Floating point summary1090965
40352
 
Node: Dynamic Extensions1093221
40353
 
Node: Extension Intro1094818
40354
 
Node: Plugin License1096120
40355
 
Node: Extension Mechanism Outline1096933
40356
 
Ref: figure-load-extension1097384
40357
 
Ref: figure-register-new-function1098962
40358
 
Ref: figure-call-new-function1100071
40359
 
Node: Extension API Description1102186
40360
 
Node: Extension API Functions Introduction1103915
40361
 
Ref: table-api-std-headers1105809
40362
 
Node: General Data Types1110250
40363
 
Ref: General Data Types-Footnote-11119396
40364
 
Node: Memory Allocation Functions1119699
40365
 
Ref: Memory Allocation Functions-Footnote-11124416
40366
 
Node: Constructor Functions1124515
40367
 
Node: API Ownership of MPFR and GMP Values1128416
40368
 
Node: Registration Functions1129969
40369
 
Node: Extension Functions1130673
40370
 
Node: Exit Callback Functions1136247
40371
 
Node: Extension Version String1137561
40372
 
Node: Input Parsers1138256
40373
 
Node: Output Wrappers1152875
40374
 
Node: Two-way processors1157717
40375
 
Node: Printing Messages1160070
40376
 
Ref: Printing Messages-Footnote-11161281
40377
 
Node: Updating ERRNO1161434
40378
 
Node: Requesting Values1162233
40379
 
Ref: table-value-types-returned1162986
40380
 
Node: Accessing Parameters1165045
40381
 
Node: Symbol Table Access1166326
40382
 
Node: Symbol table by name1166838
40383
 
Ref: Symbol table by name-Footnote-11170039
40384
 
Node: Symbol table by cookie1170171
40385
 
Ref: Symbol table by cookie-Footnote-11174440
40386
 
Node: Cached values1174504
40387
 
Ref: Cached values-Footnote-11178136
40388
 
Node: Array Manipulation1178293
40389
 
Ref: Array Manipulation-Footnote-11179392
40390
 
Node: Array Data Types1179429
40391
 
Ref: Array Data Types-Footnote-11182247
40392
 
Node: Array Functions1182343
40393
 
Node: Flattening Arrays1187372
40394
 
Node: Creating Arrays1194420
40395
 
Node: Redirection API1199262
40396
 
Node: Extension API Variables1202279
40397
 
Node: Extension Versioning1203002
40398
 
Ref: gawk-api-version1203431
40399
 
Node: Extension GMP/MPFR Versioning1205218
40400
 
Node: Extension API Informational Variables1206922
40401
 
Node: Extension API Boilerplate1208175
40402
 
Node: Changes from API V11212305
40403
 
Node: Finding Extensions1213937
40404
 
Node: Extension Example1214512
40405
 
Node: Internal File Description1215334
40406
 
Node: Internal File Ops1219626
40407
 
Ref: Internal File Ops-Footnote-11231176
40408
 
Node: Using Internal File Ops1231324
40409
 
Ref: Using Internal File Ops-Footnote-11233755
40410
 
Node: Extension Samples1234033
40411
 
Node: Extension Sample File Functions1235602
40412
 
Node: Extension Sample Fnmatch1243727
40413
 
Node: Extension Sample Fork1245322
40414
 
Node: Extension Sample Inplace1246598
40415
 
Node: Extension Sample Ord1250700
40416
 
Node: Extension Sample Readdir1251576
40417
 
Ref: table-readdir-file-types1252365
40418
 
Node: Extension Sample Revout1253721
40419
 
Node: Extension Sample Rev2way1254318
40420
 
Node: Extension Sample Read write array1255070
40421
 
Node: Extension Sample Readfile1258344
40422
 
Node: Extension Sample Time1259475
40423
 
Node: Extension Sample API Tests1261475
40424
 
Node: gawkextlib1261983
40425
 
Node: Extension summary1265015
40426
 
Node: Extension Exercises1268863
40427
 
Node: Language History1270133
40428
 
Node: V7/SVR3.11271845
40429
 
Node: SVR41274195
40430
 
Node: POSIX1275727
40431
 
Node: BTL1277152
40432
 
Node: POSIX/GNU1277919
40433
 
Node: Feature History1284574
40434
 
Node: Common Extensions1304415
40435
 
Node: Ranges and Locales1305890
40436
 
Ref: Ranges and Locales-Footnote-11310675
40437
 
Ref: Ranges and Locales-Footnote-21310702
40438
 
Ref: Ranges and Locales-Footnote-31310937
40439
 
Node: Contributors1311160
40440
 
Node: History summary1317351
40441
 
Node: Installation1318793
40442
 
Node: Gawk Distribution1319757
40443
 
Node: Getting1320249
40444
 
Node: Extracting1321248
40445
 
Node: Distribution contents1322954
40446
 
Node: Unix Installation1330844
40447
 
Node: Quick Installation1331664
40448
 
Node: Compiling with MPFR1334204
40449
 
Node: Shell Startup Files1334910
40450
 
Node: Additional Configuration Options1336067
40451
 
Node: Configuration Philosophy1338450
40452
 
Node: Compiling from Git1340950
40453
 
Node: Building the Documentation1341509
40454
 
Node: Non-Unix Installation1342921
40455
 
Node: PC Installation1343397
40456
 
Node: PC Binary Installation1344266
40457
 
Node: PC Compiling1345159
40458
 
Node: PC Using1346337
40459
 
Node: Cygwin1350053
40460
 
Node: MSYS1351305
40461
 
Node: OpenVMS Installation1351931
40462
 
Node: OpenVMS Compilation1352612
40463
 
Ref: OpenVMS Compilation-Footnote-11354095
40464
 
Node: OpenVMS Dynamic Extensions1354153
40465
 
Node: OpenVMS Installation Details1355789
40466
 
Node: OpenVMS Running1358220
40467
 
Node: OpenVMS GNV1362357
40468
 
Node: Bugs1363112
40469
 
Node: Bug definition1364032
40470
 
Node: Bug address1367633
40471
 
Node: Usenet1371202
40472
 
Node: Performance bugs1372415
40473
 
Node: Asking for help1375431
40474
 
Node: Maintainers1377418
40475
 
Node: Other Versions1378445
40476
 
Node: Installation summary1388049
40477
 
Node: Notes1389431
40478
 
Node: Compatibility Mode1390241
40479
 
Node: Additions1391063
40480
 
Node: Accessing The Source1392008
40481
 
Node: Adding Code1393539
40482
 
Node: New Ports1400650
40483
 
Node: Derived Files1405153
40484
 
Ref: Derived Files-Footnote-11410964
40485
 
Ref: Derived Files-Footnote-21410999
40486
 
Ref: Derived Files-Footnote-31411610
40487
 
Node: Future Extensions1411724
40488
 
Node: Implementation Limitations1412394
40489
 
Node: Extension Design1413636
40490
 
Node: Old Extension Problems1414796
40491
 
Ref: Old Extension Problems-Footnote-11416368
40492
 
Node: Extension New Mechanism Goals1416429
40493
 
Ref: Extension New Mechanism Goals-Footnote-11419899
40494
 
Node: Extension Other Design Decisions1420100
40495
 
Node: Extension Future Growth1422297
40496
 
Node: Notes summary1422917
40497
 
Node: Basic Concepts1424127
40498
 
Node: Basic High Level1424812
40499
 
Ref: figure-general-flow1425094
40500
 
Ref: figure-process-flow1425796
40501
 
Ref: Basic High Level-Footnote-11429166
40502
 
Node: Basic Data Typing1429355
40503
 
Node: Glossary1432763
40504
 
Node: Copying1465641
40505
 
Node: GNU Free Documentation License1503199
40506
 
Node: Index1528322
 
40326
Ref: table-numeric-ranges1053228
 
40327
Ref: table-floating-point-ranges1053725
 
40328
Ref: Computer Arithmetic-Footnote-11054383
 
40329
Node: Math Definitions1054440
 
40330
Ref: table-ieee-formats1057472
 
40331
Node: MPFR features1058045
 
40332
Node: MPFR On Parole1058498
 
40333
Ref: MPFR On Parole-Footnote-11059339
 
40334
Node: MPFR Intro1059498
 
40335
Node: FP Math Caution1061182
 
40336
Ref: FP Math Caution-Footnote-11062254
 
40337
Node: Inexactness of computations1062627
 
40338
Node: Inexact representation1063658
 
40339
Node: Comparing FP Values1065039
 
40340
Node: Errors accumulate1066297
 
40341
Node: Strange values1067762
 
40342
Ref: Strange values-Footnote-11070416
 
40343
Node: Getting Accuracy1070521
 
40344
Node: Try To Round1073258
 
40345
Node: Setting precision1074165
 
40346
Ref: table-predefined-precision-strings1074870
 
40347
Node: Setting the rounding mode1076754
 
40348
Ref: table-gawk-rounding-modes1077136
 
40349
Ref: Setting the rounding mode-Footnote-11081188
 
40350
Node: Arbitrary Precision Integers1081371
 
40351
Ref: Arbitrary Precision Integers-Footnote-11084581
 
40352
Node: Checking for MPFR1084734
 
40353
Node: POSIX Floating Point Problems1086224
 
40354
Ref: POSIX Floating Point Problems-Footnote-11091044
 
40355
Node: Floating point summary1091082
 
40356
Node: Dynamic Extensions1093338
 
40357
Node: Extension Intro1094935
 
40358
Node: Plugin License1096237
 
40359
Node: Extension Mechanism Outline1097050
 
40360
Ref: figure-load-extension1097501
 
40361
Ref: figure-register-new-function1099079
 
40362
Ref: figure-call-new-function1100188
 
40363
Node: Extension API Description1102303
 
40364
Node: Extension API Functions Introduction1104032
 
40365
Ref: table-api-std-headers1105926
 
40366
Node: General Data Types1110367
 
40367
Ref: General Data Types-Footnote-11119513
 
40368
Node: Memory Allocation Functions1119816
 
40369
Ref: Memory Allocation Functions-Footnote-11124533
 
40370
Node: Constructor Functions1124632
 
40371
Node: API Ownership of MPFR and GMP Values1128533
 
40372
Node: Registration Functions1130086
 
40373
Node: Extension Functions1130790
 
40374
Node: Exit Callback Functions1136364
 
40375
Node: Extension Version String1137678
 
40376
Node: Input Parsers1138373
 
40377
Node: Output Wrappers1152992
 
40378
Node: Two-way processors1157834
 
40379
Node: Printing Messages1160187
 
40380
Ref: Printing Messages-Footnote-11161398
 
40381
Node: Updating ERRNO1161551
 
40382
Node: Requesting Values1162350
 
40383
Ref: table-value-types-returned1163103
 
40384
Node: Accessing Parameters1165162
 
40385
Node: Symbol Table Access1166443
 
40386
Node: Symbol table by name1166955
 
40387
Ref: Symbol table by name-Footnote-11170156
 
40388
Node: Symbol table by cookie1170288
 
40389
Ref: Symbol table by cookie-Footnote-11174557
 
40390
Node: Cached values1174621
 
40391
Ref: Cached values-Footnote-11178253
 
40392
Node: Array Manipulation1178410
 
40393
Ref: Array Manipulation-Footnote-11179509
 
40394
Node: Array Data Types1179546
 
40395
Ref: Array Data Types-Footnote-11182364
 
40396
Node: Array Functions1182460
 
40397
Node: Flattening Arrays1187489
 
40398
Node: Creating Arrays1194537
 
40399
Node: Redirection API1199379
 
40400
Node: Extension API Variables1202396
 
40401
Node: Extension Versioning1203119
 
40402
Ref: gawk-api-version1203548
 
40403
Node: Extension GMP/MPFR Versioning1205335
 
40404
Node: Extension API Informational Variables1207039
 
40405
Node: Extension API Boilerplate1208292
 
40406
Node: Changes from API V11212422
 
40407
Node: Finding Extensions1214054
 
40408
Node: Extension Example1214629
 
40409
Node: Internal File Description1215451
 
40410
Node: Internal File Ops1219743
 
40411
Ref: Internal File Ops-Footnote-11231293
 
40412
Node: Using Internal File Ops1231441
 
40413
Ref: Using Internal File Ops-Footnote-11233872
 
40414
Node: Extension Samples1234150
 
40415
Node: Extension Sample File Functions1235719
 
40416
Node: Extension Sample Fnmatch1243844
 
40417
Node: Extension Sample Fork1245439
 
40418
Node: Extension Sample Inplace1246715
 
40419
Node: Extension Sample Ord1250817
 
40420
Node: Extension Sample Readdir1251693
 
40421
Ref: table-readdir-file-types1252482
 
40422
Node: Extension Sample Revout1253838
 
40423
Node: Extension Sample Rev2way1254435
 
40424
Node: Extension Sample Read write array1255187
 
40425
Node: Extension Sample Readfile1258461
 
40426
Node: Extension Sample Time1259592
 
40427
Node: Extension Sample API Tests1261592
 
40428
Node: gawkextlib1262100
 
40429
Node: Extension summary1265132
 
40430
Node: Extension Exercises1268980
 
40431
Node: Language History1270250
 
40432
Node: V7/SVR3.11271962
 
40433
Node: SVR41274312
 
40434
Node: POSIX1275844
 
40435
Node: BTL1277269
 
40436
Node: POSIX/GNU1278036
 
40437
Node: Feature History1284691
 
40438
Node: Common Extensions1304532
 
40439
Node: Ranges and Locales1306007
 
40440
Ref: Ranges and Locales-Footnote-11310792
 
40441
Ref: Ranges and Locales-Footnote-21310819
 
40442
Ref: Ranges and Locales-Footnote-31311054
 
40443
Node: Contributors1311277
 
40444
Node: History summary1317468
 
40445
Node: Installation1318910
 
40446
Node: Gawk Distribution1319874
 
40447
Node: Getting1320366
 
40448
Node: Extracting1321365
 
40449
Node: Distribution contents1323071
 
40450
Node: Unix Installation1330961
 
40451
Node: Quick Installation1331781
 
40452
Node: Compiling with MPFR1334321
 
40453
Node: Shell Startup Files1335027
 
40454
Node: Additional Configuration Options1336184
 
40455
Node: Configuration Philosophy1338567
 
40456
Node: Compiling from Git1341067
 
40457
Node: Building the Documentation1341626
 
40458
Node: Non-Unix Installation1343038
 
40459
Node: PC Installation1343514
 
40460
Node: PC Binary Installation1344383
 
40461
Node: PC Compiling1345276
 
40462
Node: PC Using1346454
 
40463
Node: Cygwin1350170
 
40464
Node: MSYS1351422
 
40465
Node: OpenVMS Installation1352048
 
40466
Node: OpenVMS Compilation1352729
 
40467
Ref: OpenVMS Compilation-Footnote-11354212
 
40468
Node: OpenVMS Dynamic Extensions1354270
 
40469
Node: OpenVMS Installation Details1355906
 
40470
Node: OpenVMS Running1358337
 
40471
Node: OpenVMS GNV1362474
 
40472
Node: Bugs1363229
 
40473
Node: Bug definition1364149
 
40474
Node: Bug address1367750
 
40475
Node: Usenet1371319
 
40476
Node: Performance bugs1372532
 
40477
Node: Asking for help1375548
 
40478
Node: Maintainers1377535
 
40479
Node: Other Versions1378562
 
40480
Node: Installation summary1388166
 
40481
Node: Notes1389548
 
40482
Node: Compatibility Mode1390358
 
40483
Node: Additions1391180
 
40484
Node: Accessing The Source1392125
 
40485
Node: Adding Code1393656
 
40486
Node: New Ports1400767
 
40487
Node: Derived Files1405270
 
40488
Ref: Derived Files-Footnote-11411081
 
40489
Ref: Derived Files-Footnote-21411116
 
40490
Ref: Derived Files-Footnote-31411727
 
40491
Node: Future Extensions1411841
 
40492
Node: Implementation Limitations1412511
 
40493
Node: Extension Design1413753
 
40494
Node: Old Extension Problems1414913
 
40495
Ref: Old Extension Problems-Footnote-11416485
 
40496
Node: Extension New Mechanism Goals1416546
 
40497
Ref: Extension New Mechanism Goals-Footnote-11420016
 
40498
Node: Extension Other Design Decisions1420217
 
40499
Node: Extension Future Growth1422414
 
40500
Node: Notes summary1423034
 
40501
Node: Basic Concepts1424244
 
40502
Node: Basic High Level1424929
 
40503
Ref: figure-general-flow1425211
 
40504
Ref: figure-process-flow1425913
 
40505
Ref: Basic High Level-Footnote-11429283
 
40506
Node: Basic Data Typing1429472
 
40507
Node: Glossary1432880
 
40508
Node: Copying1465758
 
40509
Node: GNU Free Documentation License1503316
 
40510
Node: Index1528439
40507
40511
 
40508
40512
End Tag Table
40509
40513