[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, master, updated. 3b23e177cd166e96c700379

From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. 3b23e177cd166e96c700379491b4a99bddf9aa4d
Date: Tue, 14 Aug 2012 19:47:44 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, master has been updated
       via  3b23e177cd166e96c700379491b4a99bddf9aa4d (commit)
      from  63aeb055437534122ddb774b7eecc261ab6e592a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit 3b23e177cd166e96c700379491b4a99bddf9aa4d
Author: Arnold D. Robbins <address@hidden>
Date:   Tue Aug 14 22:47:31 2012 +0300

    Fix math bug in the doc.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 495bead..b786eca 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-14         Arnold D. Robbins     <address@hidden>
+       * gawk.texi: Fixed a math bug in the chapter on multiple
+       precision floating point. Thanks to John Haque.
 2012-08-12         Arnold D. Robbins     <address@hidden>
        * gawk.texi: Merged discussion of numbers from Appendix C into
diff --git a/doc/ b/doc/
index c3559f3..498c766 100644
--- a/doc/
+++ b/doc/
@@ -14157,7 +14157,20 @@ operations in your calculation.  The stability and the 
accuracy of the
 computation of the constant pi in the previous example can be enhanced
 by using the following simple algebraic transformation:
-     (sqrt(x * x + 1) - 1) / x = x / (sqrt(x * x + 1) + x)
+     (sqrt(x * x + 1) - 1) / x = x / (sqrt(x * x + 1) + 1)
+After making this, change the program does converge to pi in under 30
+     $ gawk -f /tmp/pi2.awk
+     -| 3.215390309173473
+     -| 3.159659942097501
+     -| 3.146086215131436
+     -| 3.142714599645370
+     -| 3.141873049979825
+     ...
+     -| 3.141592653589797
+     -| 3.141592653589797
    There is no need to be unduly suspicious about the results from
 floating-point arithmetic. The lesson to remember is that
@@ -28842,170 +28855,170 @@ Node: POSIX Floating Point Problems575224
 Ref: POSIX Floating Point Problems-Footnote-1579049
 Node: Integer Programming579087
 Node: Floating-point Programming580835
-Node: Floating-point Representation586757
-Node: Floating-point Context587924
-Ref: table-ieee-formats588766
-Node: Rounding Mode590150
-Ref: table-rounding-modes590629
-Ref: Rounding Mode-Footnote-1593633
-Node: Gawk and MPFR593814
-Node: Arbitrary Precision Floats595055
-Ref: Arbitrary Precision Floats-Footnote-1597477
-Node: Setting Precision597788
-Node: Setting Rounding Mode600515
-Ref: table-gawk-rounding-modes600919
-Node: Floating-point Constants602116
-Node: Changing Precision603538
-Ref: Changing Precision-Footnote-1604938
-Node: Exact Arithmetic605112
-Node: Arbitrary Precision Integers608210
-Ref: Arbitrary Precision Integers-Footnote-1611292
-Node: Advanced Features611439
-Node: Nondecimal Data612962
-Node: Array Sorting614545
-Node: Controlling Array Traversal615242
-Node: Array Sorting Functions623479
-Ref: Array Sorting Functions-Footnote-1627153
-Ref: Array Sorting Functions-Footnote-2627246
-Node: Two-way I/O627440
-Ref: Two-way I/O-Footnote-1632872
-Node: TCP/IP Networking632942
-Node: Profiling635786
-Node: Library Functions643240
-Ref: Library Functions-Footnote-1646247
-Node: Library Names646418
-Ref: Library Names-Footnote-1649889
-Ref: Library Names-Footnote-2650109
-Node: General Functions650195
-Node: Strtonum Function651148
-Node: Assert Function654078
-Node: Round Function657404
-Node: Cliff Random Function658947
-Node: Ordinal Functions659963
-Ref: Ordinal Functions-Footnote-1663033
-Ref: Ordinal Functions-Footnote-2663285
-Node: Join Function663494
-Ref: Join Function-Footnote-1665265
-Node: Gettimeofday Function665465
-Node: Data File Management669180
-Node: Filetrans Function669812
-Node: Rewind Function673951
-Node: File Checking675338
-Node: Empty Files676432
-Node: Ignoring Assigns678662
-Node: Getopt Function680215
-Ref: Getopt Function-Footnote-1691519
-Node: Passwd Functions691722
-Ref: Passwd Functions-Footnote-1700697
-Node: Group Functions700785
-Node: Walking Arrays708869
-Node: Sample Programs710438
-Node: Running Examples711103
-Node: Clones711831
-Node: Cut Program713055
-Node: Egrep Program722900
-Ref: Egrep Program-Footnote-1730673
-Node: Id Program730783
-Node: Split Program734399
-Ref: Split Program-Footnote-1737918
-Node: Tee Program738046
-Node: Uniq Program740849
-Node: Wc Program748278
-Ref: Wc Program-Footnote-1752544
-Ref: Wc Program-Footnote-2752744
-Node: Miscellaneous Programs752836
-Node: Dupword Program754024
-Node: Alarm Program756055
-Node: Translate Program760804
-Ref: Translate Program-Footnote-1765191
-Ref: Translate Program-Footnote-2765419
-Node: Labels Program765553
-Ref: Labels Program-Footnote-1768924
-Node: Word Sorting769008
-Node: History Sorting772892
-Node: Extract Program774731
-Ref: Extract Program-Footnote-1782214
-Node: Simple Sed782342
-Node: Igawk Program785404
-Ref: Igawk Program-Footnote-1800561
-Ref: Igawk Program-Footnote-2800762
-Node: Anagram Program800900
-Node: Signature Program803968
-Node: Debugger805068
-Node: Debugging806020
-Node: Debugging Concepts806453
-Node: Debugging Terms808309
-Node: Awk Debugging810906
-Node: Sample Debugging Session811798
-Node: Debugger Invocation812318
-Node: Finding The Bug813647
-Node: List of Debugger Commands820135
-Node: Breakpoint Control821469
-Node: Debugger Execution Control825133
-Node: Viewing And Changing Data828493
-Node: Execution Stack831849
-Node: Debugger Info833316
-Node: Miscellaneous Debugger Commands837297
-Node: Readline Support842742
-Node: Limitations843573
-Node: Language History845825
-Node: V7/SVR3.1847337
-Node: SVR4849658
-Node: POSIX851100
-Node: BTL852108
-Node: POSIX/GNU852842
-Node: Common Extensions858133
-Node: Ranges and Locales859240
-Ref: Ranges and Locales-Footnote-1863844
-Node: Contributors864065
-Node: Installation868326
-Node: Gawk Distribution869220
-Node: Getting869704
-Node: Extracting870530
-Node: Distribution contents872222
-Node: Unix Installation877444
-Node: Quick Installation878061
-Node: Additional Configuration Options880023
-Node: Configuration Philosophy881500
-Node: Non-Unix Installation883842
-Node: PC Installation884300
-Node: PC Binary Installation885599
-Node: PC Compiling887447
-Node: PC Testing890391
-Node: PC Using891567
-Node: Cygwin895752
-Node: MSYS896752
-Node: VMS Installation897266
-Node: VMS Compilation897869
-Ref: VMS Compilation-Footnote-1898876
-Node: VMS Installation Details898934
-Node: VMS Running900569
-Node: VMS Old Gawk902176
-Node: Bugs902650
-Node: Other Versions906502
-Node: Notes911817
-Node: Compatibility Mode912509
-Node: Additions913292
-Node: Accessing The Source914104
-Node: Adding Code915529
-Node: New Ports921496
-Node: Dynamic Extensions925609
-Node: Internals927049
-Node: Plugin License935871
-Node: Loading Extensions936509
-Node: Sample Library938348
-Node: Internal File Description939038
-Node: Internal File Ops942753
-Ref: Internal File Ops-Footnote-1947495
-Node: Using Internal File Ops947635
-Node: Future Extensions950012
-Node: Basic Concepts952516
-Node: Basic High Level953197
-Ref: Basic High Level-Footnote-1957232
-Node: Basic Data Typing957417
-Node: Glossary960772
-Node: Copying985748
-Node: GNU Free Documentation License1023305
-Node: Index1048442
+Node: Floating-point Representation587060
+Node: Floating-point Context588227
+Ref: table-ieee-formats589069
+Node: Rounding Mode590453
+Ref: table-rounding-modes590932
+Ref: Rounding Mode-Footnote-1593936
+Node: Gawk and MPFR594117
+Node: Arbitrary Precision Floats595358
+Ref: Arbitrary Precision Floats-Footnote-1597780
+Node: Setting Precision598091
+Node: Setting Rounding Mode600818
+Ref: table-gawk-rounding-modes601222
+Node: Floating-point Constants602419
+Node: Changing Precision603841
+Ref: Changing Precision-Footnote-1605241
+Node: Exact Arithmetic605415
+Node: Arbitrary Precision Integers608513
+Ref: Arbitrary Precision Integers-Footnote-1611595
+Node: Advanced Features611742
+Node: Nondecimal Data613265
+Node: Array Sorting614848
+Node: Controlling Array Traversal615545
+Node: Array Sorting Functions623782
+Ref: Array Sorting Functions-Footnote-1627456
+Ref: Array Sorting Functions-Footnote-2627549
+Node: Two-way I/O627743
+Ref: Two-way I/O-Footnote-1633175
+Node: TCP/IP Networking633245
+Node: Profiling636089
+Node: Library Functions643543
+Ref: Library Functions-Footnote-1646550
+Node: Library Names646721
+Ref: Library Names-Footnote-1650192
+Ref: Library Names-Footnote-2650412
+Node: General Functions650498
+Node: Strtonum Function651451
+Node: Assert Function654381
+Node: Round Function657707
+Node: Cliff Random Function659250
+Node: Ordinal Functions660266
+Ref: Ordinal Functions-Footnote-1663336
+Ref: Ordinal Functions-Footnote-2663588
+Node: Join Function663797
+Ref: Join Function-Footnote-1665568
+Node: Gettimeofday Function665768
+Node: Data File Management669483
+Node: Filetrans Function670115
+Node: Rewind Function674254
+Node: File Checking675641
+Node: Empty Files676735
+Node: Ignoring Assigns678965
+Node: Getopt Function680518
+Ref: Getopt Function-Footnote-1691822
+Node: Passwd Functions692025
+Ref: Passwd Functions-Footnote-1701000
+Node: Group Functions701088
+Node: Walking Arrays709172
+Node: Sample Programs710741
+Node: Running Examples711406
+Node: Clones712134
+Node: Cut Program713358
+Node: Egrep Program723203
+Ref: Egrep Program-Footnote-1730976
+Node: Id Program731086
+Node: Split Program734702
+Ref: Split Program-Footnote-1738221
+Node: Tee Program738349
+Node: Uniq Program741152
+Node: Wc Program748581
+Ref: Wc Program-Footnote-1752847
+Ref: Wc Program-Footnote-2753047
+Node: Miscellaneous Programs753139
+Node: Dupword Program754327
+Node: Alarm Program756358
+Node: Translate Program761107
+Ref: Translate Program-Footnote-1765494
+Ref: Translate Program-Footnote-2765722
+Node: Labels Program765856
+Ref: Labels Program-Footnote-1769227
+Node: Word Sorting769311
+Node: History Sorting773195
+Node: Extract Program775034
+Ref: Extract Program-Footnote-1782517
+Node: Simple Sed782645
+Node: Igawk Program785707
+Ref: Igawk Program-Footnote-1800864
+Ref: Igawk Program-Footnote-2801065
+Node: Anagram Program801203
+Node: Signature Program804271
+Node: Debugger805371
+Node: Debugging806323
+Node: Debugging Concepts806756
+Node: Debugging Terms808612
+Node: Awk Debugging811209
+Node: Sample Debugging Session812101
+Node: Debugger Invocation812621
+Node: Finding The Bug813950
+Node: List of Debugger Commands820438
+Node: Breakpoint Control821772
+Node: Debugger Execution Control825436
+Node: Viewing And Changing Data828796
+Node: Execution Stack832152
+Node: Debugger Info833619
+Node: Miscellaneous Debugger Commands837600
+Node: Readline Support843045
+Node: Limitations843876
+Node: Language History846128
+Node: V7/SVR3.1847640
+Node: SVR4849961
+Node: POSIX851403
+Node: BTL852411
+Node: POSIX/GNU853145
+Node: Common Extensions858436
+Node: Ranges and Locales859543
+Ref: Ranges and Locales-Footnote-1864147
+Node: Contributors864368
+Node: Installation868629
+Node: Gawk Distribution869523
+Node: Getting870007
+Node: Extracting870833
+Node: Distribution contents872525
+Node: Unix Installation877747
+Node: Quick Installation878364
+Node: Additional Configuration Options880326
+Node: Configuration Philosophy881803
+Node: Non-Unix Installation884145
+Node: PC Installation884603
+Node: PC Binary Installation885902
+Node: PC Compiling887750
+Node: PC Testing890694
+Node: PC Using891870
+Node: Cygwin896055
+Node: MSYS897055
+Node: VMS Installation897569
+Node: VMS Compilation898172
+Ref: VMS Compilation-Footnote-1899179
+Node: VMS Installation Details899237
+Node: VMS Running900872
+Node: VMS Old Gawk902479
+Node: Bugs902953
+Node: Other Versions906805
+Node: Notes912120
+Node: Compatibility Mode912812
+Node: Additions913595
+Node: Accessing The Source914407
+Node: Adding Code915832
+Node: New Ports921799
+Node: Dynamic Extensions925912
+Node: Internals927352
+Node: Plugin License936174
+Node: Loading Extensions936812
+Node: Sample Library938651
+Node: Internal File Description939341
+Node: Internal File Ops943056
+Ref: Internal File Ops-Footnote-1947798
+Node: Using Internal File Ops947938
+Node: Future Extensions950315
+Node: Basic Concepts952819
+Node: Basic High Level953500
+Ref: Basic High Level-Footnote-1957535
+Node: Basic Data Typing957720
+Node: Glossary961075
+Node: Copying986051
+Node: GNU Free Documentation License1023608
+Node: Index1048745
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 672b6f3..40b85aa 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -18955,9 +18955,24 @@ in the previous example can be enhanced by using the 
 simple algebraic transformation:
-(sqrt(x * x + 1) - 1) / x = x / (sqrt(x * x + 1) + x)
+(sqrt(x * x + 1) - 1) / x = x / (sqrt(x * x + 1) + 1)
address@hidden example
+After making this, change the program does converge to
address@hidden in under 30 iterations:
+$ @kbd{gawk -f /tmp/pi2.awk}
address@hidden 3.215390309173473
address@hidden 3.159659942097501
address@hidden 3.146086215131436
address@hidden 3.142714599645370
address@hidden 3.141873049979825
address@hidden 3.141592653589797
address@hidden 3.141592653589797
 @end example
address@hidden FIXME: Show new program and results
 There is no need to be unduly suspicious about the results from
 floating-point arithmetic. The lesson to remember is that


Summary of changes:
 doc/ChangeLog |    5 +
 doc/ |  345 +++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi |   19 +++-
 3 files changed, 201 insertions(+), 168 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]