diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 870 | ||||
-rw-r--r-- | doc/gawk.texi | 7 | ||||
-rw-r--r-- | doc/gawktexi.in | 7 |
4 files changed, 454 insertions, 435 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index f5a3053c..cdfd827a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2020-08-24 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Arithmetic Ops): Update text to fix a FIXME. Document + that modulus is POSIX compliant. + 2020-08-18 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (String Functions): Fix a typo in the description diff --git a/doc/gawk.info b/doc/gawk.info index ffeebc2f..b7675b65 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -8541,6 +8541,10 @@ that 'X % Y' is negative if X is negative. Thus: -17 % 8 = -1 +This definition is compliant with the POSIX standard, which says that +the '%' operator produces results equivalent to using the standard C +'fmod()' function, and that function in turn works as just described. + In other 'awk' implementations, the signedness of the remainder may be machine-dependent. @@ -33984,7 +33988,7 @@ Index * () (parentheses), in a profile: Profiling. (line 146) * * (asterisk), * operator, as regexp operator: Regexp Operator Details. (line 91) -* * (asterisk), ** operator: Arithmetic Ops. (line 81) +* * (asterisk), ** operator: Arithmetic Ops. (line 85) * * (asterisk), *= operator: Assignment Ops. (line 129) * * (asterisk), **= operator: Assignment Ops. (line 129) * * (asterisk), ** operator <1>: Precedence. (line 48) @@ -34425,7 +34429,7 @@ Index * associative arrays: Array Intro. (line 48) * asterisk (*), * operator, as regexp operator: Regexp Operator Details. (line 91) -* asterisk (*), ** operator: Arithmetic Ops. (line 81) +* asterisk (*), ** operator: Arithmetic Ops. (line 85) * asterisk (*), *= operator: Assignment Ops. (line 129) * asterisk (*), **= operator: Assignment Ops. (line 129) * asterisk (*), ** operator <1>: Precedence. (line 48) @@ -36464,7 +36468,7 @@ Index * portability, close() function and: Close Files And Pipes. (line 81) * portability, new awk vs. old awk: Strings And Numbers. (line 56) -* portability, ** operator and: Arithmetic Ops. (line 81) +* portability, ** operator and: Arithmetic Ops. (line 85) * portability, **= operator and: Assignment Ops. (line 144) * portability, operators: Increment Ops. (line 60) * portability, operators, not in POSIX awk: Precedence. (line 97) @@ -37564,436 +37568,436 @@ Node: Locale influences conversions364349 Ref: table-locale-affects367107 Node: All Operators367725 Node: Arithmetic Ops368354 -Node: Concatenation370860 -Ref: Concatenation-Footnote-1373707 -Node: Assignment Ops373814 -Ref: table-assign-ops378805 -Node: Increment Ops380118 -Node: Truth Values and Conditions383578 -Node: Truth Values384652 -Node: Typing and Comparison385700 -Node: Variable Typing386520 -Ref: Variable Typing-Footnote-1392983 -Ref: Variable Typing-Footnote-2393055 -Node: Comparison Operators393132 -Ref: table-relational-ops393551 -Node: POSIX String Comparison397046 -Ref: POSIX String Comparison-Footnote-1398741 -Ref: POSIX String Comparison-Footnote-2398880 -Node: Boolean Ops398964 -Ref: Boolean Ops-Footnote-1403446 -Node: Conditional Exp403538 -Node: Function Calls405274 -Node: Precedence409151 -Node: Locales412810 -Node: Expressions Summary414442 -Node: Patterns and Actions417015 -Node: Pattern Overview418135 -Node: Regexp Patterns419812 -Node: Expression Patterns420354 -Node: Ranges424135 -Node: BEGIN/END427243 -Node: Using BEGIN/END428004 -Ref: Using BEGIN/END-Footnote-1430740 -Node: I/O And BEGIN/END430846 -Node: BEGINFILE/ENDFILE433160 -Node: Empty436073 -Node: Using Shell Variables436390 -Node: Action Overview438664 -Node: Statements440989 -Node: If Statement442837 -Node: While Statement444332 -Node: Do Statement446360 -Node: For Statement447508 -Node: Switch Statement450679 -Node: Break Statement453120 -Node: Continue Statement455212 -Node: Next Statement457039 -Node: Nextfile Statement459422 -Node: Exit Statement462074 -Node: Built-in Variables464477 -Node: User-modified465610 -Node: Auto-set473377 -Ref: Auto-set-Footnote-1490184 -Ref: Auto-set-Footnote-2490390 -Node: ARGC and ARGV490446 -Node: Pattern Action Summary494659 -Node: Arrays497089 -Node: Array Basics498418 -Node: Array Intro499262 -Ref: figure-array-elements501237 -Ref: Array Intro-Footnote-1503941 -Node: Reference to Elements504069 -Node: Assigning Elements506533 -Node: Array Example507024 -Node: Scanning an Array508783 -Node: Controlling Scanning511805 -Ref: Controlling Scanning-Footnote-1518261 -Node: Numeric Array Subscripts518577 -Node: Uninitialized Subscripts520761 -Node: Delete522380 -Ref: Delete-Footnote-1525132 -Node: Multidimensional525189 -Node: Multiscanning528284 -Node: Arrays of Arrays529875 -Node: Arrays Summary534643 -Node: Functions536736 -Node: Built-in537774 -Node: Calling Built-in538855 -Node: Numeric Functions540851 -Ref: Numeric Functions-Footnote-1544879 -Ref: Numeric Functions-Footnote-2545527 -Ref: Numeric Functions-Footnote-3545575 -Node: String Functions545847 -Ref: String Functions-Footnote-1569988 -Ref: String Functions-Footnote-2570116 -Ref: String Functions-Footnote-3570364 -Node: Gory Details570451 -Ref: table-sub-escapes572242 -Ref: table-sub-proposed573761 -Ref: table-posix-sub575124 -Ref: table-gensub-escapes576665 -Ref: Gory Details-Footnote-1577488 -Node: I/O Functions577642 -Ref: table-system-return-values584110 -Ref: I/O Functions-Footnote-1586190 -Ref: I/O Functions-Footnote-2586338 -Node: Time Functions586458 -Ref: Time Functions-Footnote-1597129 -Ref: Time Functions-Footnote-2597197 -Ref: Time Functions-Footnote-3597355 -Ref: Time Functions-Footnote-4597466 -Ref: Time Functions-Footnote-5597578 -Ref: Time Functions-Footnote-6597805 -Node: Bitwise Functions598071 -Ref: table-bitwise-ops598665 -Ref: Bitwise Functions-Footnote-1604728 -Ref: Bitwise Functions-Footnote-2604901 -Node: Type Functions605092 -Node: I18N Functions607955 -Node: User-defined609606 -Node: Definition Syntax610418 -Ref: Definition Syntax-Footnote-1616105 -Node: Function Example616176 -Ref: Function Example-Footnote-1619098 -Node: Function Calling619120 -Node: Calling A Function619708 -Node: Variable Scope620666 -Node: Pass By Value/Reference623660 -Node: Function Caveats626304 -Ref: Function Caveats-Footnote-1628351 -Node: Return Statement628471 -Node: Dynamic Typing631450 -Node: Indirect Calls632380 -Ref: Indirect Calls-Footnote-1642632 -Node: Functions Summary642760 -Node: Library Functions645465 -Ref: Library Functions-Footnote-1649072 -Ref: Library Functions-Footnote-2649215 -Node: Library Names649386 -Ref: Library Names-Footnote-1653053 -Ref: Library Names-Footnote-2653276 -Node: General Functions653362 -Node: Strtonum Function654465 -Node: Assert Function657487 -Node: Round Function660813 -Node: Cliff Random Function662353 -Node: Ordinal Functions663369 -Ref: Ordinal Functions-Footnote-1666432 -Ref: Ordinal Functions-Footnote-2666684 -Node: Join Function666894 -Ref: Join Function-Footnote-1668664 -Node: Getlocaltime Function668864 -Node: Readfile Function672606 -Node: Shell Quoting674583 -Node: Data File Management675984 -Node: Filetrans Function676616 -Node: Rewind Function680712 -Node: File Checking682621 -Ref: File Checking-Footnote-1683955 -Node: Empty Files684156 -Node: Ignoring Assigns686135 -Node: Getopt Function687685 -Ref: Getopt Function-Footnote-1702897 -Node: Passwd Functions703097 -Ref: Passwd Functions-Footnote-1711936 -Node: Group Functions712024 -Ref: Group Functions-Footnote-1719922 -Node: Walking Arrays720129 -Node: Library Functions Summary723137 -Node: Library Exercises724543 -Node: Sample Programs725008 -Node: Running Examples725778 -Node: Clones726506 -Node: Cut Program727730 -Node: Egrep Program737659 -Ref: Egrep Program-Footnote-1745171 -Node: Id Program745281 -Node: Split Program748961 -Ref: Split Program-Footnote-1752419 -Node: Tee Program752548 -Node: Uniq Program755338 -Node: Wc Program762959 -Ref: Wc Program-Footnote-1767214 -Node: Miscellaneous Programs767308 -Node: Dupword Program768521 -Node: Alarm Program770551 -Node: Translate Program775406 -Ref: Translate Program-Footnote-1779971 -Node: Labels Program780241 -Ref: Labels Program-Footnote-1783592 -Node: Word Sorting783676 -Node: History Sorting787748 -Node: Extract Program789973 -Node: Simple Sed798027 -Node: Igawk Program801101 -Ref: Igawk Program-Footnote-1815432 -Ref: Igawk Program-Footnote-2815634 -Ref: Igawk Program-Footnote-3815756 -Node: Anagram Program815871 -Node: Signature Program818933 -Node: Programs Summary820180 -Node: Programs Exercises821394 -Ref: Programs Exercises-Footnote-1825523 -Node: Advanced Features825614 -Node: Nondecimal Data827604 -Node: Array Sorting829195 -Node: Controlling Array Traversal829895 -Ref: Controlling Array Traversal-Footnote-1838263 -Node: Array Sorting Functions838381 -Ref: Array Sorting Functions-Footnote-1843472 -Node: Two-way I/O843668 -Ref: Two-way I/O-Footnote-1851389 -Ref: Two-way I/O-Footnote-2851576 -Node: TCP/IP Networking851658 -Node: Profiling854776 -Node: Advanced Features Summary864090 -Node: Internationalization865934 -Node: I18N and L10N867414 -Node: Explaining gettext868101 -Ref: Explaining gettext-Footnote-1873993 -Ref: Explaining gettext-Footnote-2874178 -Node: Programmer i18n874343 -Ref: Programmer i18n-Footnote-1879292 -Node: Translator i18n879341 -Node: String Extraction880135 -Ref: String Extraction-Footnote-1881267 -Node: Printf Ordering881353 -Ref: Printf Ordering-Footnote-1884139 -Node: I18N Portability884203 -Ref: I18N Portability-Footnote-1886659 -Node: I18N Example886722 -Ref: I18N Example-Footnote-1889997 -Ref: I18N Example-Footnote-2890070 -Node: Gawk I18N890179 -Node: I18N Summary890828 -Node: Debugger892169 -Node: Debugging893169 -Node: Debugging Concepts893610 -Node: Debugging Terms895419 -Node: Awk Debugging897994 -Ref: Awk Debugging-Footnote-1898939 -Node: Sample Debugging Session899071 -Node: Debugger Invocation899605 -Node: Finding The Bug900991 -Node: List of Debugger Commands907465 -Node: Breakpoint Control908798 -Node: Debugger Execution Control912492 -Node: Viewing And Changing Data915854 -Node: Execution Stack919395 -Node: Debugger Info921032 -Node: Miscellaneous Debugger Commands925103 -Node: Readline Support930165 -Node: Limitations931061 -Node: Debugging Summary933615 -Node: Namespaces934894 -Node: Global Namespace936005 -Node: Qualified Names937403 -Node: Default Namespace938402 -Node: Changing The Namespace939143 -Node: Naming Rules940757 -Node: Internal Name Management942605 -Node: Namespace Example943647 -Node: Namespace And Features946209 -Node: Namespace Summary947644 -Node: Arbitrary Precision Arithmetic949121 -Node: Computer Arithmetic950608 -Ref: table-numeric-ranges954374 -Ref: table-floating-point-ranges954867 -Ref: Computer Arithmetic-Footnote-1955525 -Node: Math Definitions955582 -Ref: table-ieee-formats958898 -Ref: Math Definitions-Footnote-1959501 -Node: MPFR features959606 -Node: FP Math Caution961324 -Ref: FP Math Caution-Footnote-1962396 -Node: Inexactness of computations962765 -Node: Inexact representation963725 -Node: Comparing FP Values965085 -Node: Errors accumulate966326 -Node: Getting Accuracy967759 -Node: Try To Round970469 -Node: Setting precision971368 -Ref: table-predefined-precision-strings972065 -Node: Setting the rounding mode973895 -Ref: table-gawk-rounding-modes974269 -Ref: Setting the rounding mode-Footnote-1978200 -Node: Arbitrary Precision Integers978379 -Ref: Arbitrary Precision Integers-Footnote-1981554 -Node: Checking for MPFR981703 -Node: POSIX Floating Point Problems983177 -Ref: POSIX Floating Point Problems-Footnote-1987462 -Node: Floating point summary987500 -Node: Dynamic Extensions989690 -Node: Extension Intro991243 -Node: Plugin License992509 -Node: Extension Mechanism Outline993306 -Ref: figure-load-extension993745 -Ref: figure-register-new-function995310 -Ref: figure-call-new-function996402 -Node: Extension API Description998464 -Node: Extension API Functions Introduction1000177 -Ref: table-api-std-headers1002013 -Node: General Data Types1006262 -Ref: General Data Types-Footnote-11014892 -Node: Memory Allocation Functions1015191 -Ref: Memory Allocation Functions-Footnote-11019692 -Node: Constructor Functions1019791 -Node: API Ownership of MPFR and GMP Values1023257 -Node: Registration Functions1024570 -Node: Extension Functions1025270 -Node: Exit Callback Functions1030592 -Node: Extension Version String1031842 -Node: Input Parsers1032505 -Node: Output Wrappers1045226 -Node: Two-way processors1049738 -Node: Printing Messages1052003 -Ref: Printing Messages-Footnote-11053174 -Node: Updating ERRNO1053327 -Node: Requesting Values1054066 -Ref: table-value-types-returned1054803 -Node: Accessing Parameters1055739 -Node: Symbol Table Access1056976 -Node: Symbol table by name1057488 -Ref: Symbol table by name-Footnote-11060512 -Node: Symbol table by cookie1060640 -Ref: Symbol table by cookie-Footnote-11064825 -Node: Cached values1064889 -Ref: Cached values-Footnote-11068425 -Node: Array Manipulation1068578 -Ref: Array Manipulation-Footnote-11069669 -Node: Array Data Types1069706 -Ref: Array Data Types-Footnote-11072364 -Node: Array Functions1072456 -Node: Flattening Arrays1076954 -Node: Creating Arrays1083930 -Node: Redirection API1088697 -Node: Extension API Variables1091530 -Node: Extension Versioning1092241 -Ref: gawk-api-version1092670 -Node: Extension GMP/MPFR Versioning1094401 -Node: Extension API Informational Variables1096029 -Node: Extension API Boilerplate1097102 -Node: Changes from API V11101076 -Node: Finding Extensions1102648 -Node: Extension Example1103207 -Node: Internal File Description1104005 -Node: Internal File Ops1108085 -Ref: Internal File Ops-Footnote-11119435 -Node: Using Internal File Ops1119575 -Ref: Using Internal File Ops-Footnote-11121958 -Node: Extension Samples1122232 -Node: Extension Sample File Functions1123761 -Node: Extension Sample Fnmatch1131410 -Node: Extension Sample Fork1132897 -Node: Extension Sample Inplace1134115 -Node: Extension Sample Ord1137740 -Node: Extension Sample Readdir1138576 -Ref: table-readdir-file-types1139465 -Node: Extension Sample Revout1140532 -Node: Extension Sample Rev2way1141121 -Node: Extension Sample Read write array1141861 -Node: Extension Sample Readfile1143803 -Node: Extension Sample Time1144898 -Node: Extension Sample API Tests1146650 -Node: gawkextlib1147142 -Node: Extension summary1150060 -Node: Extension Exercises1153762 -Node: Language History1155004 -Node: V7/SVR3.11156660 -Node: SVR41158812 -Node: POSIX1160246 -Node: BTL1161627 -Node: POSIX/GNU1162356 -Node: Feature History1168134 -Node: Common Extensions1184453 -Node: Ranges and Locales1185736 -Ref: Ranges and Locales-Footnote-11190352 -Ref: Ranges and Locales-Footnote-21190379 -Ref: Ranges and Locales-Footnote-31190614 -Node: Contributors1190837 -Node: History summary1196834 -Node: Installation1198214 -Node: Gawk Distribution1199158 -Node: Getting1199642 -Node: Extracting1200605 -Node: Distribution contents1202243 -Node: Unix Installation1208723 -Node: Quick Installation1209405 -Node: Shell Startup Files1211819 -Node: Additional Configuration Options1212908 -Node: Configuration Philosophy1215223 -Node: Non-Unix Installation1217592 -Node: PC Installation1218052 -Node: PC Binary Installation1218890 -Node: PC Compiling1219325 -Node: PC Using1220442 -Node: Cygwin1223995 -Node: MSYS1225219 -Node: VMS Installation1225821 -Node: VMS Compilation1226612 -Ref: VMS Compilation-Footnote-11227841 -Node: VMS Dynamic Extensions1227899 -Node: VMS Installation Details1229584 -Node: VMS Running1231837 -Node: VMS GNV1236116 -Node: VMS Old Gawk1236851 -Node: Bugs1237322 -Node: Bug address1237985 -Node: Usenet1240967 -Node: Maintainers1241971 -Node: Other Versions1243156 -Node: Installation summary1250244 -Node: Notes1251453 -Node: Compatibility Mode1252247 -Node: Additions1253029 -Node: Accessing The Source1253954 -Node: Adding Code1255391 -Node: New Ports1261610 -Node: Derived Files1265985 -Ref: Derived Files-Footnote-11271645 -Ref: Derived Files-Footnote-21271680 -Ref: Derived Files-Footnote-31272278 -Node: Future Extensions1272392 -Node: Implementation Limitations1273050 -Node: Extension Design1274260 -Node: Old Extension Problems1275404 -Ref: Old Extension Problems-Footnote-11276922 -Node: Extension New Mechanism Goals1276979 -Ref: Extension New Mechanism Goals-Footnote-11280343 -Node: Extension Other Design Decisions1280532 -Node: Extension Future Growth1282645 -Node: Notes summary1283251 -Node: Basic Concepts1284409 -Node: Basic High Level1285090 -Ref: figure-general-flow1285372 -Ref: figure-process-flow1286057 -Ref: Basic High Level-Footnote-11289358 -Node: Basic Data Typing1289543 -Node: Glossary1292871 -Node: Copying1324756 -Node: GNU Free Documentation License1362299 -Node: Index1387419 +Node: Concatenation371070 +Ref: Concatenation-Footnote-1373917 +Node: Assignment Ops374024 +Ref: table-assign-ops379015 +Node: Increment Ops380328 +Node: Truth Values and Conditions383788 +Node: Truth Values384862 +Node: Typing and Comparison385910 +Node: Variable Typing386730 +Ref: Variable Typing-Footnote-1393193 +Ref: Variable Typing-Footnote-2393265 +Node: Comparison Operators393342 +Ref: table-relational-ops393761 +Node: POSIX String Comparison397256 +Ref: POSIX String Comparison-Footnote-1398951 +Ref: POSIX String Comparison-Footnote-2399090 +Node: Boolean Ops399174 +Ref: Boolean Ops-Footnote-1403656 +Node: Conditional Exp403748 +Node: Function Calls405484 +Node: Precedence409361 +Node: Locales413020 +Node: Expressions Summary414652 +Node: Patterns and Actions417225 +Node: Pattern Overview418345 +Node: Regexp Patterns420022 +Node: Expression Patterns420564 +Node: Ranges424345 +Node: BEGIN/END427453 +Node: Using BEGIN/END428214 +Ref: Using BEGIN/END-Footnote-1430950 +Node: I/O And BEGIN/END431056 +Node: BEGINFILE/ENDFILE433370 +Node: Empty436283 +Node: Using Shell Variables436600 +Node: Action Overview438874 +Node: Statements441199 +Node: If Statement443047 +Node: While Statement444542 +Node: Do Statement446570 +Node: For Statement447718 +Node: Switch Statement450889 +Node: Break Statement453330 +Node: Continue Statement455422 +Node: Next Statement457249 +Node: Nextfile Statement459632 +Node: Exit Statement462284 +Node: Built-in Variables464687 +Node: User-modified465820 +Node: Auto-set473587 +Ref: Auto-set-Footnote-1490394 +Ref: Auto-set-Footnote-2490600 +Node: ARGC and ARGV490656 +Node: Pattern Action Summary494869 +Node: Arrays497299 +Node: Array Basics498628 +Node: Array Intro499472 +Ref: figure-array-elements501447 +Ref: Array Intro-Footnote-1504151 +Node: Reference to Elements504279 +Node: Assigning Elements506743 +Node: Array Example507234 +Node: Scanning an Array508993 +Node: Controlling Scanning512015 +Ref: Controlling Scanning-Footnote-1518471 +Node: Numeric Array Subscripts518787 +Node: Uninitialized Subscripts520971 +Node: Delete522590 +Ref: Delete-Footnote-1525342 +Node: Multidimensional525399 +Node: Multiscanning528494 +Node: Arrays of Arrays530085 +Node: Arrays Summary534853 +Node: Functions536946 +Node: Built-in537984 +Node: Calling Built-in539065 +Node: Numeric Functions541061 +Ref: Numeric Functions-Footnote-1545089 +Ref: Numeric Functions-Footnote-2545737 +Ref: Numeric Functions-Footnote-3545785 +Node: String Functions546057 +Ref: String Functions-Footnote-1570198 +Ref: String Functions-Footnote-2570326 +Ref: String Functions-Footnote-3570574 +Node: Gory Details570661 +Ref: table-sub-escapes572452 +Ref: table-sub-proposed573971 +Ref: table-posix-sub575334 +Ref: table-gensub-escapes576875 +Ref: Gory Details-Footnote-1577698 +Node: I/O Functions577852 +Ref: table-system-return-values584320 +Ref: I/O Functions-Footnote-1586400 +Ref: I/O Functions-Footnote-2586548 +Node: Time Functions586668 +Ref: Time Functions-Footnote-1597339 +Ref: Time Functions-Footnote-2597407 +Ref: Time Functions-Footnote-3597565 +Ref: Time Functions-Footnote-4597676 +Ref: Time Functions-Footnote-5597788 +Ref: Time Functions-Footnote-6598015 +Node: Bitwise Functions598281 +Ref: table-bitwise-ops598875 +Ref: Bitwise Functions-Footnote-1604938 +Ref: Bitwise Functions-Footnote-2605111 +Node: Type Functions605302 +Node: I18N Functions608165 +Node: User-defined609816 +Node: Definition Syntax610628 +Ref: Definition Syntax-Footnote-1616315 +Node: Function Example616386 +Ref: Function Example-Footnote-1619308 +Node: Function Calling619330 +Node: Calling A Function619918 +Node: Variable Scope620876 +Node: Pass By Value/Reference623870 +Node: Function Caveats626514 +Ref: Function Caveats-Footnote-1628561 +Node: Return Statement628681 +Node: Dynamic Typing631660 +Node: Indirect Calls632590 +Ref: Indirect Calls-Footnote-1642842 +Node: Functions Summary642970 +Node: Library Functions645675 +Ref: Library Functions-Footnote-1649282 +Ref: Library Functions-Footnote-2649425 +Node: Library Names649596 +Ref: Library Names-Footnote-1653263 +Ref: Library Names-Footnote-2653486 +Node: General Functions653572 +Node: Strtonum Function654675 +Node: Assert Function657697 +Node: Round Function661023 +Node: Cliff Random Function662563 +Node: Ordinal Functions663579 +Ref: Ordinal Functions-Footnote-1666642 +Ref: Ordinal Functions-Footnote-2666894 +Node: Join Function667104 +Ref: Join Function-Footnote-1668874 +Node: Getlocaltime Function669074 +Node: Readfile Function672816 +Node: Shell Quoting674793 +Node: Data File Management676194 +Node: Filetrans Function676826 +Node: Rewind Function680922 +Node: File Checking682831 +Ref: File Checking-Footnote-1684165 +Node: Empty Files684366 +Node: Ignoring Assigns686345 +Node: Getopt Function687895 +Ref: Getopt Function-Footnote-1703107 +Node: Passwd Functions703307 +Ref: Passwd Functions-Footnote-1712146 +Node: Group Functions712234 +Ref: Group Functions-Footnote-1720132 +Node: Walking Arrays720339 +Node: Library Functions Summary723347 +Node: Library Exercises724753 +Node: Sample Programs725218 +Node: Running Examples725988 +Node: Clones726716 +Node: Cut Program727940 +Node: Egrep Program737869 +Ref: Egrep Program-Footnote-1745381 +Node: Id Program745491 +Node: Split Program749171 +Ref: Split Program-Footnote-1752629 +Node: Tee Program752758 +Node: Uniq Program755548 +Node: Wc Program763169 +Ref: Wc Program-Footnote-1767424 +Node: Miscellaneous Programs767518 +Node: Dupword Program768731 +Node: Alarm Program770761 +Node: Translate Program775616 +Ref: Translate Program-Footnote-1780181 +Node: Labels Program780451 +Ref: Labels Program-Footnote-1783802 +Node: Word Sorting783886 +Node: History Sorting787958 +Node: Extract Program790183 +Node: Simple Sed798237 +Node: Igawk Program801311 +Ref: Igawk Program-Footnote-1815642 +Ref: Igawk Program-Footnote-2815844 +Ref: Igawk Program-Footnote-3815966 +Node: Anagram Program816081 +Node: Signature Program819143 +Node: Programs Summary820390 +Node: Programs Exercises821604 +Ref: Programs Exercises-Footnote-1825733 +Node: Advanced Features825824 +Node: Nondecimal Data827814 +Node: Array Sorting829405 +Node: Controlling Array Traversal830105 +Ref: Controlling Array Traversal-Footnote-1838473 +Node: Array Sorting Functions838591 +Ref: Array Sorting Functions-Footnote-1843682 +Node: Two-way I/O843878 +Ref: Two-way I/O-Footnote-1851599 +Ref: Two-way I/O-Footnote-2851786 +Node: TCP/IP Networking851868 +Node: Profiling854986 +Node: Advanced Features Summary864300 +Node: Internationalization866144 +Node: I18N and L10N867624 +Node: Explaining gettext868311 +Ref: Explaining gettext-Footnote-1874203 +Ref: Explaining gettext-Footnote-2874388 +Node: Programmer i18n874553 +Ref: Programmer i18n-Footnote-1879502 +Node: Translator i18n879551 +Node: String Extraction880345 +Ref: String Extraction-Footnote-1881477 +Node: Printf Ordering881563 +Ref: Printf Ordering-Footnote-1884349 +Node: I18N Portability884413 +Ref: I18N Portability-Footnote-1886869 +Node: I18N Example886932 +Ref: I18N Example-Footnote-1890207 +Ref: I18N Example-Footnote-2890280 +Node: Gawk I18N890389 +Node: I18N Summary891038 +Node: Debugger892379 +Node: Debugging893379 +Node: Debugging Concepts893820 +Node: Debugging Terms895629 +Node: Awk Debugging898204 +Ref: Awk Debugging-Footnote-1899149 +Node: Sample Debugging Session899281 +Node: Debugger Invocation899815 +Node: Finding The Bug901201 +Node: List of Debugger Commands907675 +Node: Breakpoint Control909008 +Node: Debugger Execution Control912702 +Node: Viewing And Changing Data916064 +Node: Execution Stack919605 +Node: Debugger Info921242 +Node: Miscellaneous Debugger Commands925313 +Node: Readline Support930375 +Node: Limitations931271 +Node: Debugging Summary933825 +Node: Namespaces935104 +Node: Global Namespace936215 +Node: Qualified Names937613 +Node: Default Namespace938612 +Node: Changing The Namespace939353 +Node: Naming Rules940967 +Node: Internal Name Management942815 +Node: Namespace Example943857 +Node: Namespace And Features946419 +Node: Namespace Summary947854 +Node: Arbitrary Precision Arithmetic949331 +Node: Computer Arithmetic950818 +Ref: table-numeric-ranges954584 +Ref: table-floating-point-ranges955077 +Ref: Computer Arithmetic-Footnote-1955735 +Node: Math Definitions955792 +Ref: table-ieee-formats959108 +Ref: Math Definitions-Footnote-1959711 +Node: MPFR features959816 +Node: FP Math Caution961534 +Ref: FP Math Caution-Footnote-1962606 +Node: Inexactness of computations962975 +Node: Inexact representation963935 +Node: Comparing FP Values965295 +Node: Errors accumulate966536 +Node: Getting Accuracy967969 +Node: Try To Round970679 +Node: Setting precision971578 +Ref: table-predefined-precision-strings972275 +Node: Setting the rounding mode974105 +Ref: table-gawk-rounding-modes974479 +Ref: Setting the rounding mode-Footnote-1978410 +Node: Arbitrary Precision Integers978589 +Ref: Arbitrary Precision Integers-Footnote-1981764 +Node: Checking for MPFR981913 +Node: POSIX Floating Point Problems983387 +Ref: POSIX Floating Point Problems-Footnote-1987672 +Node: Floating point summary987710 +Node: Dynamic Extensions989900 +Node: Extension Intro991453 +Node: Plugin License992719 +Node: Extension Mechanism Outline993516 +Ref: figure-load-extension993955 +Ref: figure-register-new-function995520 +Ref: figure-call-new-function996612 +Node: Extension API Description998674 +Node: Extension API Functions Introduction1000387 +Ref: table-api-std-headers1002223 +Node: General Data Types1006472 +Ref: General Data Types-Footnote-11015102 +Node: Memory Allocation Functions1015401 +Ref: Memory Allocation Functions-Footnote-11019902 +Node: Constructor Functions1020001 +Node: API Ownership of MPFR and GMP Values1023467 +Node: Registration Functions1024780 +Node: Extension Functions1025480 +Node: Exit Callback Functions1030802 +Node: Extension Version String1032052 +Node: Input Parsers1032715 +Node: Output Wrappers1045436 +Node: Two-way processors1049948 +Node: Printing Messages1052213 +Ref: Printing Messages-Footnote-11053384 +Node: Updating ERRNO1053537 +Node: Requesting Values1054276 +Ref: table-value-types-returned1055013 +Node: Accessing Parameters1055949 +Node: Symbol Table Access1057186 +Node: Symbol table by name1057698 +Ref: Symbol table by name-Footnote-11060722 +Node: Symbol table by cookie1060850 +Ref: Symbol table by cookie-Footnote-11065035 +Node: Cached values1065099 +Ref: Cached values-Footnote-11068635 +Node: Array Manipulation1068788 +Ref: Array Manipulation-Footnote-11069879 +Node: Array Data Types1069916 +Ref: Array Data Types-Footnote-11072574 +Node: Array Functions1072666 +Node: Flattening Arrays1077164 +Node: Creating Arrays1084140 +Node: Redirection API1088907 +Node: Extension API Variables1091740 +Node: Extension Versioning1092451 +Ref: gawk-api-version1092880 +Node: Extension GMP/MPFR Versioning1094611 +Node: Extension API Informational Variables1096239 +Node: Extension API Boilerplate1097312 +Node: Changes from API V11101286 +Node: Finding Extensions1102858 +Node: Extension Example1103417 +Node: Internal File Description1104215 +Node: Internal File Ops1108295 +Ref: Internal File Ops-Footnote-11119645 +Node: Using Internal File Ops1119785 +Ref: Using Internal File Ops-Footnote-11122168 +Node: Extension Samples1122442 +Node: Extension Sample File Functions1123971 +Node: Extension Sample Fnmatch1131620 +Node: Extension Sample Fork1133107 +Node: Extension Sample Inplace1134325 +Node: Extension Sample Ord1137950 +Node: Extension Sample Readdir1138786 +Ref: table-readdir-file-types1139675 +Node: Extension Sample Revout1140742 +Node: Extension Sample Rev2way1141331 +Node: Extension Sample Read write array1142071 +Node: Extension Sample Readfile1144013 +Node: Extension Sample Time1145108 +Node: Extension Sample API Tests1146860 +Node: gawkextlib1147352 +Node: Extension summary1150270 +Node: Extension Exercises1153972 +Node: Language History1155214 +Node: V7/SVR3.11156870 +Node: SVR41159022 +Node: POSIX1160456 +Node: BTL1161837 +Node: POSIX/GNU1162566 +Node: Feature History1168344 +Node: Common Extensions1184663 +Node: Ranges and Locales1185946 +Ref: Ranges and Locales-Footnote-11190562 +Ref: Ranges and Locales-Footnote-21190589 +Ref: Ranges and Locales-Footnote-31190824 +Node: Contributors1191047 +Node: History summary1197044 +Node: Installation1198424 +Node: Gawk Distribution1199368 +Node: Getting1199852 +Node: Extracting1200815 +Node: Distribution contents1202453 +Node: Unix Installation1208933 +Node: Quick Installation1209615 +Node: Shell Startup Files1212029 +Node: Additional Configuration Options1213118 +Node: Configuration Philosophy1215433 +Node: Non-Unix Installation1217802 +Node: PC Installation1218262 +Node: PC Binary Installation1219100 +Node: PC Compiling1219535 +Node: PC Using1220652 +Node: Cygwin1224205 +Node: MSYS1225429 +Node: VMS Installation1226031 +Node: VMS Compilation1226822 +Ref: VMS Compilation-Footnote-11228051 +Node: VMS Dynamic Extensions1228109 +Node: VMS Installation Details1229794 +Node: VMS Running1232047 +Node: VMS GNV1236326 +Node: VMS Old Gawk1237061 +Node: Bugs1237532 +Node: Bug address1238195 +Node: Usenet1241177 +Node: Maintainers1242181 +Node: Other Versions1243366 +Node: Installation summary1250454 +Node: Notes1251663 +Node: Compatibility Mode1252457 +Node: Additions1253239 +Node: Accessing The Source1254164 +Node: Adding Code1255601 +Node: New Ports1261820 +Node: Derived Files1266195 +Ref: Derived Files-Footnote-11271855 +Ref: Derived Files-Footnote-21271890 +Ref: Derived Files-Footnote-31272488 +Node: Future Extensions1272602 +Node: Implementation Limitations1273260 +Node: Extension Design1274470 +Node: Old Extension Problems1275614 +Ref: Old Extension Problems-Footnote-11277132 +Node: Extension New Mechanism Goals1277189 +Ref: Extension New Mechanism Goals-Footnote-11280553 +Node: Extension Other Design Decisions1280742 +Node: Extension Future Growth1282855 +Node: Notes summary1283461 +Node: Basic Concepts1284619 +Node: Basic High Level1285300 +Ref: figure-general-flow1285582 +Ref: figure-process-flow1286267 +Ref: Basic High Level-Footnote-11289568 +Node: Basic Data Typing1289753 +Node: Glossary1293081 +Node: Copying1324966 +Node: GNU Free Documentation License1362509 +Node: Index1387629 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index f9a0d747..e16b8ae3 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -12219,9 +12219,14 @@ One possibly undesirable effect of this definition of remainder is that -17 % 8 = -1 @end example +@noindent +This definition is compliant with the POSIX standard, which says that the @code{%} +operator produces results equivalent to using the standard C +@code{fmod()} function, and that function in turn works as just +described. + In other @command{awk} implementations, the signedness of the remainder may be machine-dependent. -@c FIXME !!! what does posix say? @cindex portability @subentry @code{**} operator and @cindex @code{*} (asterisk) @subentry @code{**} operator diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 30e527d5..0ec97419 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -11644,9 +11644,14 @@ One possibly undesirable effect of this definition of remainder is that -17 % 8 = -1 @end example +@noindent +This definition is compliant with the POSIX standard, which says that the @code{%} +operator produces results equivalent to using the standard C +@code{fmod()} function, and that function in turn works as just +described. + In other @command{awk} implementations, the signedness of the remainder may be machine-dependent. -@c FIXME !!! what does posix say? @cindex portability @subentry @code{**} operator and @cindex @code{*} (asterisk) @subentry @code{**} operator |