Commits

Carter Schonwald committed f7a7a3d
  • Participants

Comments (0)

Files changed (122)

+libqd: quad-double / double-double computation package
+------------------------------------------------------
+
+Authors
+-------
+Yozo Hida        U.C. Berkeley               <yozo@cs.berkeley.edu>
+Xiaoye S. Li     Lawrence Berkeley Natl Lab  <xiaoye@nersc.gov>
+David H. Bailey  Lawrence Berkeley Natl Lab  <dhbailey@lbl.gov>
+
+Contributors
+------------
+Yves Renard      <Yves.Renard@gmm.insa-tlse.fr>
+  - provided initial autotoolization (autoconf / automake / libool)
+E. Jason Riedy   <ejr@cs.berkeley.edu>
+  - various bug fixes and code cleanup.
+
+This work was supported by the Director, Office of Science, Division
+of Mathematical, Information, and Computational Sciences of the
+U.S. Department of Energy under contract number DE-AC03-76SF00098.
+
+Copyright (c) 2003, The Regents of the University of California,
+through Lawrence Berkeley National Laboratory (subject to receipt of
+any required approvals from U.S. Dept. of Energy) 
+
+All rights reserved. 
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are 
+met: 
+
+(1) Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer. 
+(2) Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution. 
+(3) Neither the name of Lawrence Berkeley National Laboratory,
+U.S. Dept. of Energy nor the names of its contributors may be used to
+endorse or promote products derived from this software without
+specific prior written permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+
+commit a49c5bf6b3b80e070df640765c80b3b21d1b75d8
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Jan 17 13:33:22 2008 -0800
+
+    Need to attach EXEEXT to executable names in fortran/Makefile.am.
+    
+    This was causing problems during "make demo" in Cygwin environment.
+
+commit db274af48c9a3eaa1903f0d16dfae8659f17e667
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Jan 13 00:21:04 2008 -0800
+
+    Update NEWS for 2.3.3 release.
+
+commit 78bb8150f816bd6d60c543591212c2a735d94258
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Jan 13 00:13:47 2008 -0800
+
+    Fixed bug in atan2 where wrong Newton iteration were being chosen.
+    
+    We consider two forms of Newton iteration for atan2; we decide which
+    one to use based on the magnitude of x and y.  We were not taking
+    the absolute value to figure out their relative magnitude.
+    
+    Bug reported by Lung Sheng Chien.
+
+commit 6532db5e2cfa3457d69d72492a85bcbd2b9aa0d6
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Jan 7 16:06:58 2008 -0800
+
+    Update NEWS for 2.3.2 release.
+
+commit 9e2e910e9c776cb5d99f851ed950c80180a5a113
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Jan 5 15:51:48 2008 -0800
+
+    Perform the initial trigonometric argument reduction in full precision.
+    
+    This allows argument up to about 2^106 for dd_real and 2^212 for
+    qd_real.  In the future this will be replaced with more accurate
+    version with full range.
+
+commit e64ce24b0cfed71f2584b620a01d617e8892c746
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Nov 16 17:34:41 2007 -0800
+
+    Added support for _Asm_fma/fms macros in Intel IA64 compiler.
+    
+    This gives access to fast fused multiply add and subtract,
+    but is not documented very well.
+
+commit 1374b59000be3a205983920f1be0e425b93465ad
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Dec 6 17:40:53 2007 -0800
+
+    Emphasize compiler selection in INSTALL file.
+
+commit 6a801455007dd761fde7c8aab6bf99fcf10c7600
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Dec 6 17:26:01 2007 -0800
+
+    Added a C test case.
+
+commit 317c5385bffa0ad3964fe1f78f61545cc50080ea
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Dec 6 17:21:36 2007 -0800
+
+    Include qd/fpu.h from c_dd.h.
+    
+    This alleviate the user to include qd/fpu.h directly.
+
+commit d11d86f8a86ca8427cd42364056dc0b0f8cd90b5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Dec 6 17:01:35 2007 -0800
+
+    Output _ndigits digits for c_dd_write and c_qd_write.
+    
+    Previously it relied on the default numbers of digits of std::cout,
+    which is set to 6 by default.
+
+commit 8fec8450de5d74365e6019a54f6d76578a48c07a
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Dec 6 13:19:28 2007 -0800
+
+    Install qdext.mod during make install.
+    
+    $(QDEXT) was missing from pkglib_DATA in fortran/Makefile.am.
+    Bug reported and fixed by Charles M. Coldwell.
+
+commit 3d2517598ba5721e0569ef43ea30dea92adbef35
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Nov 24 19:26:38 2007 -0800
+
+    Update NEWS for 2.3.1.
+
+commit 0e1f76ece97e82465bf7e153c351f8e6c36717ea
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Nov 24 19:24:19 2007 -0800
+
+    strncpy is in std namespace.
+
+commit bcf48bb133a06a2f356520f0112c535e1cd7bdf5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Nov 24 16:40:10 2007 -0800
+
+    Fix bug in qd_real cos_taylor function.
+    
+    The index into inverse factorial table should start at 1 (instead of 0)
+    for cosine.  This was causing error after third term in the Taylor series
+    of the cosine function.
+    
+    This bug does not affect the dd_real version.
+
+commit a51ac61a6c4d3cc45178014e1064cd9b70c0ade3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Nov 16 17:40:40 2007 -0800
+
+    Removed extra spaces around = sign in configure.ac.
+
+commit ee93cbc83bb55b4b5a77dd49f6ec032ce899c086
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Nov 24 13:55:37 2007 -0800
+
+    Fix bug in qd_real sincos routine.
+    
+    Wrong results were being returned for angles near multiples
+    of pi/2.  The problem was that we forgot to permute sin/cos
+    and the signs based on j when the reduction by pi/1024 gave
+    k = 0.
+    
+    This bug was giving bogus values for tan (and others).
+    
+    The dd_real version is not affected.
+
+commit d72c0ed97fde44cfbe03c0867509e6a358aedcee
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 15 13:46:09 2007 -0700
+
+    Update NEWS a bit.
+
+commit fb3b36b02fc7689fb26fb0b15f2fd740a0847ade
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 15 12:13:48 2007 -0700
+
+    Added pgCC to the list of C++ compilers.
+
+commit b245c608bce8abf8f94395406951f4c0a945c597
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Oct 14 23:41:12 2007 -0700
+
+    Include <algorithm> for std::max in tests/qd_test.cpp.
+
+commit 044f4bbb40a65fb3597aa1ccb400b8094f645384
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Oct 6 14:14:31 2007 -0700
+
+    Update config.guess and config.sub from latest one.
+
+commit 563d6a96802b7313a1cb0318cc4810dde3d2b8db
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Oct 6 14:05:31 2007 -0700
+
+    Use g++ and gfortran by default during make-dist.sh.
+
+commit f9f367d2b2d8795d88e232ef9875c6a415f43792
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Oct 6 14:00:38 2007 -0700
+
+    Update config scripts to that from automake-1.10.
+
+commit 275c366748b43cb3f5cf544c773a3f83ba463858
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Oct 14 23:06:13 2007 -0700
+
+    Use type specific intrisics for abs and aint.
+    
+    For some reason pgf95 compiler does not like abs and aint
+    declared as intrinsics; instead use dabs, iabs, and dint.
+
+commit 6241ab69067e48936473327bdc1b38b60326ff22
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Oct 14 23:01:35 2007 -0700
+
+    Use volatile short for control word declaration in fpu.cpp.
+    
+    PGI C++ complains about it.
+
+commit cea4ab591687268953967023df6b0874fb0de507
+Merge: 7a519cb... a49ed19...
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 1 22:30:02 2007 -0700
+
+    Merge branch 'master' into dev
+    
+    Conflicts:
+    
+    	NEWS
+
+commit a49ed19960e72503b810d58b2eef327c8d7b5879
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu May 31 01:24:00 2007 -0700
+
+    Update NEWS for 2.2.6 release.
+
+commit 7a519cb4763b5b42e3e692da3f366ca1e7e49fea
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed May 30 18:38:45 2007 -0700
+
+    Added work around for gcc-4.1.x miscompilation on x86_64.
+    
+    For some reason gcc-4.1.x on x86_64 linux miscompiles the
+    expression "p *= exp(t)" in a loop.  Instead use "p = p * exp(t)".
+
+commit b4070e41d0e76443f68d192586f5af757695cf5f
+Author: Philippe GHESQUIERE <philippe.ghesquiere@eads.com>
+Date:   Wed May 30 17:43:54 2007 -0700
+
+    Fix bug in qd_real * dd_real code.
+    
+    Final result is in [p0..p3], not [q0..q3].
+
+commit 02bfeb22cd9351400318364810cd8944a857db22
+Author: Philippe GHESQUIERE <philippe.ghesquiere@eads.com>
+Date:   Wed May 30 17:43:54 2007 -0700
+
+    Fix bug in qd_real * dd_real code.
+    
+    Final result is in [p0..p3], not [q0..q3].
+
+commit ca454d4fcefbe457925850a6517aad5c6c13d817
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri May 25 18:01:00 2007 -0700
+
+    Added --fmainlib to the qd-config usage output.
+
+commit 03bcb44885262892069ab64f6316dc7a0d83abe6
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri May 18 21:35:11 2007 -0700
+
+    Added rule to make docs/qd.pdf in toplevel Makefile.
+
+commit fd8aa35e157e205363c5b8e9956c9d6a912dd20d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Apr 27 16:37:30 2007 -0700
+
+    Use mul_pwr2 when multiplying by 0.5 in qd_real sqrt.
+    
+    This minor changes results in 8-9% increase on P4.
+
+commit 400219c4bc279d6165c2080c3c321511f0b189ee
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Apr 26 16:41:57 2007 -0700
+
+    Autoheader needs to run before automake in config/autogen.sh.
+
+commit 246c90f01e26dedab1a1dbe1f66aaa2babb1de17
+Author: didier deshommes <dfdeshom@gmail.com>
+Date:   Fri Apr 27 01:52:08 2007 -0700
+
+    Add better infinity support for qd_real.
+    
+    Didier's patch modified to
+    
+      - QD_ISINF is used instead of isinf.
+      - No need to include <limits> in qd_real.cpp.
+      - Infinity is printed with sign if appropriate,
+      - Inf/nan is printed correctly with field widths (inf/nan case need
+        to fall through to near the end of to_string routine).
+
+commit 9a869f3c442b2d7d5b58aee38eca392a59c5ad09
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Apr 26 16:41:57 2007 -0700
+
+    Autoheader needs to run before automake in config/autogen.sh.
+
+commit 0266d2a806cf9f057cf479fe4a19862b64d3f6fd
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Apr 26 13:12:15 2007 -0700
+
+    Updated NEWS for (future) 2.3.0 release.
+
+commit 1c95e3b65c45077fc7621f09931b2a6387b6aefb
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 02:01:18 2007 -0700
+
+    Optimize qd_real sin / cos functions.
+
+commit 87c0283ecbdc5809a78350ae2b7e33b92bbadcc7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 01:33:53 2007 -0700
+
+    Use std::floor instead of just floor in approximate argument reduction in exp function.
+
+commit d00200e595337635e224d548e8ecba1fbb1a2a2a
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 01:32:32 2007 -0700
+
+    Optimize dd_real sin / cos even more by using approximate argument reduction.
+    
+    When reducing by 2*pi, pi/2, and pi/16, we can compute the quotient in
+    double-precision accuracy, since the convergence of the Taylor series is
+    not significantly affected by slightly larger argument.
+
+commit b68dec5a47c628c2a331749df5a42bb732198b67
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 01:14:32 2007 -0700
+
+    Clean up dd_real sin / cos.
+
+commit 184d1298bd67299f39f80fe9f0a2394e17681594
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 01:06:17 2007 -0700
+
+    Expand the domain of sin / cos timing tests.
+    
+    Now the timing tests of sin / cos includes domain outside
+    of range [-pi, pi].
+
+commit 592092cfe4c92e3fd718003b9af87bae9f2cc4a3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 01:03:45 2007 -0700
+
+    Add timing test for cos function.
+
+commit ca3e9f5ce05cd6043199b3d381a62f4807952bb6
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 00:50:25 2007 -0700
+
+    Fix unused variable warning in dd_real.cpp.
+
+commit 94e15b245fdb571cf87155fa8d96e9abbd71eabb
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 25 00:01:49 2007 -0700
+
+    Removed constants used internally for trig functions from public interface.
+    
+    Instead declare them as local static variables in dd_real.cpp and
+    qd_real.cpp.  Also removed _pi8, _pi16, and _pi1024 from public
+    interface.
+
+commit b1ff7c35977c04009f930e8a9506e9481dc04908
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Apr 24 19:17:49 2007 -0700
+
+    Speed up Taylor series for sin / cos routines.
+    
+    Use a precomputed table of 1/n!.
+
+commit 9b79ed48e85045283aaf6f9b936a67853e5c3dd3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Apr 24 18:17:09 2007 -0700
+
+    Use static_cast<int> when using ldexp with double as second argument.
+
+commit c70d199102fff0818e627aa411ef8a8f2ac47efd
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 22 01:54:00 2007 -0700
+
+    Added sanity check to sin/cos.
+
+commit cd8aba7df649142edc4ffa95fbb71731e3074a79
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 22 01:30:44 2007 -0700
+
+    Make exp use a precomputed table of inverse factorials.
+    
+    This makes it 10-30% faster.
+
+commit b43d047f25109c18620c35748024798907541e85
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 21 03:58:51 2007 -0700
+
+    Make exp function more accurate and efficient.
+    
+    Adjust k values for maximum performance.  Integer m only needs to
+    be determined approximately, so just use double precision arithmetic.
+    Use mul_pwr2 and ldexp where appropriate.  Don't add 1 to the result
+    until the end to preserve accuracy during repeated squaring.
+    
+    These changes result in accuracy increase by an order of magnitude,
+    and about 20-30% increase in performance on Core 2 Duo.
+    
+    Update qd_test for more stringent accuracy test.
+    
+    In the future this should be replaced with minimax polynomial
+    approximation or maybe Pade approximants.
+
+commit c97137767f26478a1c6c11e0d3661a6a1c4c70b1
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 21 01:02:36 2007 -0700
+
+    Added sanity check for exp() function.
+
+commit ac265ed9a15e2cdbb35eb98a2f9d609cc16d42df
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 21 00:29:55 2007 -0700
+
+    Added timing tests for exp() function.
+
+commit 89b8fa66c5c9e4e6d06c48410e55a5ca7b6616b3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Apr 20 23:58:46 2007 -0700
+
+    Renamed generic interface read and write to read_scalar and write_scalar.
+    
+    This avoids confusion with builtin read / write statements, and gets
+    around a gfortran-4.1.x parser bug (seemed to be fixed in gfortran-4.2).
+    Perhaps in the future I may come up with a better name...
+
+commit 7d904cedd2d24d1766a21ba3f70d19397a5567aa
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 14 12:55:15 2007 -0700
+
+    Added read and write interface to Fortran 95.
+    
+    Apparently we can provide a generic interface "read" and "write" and not
+    conflict with read and write statement.  I'm not quite sure if this is
+    a good idea, but does provide with a generic name to call I/O functions:
+    read can be called to read dd_real, dd_complex, qd_real, and qd_complex.
+
+commit 67cbadf96262e8d9a34d9d44a6f212721037f6c1
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 14 11:55:58 2007 -0700
+
+    Added assignment of integer to complex types.
+
+commit c55bc793c131716ce6d15698bec5602a40c9aff9
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 14 11:40:32 2007 -0700
+
+    Added {dd,qd}_complex * integer support in Fortran interface.
+
+commit 5a9031921cbda8edd9e44216bfee834fc80b9d68
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 14 00:39:20 2007 -0700
+
+    Make ddcomplex accept pair of ddreals.
+    
+    Same changes for qdcomplex.
+
+commit d18b458aa91cb2094c6863a3aefc714d3a523432
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 14 00:07:28 2007 -0700
+
+    real(dd_complex) should return dd_real.
+    
+    Same for qd_real type.
+
+commit 99d74b6ab0c03f20bbf0b1e793add32405b289bc
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Apr 13 22:56:23 2007 -0700
+
+    Added aimag to fortran interface.
+    
+    This returns the imaginary part of a complex double-double or quad-double.
+
+commit 371d3ccc7c6f472bd3d5194432065ca1c0c01a11
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Apr 11 01:24:34 2007 -0700
+
+    Added E. Jason Riedy as a contributor.
+
+commit fec2c8dbdffbb40f13ce7a8a8b5150674f1c362a
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 8 23:36:43 2007 -0700
+
+    Added note on compiler optimization in INSTALL file.
+
+commit 3f7bd6a452538a49a0b48a983eaad68dce4151c7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 8 23:27:25 2007 -0700
+
+    Removed note about cygwin in INSTALL file.
+    
+    Case insensitivity is no longer much a problem since
+    there is a specialized compiler search order on cygwin systems.
+
+commit aa4260321d14b97e2750d314d9a89576ca3c4ae0
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 8 23:25:57 2007 -0700
+
+    Fix example in INSTALL: Intel C++ compiler is icpc, not icc.
+
+commit ab230d50cb15f8414388943fc2f007ede4b756af
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 8 23:08:12 2007 -0700
+
+    Fix fortran/f_dd.cpp; double-double is now represented as an array.
+    
+    Commit 73115461 forgot to update this file.
+
+commit 05bef975a9488091aa43a03549cea3fdd0b35055
+Author: Jason Riedy <ejr@EECS.Berkeley.EDU>
+Date:   Sun Apr 8 14:52:29 2007 -0700
+
+    Use Fortran array slices liberally.
+    
+    There may be a future problem lurking here...  Array slices
+    may be passed by descriptor and not use sequence association.
+    That would be incredibly dumb in these cases.
+    
+    If it *does* occur, the routines in qdext.f and ddext.f should
+    be changed to take implicitly-sized arrays (b(*) rather than b(4)).
+    
+    Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
+
+commit 18d6320faa001bca6237efedfbc6b1118368ceda
+Author: Jason Riedy <ejr@EECS.Berkeley.EDU>
+Date:   Sun Apr 8 14:49:16 2007 -0700
+
+    Replace loop with ISHFT in pwr_{q,d}dc_i.
+    
+    More efficient and more clear.
+    
+    Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
+
+commit 30c9162908875e80ba94259645aabcd118e4c052
+Author: Jason Riedy <ejr@EECS.Berkeley.EDU>
+Date:   Sun Apr 8 14:48:44 2007 -0700
+
+    Continue elemental-izing functions.
+    
+    Note: The WRITEs in pwr_qdc_i and pwr_ddc_i are commented out.
+    
+    Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
+
+commit 98c6ea2b52a8e0f75efe14f69f6171eef6c5107e
+Author: Jason Riedy <ejr@EECS.Berkeley.EDU>
+Date:   Sun Apr 8 14:48:22 2007 -0700
+
+    Fix prototypes in qdext.f; qd has 4 elements.
+    
+    Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
+
+commit e2fee77d5382a1fb93fd66cc353e0fe36b25f7c1
+Author: Jason Riedy <ejr@EECS.Berkeley.EDU>
+Date:   Sun Apr 8 14:48:00 2007 -0700
+
+    Negate all of a quad-double, not just first two pieces.
+    
+    Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
+
+commit 49731aa90269a4bb5e505c46150f54e57aec2406
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 8 03:36:14 2007 -0700
+
+    Make dd_real multiplication commutative.
+
+commit 73115461d449585eff07259d2d166fde937a68ca
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 8 00:47:08 2007 -0700
+
+    Change internal representabion of dd_real to array of two doubles.
+    
+    This makes it more consistent with qd_real and future extensions.
+
+commit 77a8fa5f7f384e2243945f956ede2657225b0ba7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Apr 8 00:20:08 2007 -0700
+
+    Make addition for dd_real commutative.
+
+commit 0c7d86ae1719275b4286c32c8946dcc246bfb354
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 7 23:51:48 2007 -0700
+
+    Time dot-like function a = a*b + c.
+
+commit 3768f72461727109c6dbcd993f566ed39a022a93
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 7 23:51:17 2007 -0700
+
+    Multiply the number of iterations of qd_timer for each -long flag.
+
+commit 94ecba6986c8c164766293f0ad704f2076b5524a
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 7 23:23:31 2007 -0700
+
+    Perform multiple ops in a loop to measure time.
+    
+    Do four independent add / mul / div / sqrt inside the
+    loop to better measure the time.
+
+commit e5afcd6bb2402b896863f5327b7367f9f9b85032
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 7 23:11:50 2007 -0700
+
+    Print out result in timing sin in qd_timer.
+    
+    Compiler optimization removed the loop when the result was unused.
+
+commit 93728d52287245b4883b8b55514904b3deb58095
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 7 23:09:34 2007 -0700
+
+    Print out mop/s (million of operations per second) in qd_timer.
+
+commit 5346abb51d14cf85eb84a18df39a87e7df2f18d9
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Apr 7 23:06:43 2007 -0700
+
+    Don't bother saving format flags in qd_timer routines.
+
+commit 3b907888ba16b3afd1bb2efdea5d3f20095875f1
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 04:50:09 2007 -0700
+
+    Update comments in tests/huge.cpp.
+
+commit dd99599f98266b28b59cbf3201f3b337adb87a21
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 04:33:36 2007 -0700
+
+    Bump minor version number to 3.
+
+commit 851f42da0dfa613a9f87876bc68dc5f27fa40518
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 04:19:59 2007 -0700
+
+    Update tests/huge.cpp for write ==> to_string API change.
+
+commit 6596a171c846f50cf66893ccd3a1c66b361ed409
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 04:15:29 2007 -0700
+
+    Update ddext.f and qdext.f for API change in swrite.
+
+commit ae12ec0bcac828ae5ee18daea40af281b8571375
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 04:44:28 2007 -0700
+
+    Write to C string is now a wrapper to to_string method.
+
+commit e86abad81472bd0d097c7e6e0a0eabc4b0fe23b8
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 01:52:09 2007 -0700
+
+    Renamed abort() to error().
+    
+    It does not abort, but it just prints out a error message.
+
+commit 740c4ec41c2effb0d8481a8e42afcb0eb03fe10c
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 01:43:05 2007 -0700
+
+    Make f_xx_swrite more flexible.
+    
+    f_xx_swrite, called by the Fortran interface is not able
+    to accept precision and character array length.
+
+commit 72b8b527d880b332ded64283cebf779102a47c33
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 21 19:06:21 2007 -0700
+
+    Renamed write to to_string for outputting to std::string.
+
+commit e7964b65b662bcf1fd4cc9bb9661b2fd2e33a9ee
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 11:57:20 2007 -0700
+
+    Make T::write take one fmtflags instead of float_field and adjust_field.
+
+commit 0c04258f79ed6fd1aa040484088996da5caffc0d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 03:57:29 2007 -0700
+
+    Declare Fortran subroutines/functions as pure/elemental where appropriate.
+    
+    This allows more Fortran 95 constructs such as matrix operations
+    and forall loops to be used with dd_real / qd_real types.
+
+commit 82486db011094e649c120923f740b656ba7c3c19
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 03:01:20 2007 -0700
+
+    Removed redundant routines in Fortran interface.
+    
+    These include copy routines, d+dd and d+qd additions and
+    multiplications (which can be done with dd+d and qd+d routines),
+    and cossin functions.
+
+commit 645a2b7a279342aa5fb8105213751030dbd7eb4d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 02:53:41 2007 -0700
+
+    Declare most routines in ddext.f and qdext.f as pure.
+
+commit dc7272c6cb09dfefbda3810cef90175f98e93419
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 27 18:01:32 2007 -0700
+
+    Added C++-to-Fortran glue to fortran/{dd/qd}ext.f.
+    
+    This allows some static error checking when compiling ddmod.f
+    and qdmod.f.  Fixed bunch of type errors when calling f_dd_*
+    and f_qd_* routines.
+
+commit d9ac4a4d562a3d6dd5cbc32897595320aa48099a
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Mar 25 04:37:47 2007 -0700
+
+    Fix comments in qd_real.h and dd_const.cpp.
+
+commit c3fabe6a9914ad15c09bafa5740729c7cda2b3d6
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Mar 25 01:35:05 2007 -0700
+
+    Make constructors accepting double pointer explicit.
+
+commit a2316077e044772d671b89b934b83db3d1b80ead
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Mar 25 00:39:49 2007 -0700
+
+    Make everything public in qd_real and dd_real types.
+
+commit ca5cab51a1799aec85c92a75d1cb8ac69be062a0
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 24 10:25:21 2007 -0700
+
+    Update qd-config.in and fortran/Makefile.sample for qd_f_main.
+
+commit 5938ae808308a626ac07b80b915d262baeec00fc
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 24 01:37:18 2007 -0700
+
+    Split f_main from libqdmod.a, put it in libqd_f_main.a.
+
+commit f4dbe72c58c5e59a8b6dc0ab0fda64707ec2b656
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 28 11:54:10 2007 -0700
+
+    Include <cstdlib> in where necessary in tests / demo programs.
+
+commit cea1f55118646ba9a9701d318bf55b3b67059774
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 27 17:19:39 2007 -0700
+
+    Update fortran/tquadtsq2d.f, added fortran/tquadgsq2d.f demo programs.
+
+commit b8dd81c8fc657ecf54e0a9a54c6c01663bfbc1e7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 27 13:12:58 2007 -0700
+
+    Removed unused variable in tests/huge.cpp.
+
+commit d4c89c78721867ad9a6ca19167a94394f61b717d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 27 13:11:56 2007 -0700
+
+    Restore stream precision / flags when exiting print_double_info.
+
+commit 5aa61b0f03a7c9d1e9a88741c916ef764c5ec6eb
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 27 12:40:45 2007 -0700
+
+    More robust check for clock_gettime.
+    
+    It checks to see if we can compile a simple program using clock_gettime.
+    On some systems, we can detect clock_gettime in libraries but the
+    compiler cannot use it for some reason.
+
+commit 9c4e9c37fcbae713ecd0b1a3d00754468c974014
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 14:55:31 2007 -0700
+
+    Automake expects ChangeLog to be there, so create it first in autogen.sh.
+
+commit 2a5b8132afdd0a045145d5fa94033d5b58aa1075
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 26 02:25:38 2007 -0700
+
+    Do not write to input parameter in pwr_{dd,qd}c_i.
+    
+    In the Fortran routien pwr_ddc_i and pwr_qdc_i, we were writing NaN
+    (when 0^0 is requrested) to the input parameter a instead to the result.
+
+commit 32e9bfc1945c3d0fdfea6a4905c4c7db6a6bb545
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 24 00:50:14 2007 -0700
+
+    Call autotools in correct order in config/autogen.sh.
+
+commit f64ddddf61c0e77620048b79ddc347656ac4d6bc
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 24 00:23:52 2007 -0700
+
+    Make MinGW system look for same compilers as in cygwin.
+
+commit 1d2fdae00a5df2ea8e6c1de3a6502bd088a9e667
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 24 00:09:59 2007 -0700
+
+    Prune out some obsolete C++ compilers from search list.
+    
+    These include old icc/ecc compilers (modern Intel uses icpc
+    as their C++ compiler), and several compilers on Apple platforms.
+
+commit a25c2d2d156ca8ec0adcc377a80d2f899134af56
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Mar 23 23:50:06 2007 -0700
+
+    Remove cl from C++ compiler search list.
+    
+    As far as I know cl refers to the MSVC++ cl.exe compiler,
+    and I don't think autoconf/automake stuff works with command-line
+    Microsoft compilers.
+
+commit f384bfb3cf92cccaf4834961ad59be1345713a10
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Mar 23 23:21:04 2007 -0700
+
+    Return NaN instead of stopping the program when 0^0 is encountered.
+    
+    This applies to the complex exponentiation in Fortran.
+
+commit ade1c71668c3f4daed7df6511bb8f0f408f1eaf6
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Mar 23 23:14:24 2007 -0700
+
+    Added nan generic function to the Fortran interface.
+    
+    This calls f_dd_nan or f_qd_nan to get NaN values.
+    Simple printout of NaN added to f_test.
+
+commit cd21d1998ad9523c7cc2d41a31eee1c7c96f375d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 19:28:09 2007 -0700
+
+    Update NEWS for 2.2.5 release (again).
+
+commit bb3e13c67a20656cbef6c7d879658d0b234fe6f1
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 19:09:53 2007 -0700
+
+    Fix div_{dd,qd}c_d in Fortran interface.
+    
+    We cannot just divide each component of a dd_real by a
+    double precision number to get the result of the division.
+
+commit 144a6228b7ea420085e5a7f06832cebe9842dea5
+Author: David H Bailey <dhbailey@lbl.gov>
+Date:   Thu Mar 22 18:59:14 2007 -0700
+
+    Added Fortran interface for mixed complex / double precision arithmetic.
+    
+    This includes mix of dd_complex and double, and qd_complex and double.
+
+commit cf76a920d276f79a122325fb0bc1a3592b5b5506
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 15:03:47 2007 -0700
+
+    Fix alignment in the verbose output of qd_test.
+
+commit 6a1a3f078a28813988ecd877cd69e5bb81b29366
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 14:37:35 2007 -0700
+
+    Update NEWS for 2.2.5 release.
+
+commit 7d2c9b90f44acd32c3854a25ff43dd7e29d22eef
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 04:21:36 2007 -0700
+
+    Include cstdlib instead of stdlib.h in fortran/main.cpp.
+
+commit 504f46aeb75edbfa6bce51dd000900640baa8ab2
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 04:03:36 2007 -0700
+
+    Correctly detect when we cannot find a Fortran module inclusion flag.
+
+commit e54cf50ca3ecffd6949b454c294ef883cd71e2e5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 04:01:29 2007 -0700
+
+    Moved Fortran test f_test to tests directory.
+
+commit 58b8e6e59d5414a27632e49250ef056e5c414a12
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 03:37:57 2007 -0700
+
+    Moved Fortran wrappers f_xx.cpp into fortran directory.
+
+commit fc0964a8047481b7f8cf19bc3288648543fc5567
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 03:25:36 2007 -0700
+
+    Printing NaN should follow format options as well.
+    
+    Previously NaNs were always printed out as "nan" or "NAN".
+    Not it honors various format optons passed to to_string
+    method.
+
+commit 9f28633b15133c2437706004d9249f3b4f634f24
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 03:13:25 2007 -0700
+
+    Check for infinity when printing numbers.
+
+commit 0a72a5a3c9f4abd5c6bd62dbbbcfb8b37fd96e4c
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 12:45:09 2007 -0700
+
+    Return NaN under error conditions instead of zero.
+
+commit baafad498dda838321773ba4f4ea61f8b46844b7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 12:42:50 2007 -0700
+
+    Exp now returns inf if the argument is too large.
+
+commit e4f3fff2eb18f0926b1ef1f1a0e710210e208778
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 02:06:25 2007 -0700
+
+    Added _inf constant, representing infinity.
+
+commit 6efb5ff5be6e3db403e7c473aca53dd83cc55e16
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Mar 22 05:31:01 2007 -0700
+
+    Return nan if error is detected in assignment from strings.
+
+commit 7365abc771d8d5bfaff5147f4d9b71f46141ba47
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 21 18:49:50 2007 -0700
+
+    Added qd_real member access returning a reference.
+    
+    This makes possible, to assign numbers to each component.
+    This is intended for debugging purposes.
+
+commit ba503495d28d8696ed0359c4c8f0388bf03a79c5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 11:06:17 2007 -0700
+
+    Use newer write() function for Fortran string output.
+
+commit c291d9cb910886a09ec177d6814870335a2dd30b
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 21 18:50:07 2007 -0700
+
+    Fix spelling error in NEWS.
+
+commit ec4acfb4c3e9e4af363e7c44fbc47597a6b212a0
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 03:03:52 2007 -0700
+
+    Removed support for Fortran strings.
+    
+    These were not mainttained and probably no longer works.
+    Instead we use array of characters, which is slightly
+    more portable.
+
+commit 600391d1ad77b260515544e8f37a008597bf2cf3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 02:53:43 2007 -0700
+
+    Revamp debugging dump routines.
+    
+      - Removed dump_components(), it now does the same thing as dump().
+      - Accept optional variable name.
+      - Accept output stream to dump information; defaults to cerr.
+
+commit 06a436a82ce40e6936f08615a808cdc22a8077e7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 21 16:07:21 2007 -0700
+
+    Allow fortran/dd_timer.f and qd_timer.f to be generated without Fortran.
+    
+    These are required in the distribution (and does not require a Fortran
+    compiler), so able to generate these without a Fortran compiler.
+
+commit cd7add6a8569bb69a4455b899bf00d5fa751b903
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 21 13:43:50 2007 -0700
+
+    Fix bug in quick_three_accum where both a and b becomes zero.
+    
+    When the sum is representable in a single double, it was
+    returning it in b instead of a.  This was affecting build
+    with --enable-ieee-add option.
+    
+    Bug reported by Jean-Francois Paillard.
+
+commit 76406e421843c7956bd12e5db44d3ef0e7f4a02b
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 21 11:04:50 2007 -0700
+
+    Do not compile f_{dd,qd}.cpp without fortran support.
+
+commit 4782048dc725fd559f225bd8fa469e029251a9f7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 20 20:49:46 2007 -0700
+
+    Remove huge from list check_PROGRAMS for now.
+    
+    This is removed from standard "make check" until it is more
+    stable.  On some platforms the rounding seems to be different
+    for some reason, causing it to spuriously fail.
+
+commit 7e2b8c2d2dcba2db72e5d1c0561f937311502257
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 20 20:48:22 2007 -0700
+
+    Update NEWS for 2.2.4 release (again).
+
+commit 9ff63a87fa4a012b01522962dd8bea319e84e2e5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 00:29:17 2007 -0700
+
+    Fix indentation issues in fortran/qdmod.f and fortran/ddmod.f.
+
+commit 0ae13f30184b4f1ff411db5a8d2660a65dc66a8f
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 00:23:34 2007 -0700
+
+    Added safe_huge interface to Fortran interfaces.
+    
+    These returns the maximum number that is safe to use in
+    arithmetic operations.
+
+commit 07d05fafd961e35dc1938a2c9db2c244ce4a456a
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Mar 16 07:59:54 2007 -0700
+
+    Added safe_max constant.
+    
+    This is a maximum value where normal arithmetic operation
+    can be done on (e.g., multiplication, sqrt).  This is slightly
+    smaller than the true max, and is approximately
+    2^1024 * (1 - 2^-26), chosen so that split operation does not
+    overflow.
+
+commit 59c46215255952e3bd4a1984a6d69e50b119b8ba
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 05:48:52 2007 -0800
+
+    Undef min/max for those compilers that likes to define them as macros.
+    
+    Macros max/min breaks definition of std::numeric_limits<>::max() and min().
+
+commit e4dda14bb85af17304704f3d68926d9efda1ab03
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Mar 17 05:47:42 2007 -0800
+
+    Definition of tic() and toc() should be outside of _WIN ifdefs.
+
+commit a3b03003b3a057fbd6d93d3eebf8c3f844294603
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 13 01:04:15 2007 -0700
+
+    Added range and precision interface to Fortran modules.
+
+commit a9fa3a4492dd2d50105baf32d526a8dab9704782
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 13 00:57:16 2007 -0700
+
+    Added min/maxexponent interface to Fortran modules.
+
+commit 2a05f959630c223a508188dfb2f1cc19157eb887
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 13 00:30:08 2007 -0700
+
+    Added output tests for _max.
+
+commit f4f49a221d5e86e4a1efe8c49f34d783c4009b26
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Mar 13 00:18:46 2007 -0700
+
+    Add special case in write() for huge numbers.
+    
+    This enables numers up to _max to be printed.
+
+commit cf248c58ec73ca13efb0968c97a03321950ab8e5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 23:53:35 2007 -0700
+
+    Small cleanup in to_digits.
+
+commit 73d360654e8d9b78dbcd7e029e98079aeb349559
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 23:10:55 2007 -0700
+
+    Added huge number output test.
+
+commit 7028c27623a84cff87372408a93a8a3714f38e3e
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 20:01:19 2007 -0700
+
+    Make split() work near overflow threshold.
+    
+    If argumen to split() is near overflow, scale by 2^28 to
+    avoid overflow.
+
+commit c1f2e596d88aeffc2a06369e80399d523c2cad9d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 18:47:36 2007 -0700
+
+    Added numeric_limits::max function.
+
+commit 5de86a341ff4ce1ffc4f0db32310d47544378c24
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 17:32:01 2007 -0700
+
+    Added interface to radix and digits Fortran intrinsics.
+
+commit 0d523aa17e04c8e1a45c86f0d716891ecd68c912
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 16:56:25 2007 -0700
+
+    Use slightly more conservative values for eps.
+    
+    Use 2^-104 for dd_real ,and 2^-209 for qd_real.
+
+commit fbba393db6eaadf0a45a0adc999d949360cf5a2b
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 15:21:19 2007 -0700
+
+    String constants should be assigned to "const char*".
+
+commit f9979ef996d7e8ac6f3d1e3ec808a1217a65e54f
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 12:13:31 2007 -0700
+
+    Update NEWS for 2.2.4 release.
+
+commit 99a1af3e3d31ef0bd407ccaf01cbe6a96430d46e
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 11:55:38 2007 -0700
+
+    Use "cp -pr" instead of "cp -a" in config/makedist.sh.
+    
+    BSD cp does not have the -a flag.
+
+commit c68065253fd1f84c5ad896eb21fcc7a354a1294f
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Mar 12 11:39:23 2007 -0700
+
+    Provide implement random_number interface in Fortran modules.
+    
+    Random number routines is now a subroutine instead of a function
+    to be compatible with random_number Fortran instrinsics, and to
+    be able to distinguish by type.
+
+commit b544f0ba337c2fc8ef604ebea6ed2a9e357cd114
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Mar 11 17:14:56 2007 -0700
+
+    Remove RCC from list of compilers on Apple systems.
+    
+    Due to case insensitive file systems it gets confused with rcc,
+    the Qt resource compiler.
+
+commit 7b79931b013e2ba744d405e689ce75fff8b5ced4
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 7 21:25:42 2007 -0800
+
+    Update NEWS file for 2.2.3 release.
+
+commit 17ea136f440016f3f6b88f9933ffcd17cf1c48e9
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Mar 7 03:31:55 2007 -0800
+
+    Fix sign function in Fortran modules.
+    
+    When copying signs we cannot just take absolute values of all the
+    components since they can have different signs.
+
+commit fbacb1f1cb0c2e6df28742f32b90a0d247385bef
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Feb 21 05:52:10 2007 -0800
+
+    Include fpu.h in dd_real.h.
+    
+    This way users does not have to explicitly include fpu.h.
+    On the other hand, this can cause symbol conflicts.
+
+commit 95ae0708e433ae211cb6ba4314ee16d914b6510b
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Feb 17 08:19:31 2007 -0800
+
+    Add note about --prefix option in INSTALL.
+
+commit aabe3e9f23604949b26301316dc5e57ac32e84b5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Feb 17 08:15:52 2007 -0800
+
+    Add fortran/Makefile.sample to the distribution.
+
+commit 6408de131eae81dbbeb66e08f39ec5480c424ece
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Feb 15 16:11:28 2007 -0800
+
+    Make ddoutc and qdoutc use f_dd_swrite and f_qd_swrite.
+    
+    Modified f_dd_swrite and f_qd_swrite to output identical string
+    as was in Fortran.  Some post processing is necessary after call
+    to write(...).
+
+commit d0fbbef3998292f66abe16a2f0de67c35406bedf
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Feb 15 15:55:31 2007 -0800
+
+    Output to string (f_dd_swrite) should be limited to 40 chars.
+
+commit f102a8325d9f252cf9dac5ea388d27edebfc0236
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 18:27:06 2007 -0800
+
+    Add -long option to qd_timer.
+    
+    This increases the timing loop by factor of 10.
+
+commit 0695abb6df9055857566aeb921b9419cedd40eba
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 18:21:30 2007 -0800
+
+    Get rid of unused base_n variable in qd_timer.
+
+commit 38dc778fbd54ce57b52260c3eb97c48f82103892
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 05:04:11 2007 -0800
+
+    Fix timing of sin.
+
+commit aff516c6ac459987ea817ef37446327d180e4d2b
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 04:59:25 2007 -0800
+
+    Fix spelling error in BUGS.
+
+commit 94d95418ca2c4509a2740f0b3109f3f2331f00e7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 04:11:09 2007 -0800
+
+    Clean up qd_timer a bit.
+
+commit c8d781d611274c853d7f2f8a54b79d771f41d2b5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 04:07:55 2007 -0800
+
+    Use a fixed number of iteration for qd_timer.
+    
+    Differing number of iterations on different platforms lead to different
+    values involved, causing timings that cannot be easily compared.
+
+commit 8963dc9358dda62358fea46f1d227d1c8fca0cb5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 02:24:34 2007 -0800
+
+    Added support for gettimeofday back.
+    
+    Some systems (e.g. Apple) does not have clock_gettime.
+
+commit 382ba8dcf359686d580741deb5e526328e8cdebb
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 12 01:36:40 2007 -0800
+
+    Use clock_gettime to measure time.
+    
+    This gives a higher resulution timer on many platforms than
+    using gettimeofday.  Requires linking with librt on some platforms,
+    which is now checked by autoconf.
+
+commit e20ffe2e7d9d9318a5ed81758ef09b2c849bed03
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Feb 9 22:15:16 2007 -0800
+
+    Update qd_test a bit.
+    
+    For computation of Pi, look at successive differences to
+    figure out when to stop.
+
+commit dcfce97ac7a4d759db3587f9c14e17066d246730
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Feb 9 21:49:01 2007 -0800
+
+    Fix dependency of Fortran modules to allow parallel make.
+    
+    QD modules depends on DD modules to be compiled first.
+
+commit 3dbcbd7b941f5b0ae963295299e95de78aa9c876
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Feb 11 01:02:44 2007 -0800
+
+    Move qd_real::renorm member functions to qd_inline.h.
+
+commit 6511be4e8d999e7591cf10541c8ee5586fc384e6
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Feb 11 01:01:09 2007 -0800
+
+    Do not bother setting uninitialized dd_real and qd_real to zero.
+
+commit a4c10bad349e241cb539a7d8571d4c7ef1d4d35e
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Feb 10 19:26:17 2007 -0800
+
+    Update NEWS for 2.2.1 release.
+
+commit 9d3dd4af2dad413fea02b467e8bf693b22f2a687
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Feb 10 18:41:17 2007 -0800
+
+    makedist.sh now recognizes a "git" patchlevel.
+    
+    If makedist.sh is executed with "git" as patchlevel, it will append
+    the version with "git-sha1" where sha1 is the first 8-digit of the
+    last commit object.
+
+commit 555f56a604075945eeaff78b1948b797d6c5bf43
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 5 00:52:29 2007 -0800
+
+    Rename dd.cpp and qd.cpp to dd_real.cpp and qd_real.cpp.
+
+commit f2b3906c4e34b308810b709f6ea2ab746ac4bf22
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 5 00:37:15 2007 -0800
+
+    Use fixed point dd_real/qd_real output for pslq_test coefficients.
+    
+    Instead of converting the coefficient to integer, just
+    print them out using dd_real/qd_real output functions using
+    fixed point format.
+
+commit 4fc89d9a3f0f0fcee6bdf6922df37594bfd7167d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 5 00:36:28 2007 -0800
+
+    Do not print out decimal point if precision = 0.
+
+commit 7c6b3a4c6bd62a712e8f8fe6e9cc94e054099587
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Feb 5 00:28:03 2007 -0800
+
+    Output correct number of digits in scientific format.
+    
+    When scientific format was specified it was outputting
+    one less digit after the decimal point than specified.
+
+commit 827dce46e1a8c099ed998c3621aafc16b9f01d70
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Feb 2 16:37:41 2007 -0800
+
+    Reorder compiler search order for Apple systems.
+    
+    Since their HFS+ filesystem is case insensitive, it sometimes
+    confuses between cc and CC.
+    
+    [Bug reported for ARPREC by Jacques Vernin.]
+
+commit 951386f36a58bf7fdae0b97b7fc65869c8b8cb08
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Feb 1 01:56:26 2007 -0800
+
+    Update README to reflect dd.h to dd_real.h change.
+
+commit 41b50bbc93df6d2521930b9de38a7d3b8465cda5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Feb 1 00:39:13 2007 -0800
+
+    Updated NEWS for 2.2.0.
+
+commit 7de3918029bfd9d9bf5bf9161a8059ffd4a5ada2
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Jan 31 23:31:18 2007 -0800
+
+    Use std:: prefix where appropriate.
+    
+    Some routines in std namespace were being used without std:: prefix.
+
+commit 4b5ffa362b3e6d4dcc5f0fa7afa6e7b693d98f1e
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Jan 31 22:22:23 2007 -0800
+
+    Detect whether copysign is available.
+    
+    Configure script now tries to detect whether copysign
+    is available in std or global namespace.  If not found,
+    it uses a macro.
+
+commit c85394473b96c3f07375b189e755a0dd6e3dbf7c
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Jan 31 23:19:30 2007 -0800
+
+    Removed typecast operators double() and int(); added to_int, to_double instead.
+    
+    Removed overloaded typecast operators double() and int().
+    These allow *automatic* casting of qd_real into double or ints,
+    which is rather dangerous.  Instead, added overloaded functions
+    to_int() and to_double().
+
+commit 9eb316ef18d901d340c98fe449b54d5347de3a68
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Jan 31 18:27:55 2007 -0800
+
+    Cosmetic changes in dd_real.h and qd_real.h.
+    
+    Update comments and macro names to reflect change
+    in the file name (dd.h to dd_real.h).
+
+commit f852c420b455c2d034bbd639fac201df406628bd
+Author: David H Bailey <dhbailey@lbl.gov>
+Date:   Wed Jan 31 15:08:42 2007 -0800
+
+    Added dd-to-dd and qd-to-qd assignment in F95 interface.
+
+commit 97be577fd6dd39be65830d829923ef7301cf29ab
+Author: David H Bailey <dhbailey@lbl.gov>
+Date:   Wed Jan 31 03:42:32 2007 -0800
+
+    Added Fortran-95 complex support.
+    
+    Applied patch from David Bailey providing support for dd_complex
+    and qd_complex in the Fortran interface.  Slight modification
+    to fit the more recent code base.
+
+commit 6c8ebc1f136f1b0a019fb7acf3cab667aefcf456
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Oct 17 05:02:17 2006 -0700
+
+    Bump version to 2.2.
+
+commit ab8a2e8c92c6dad15aff043dae91c15d78e8f042
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 01:23:56 2006 -0700
+
+    Rename qd.h and dd.h to qd_real.h and dd_real.h, respectively.
+    
+    Apparently qd.h conflicts with QuickDraw headers in Mac OS X.
+    [Bug reported by Michael Rubinstein].
+
+commit 4f2726dda97fd635e0fd3a587c20d08cd7793aa8
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Oct 21 03:01:40 2006 -0700
+
+    Update TODO file.
+
+commit 7288f679e11cba2a5fa33df8cdc57c6d1688c90d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Oct 17 05:21:44 2006 -0700
+
+    Install include/qd/bits.h.
+
+commit a66b00e498dd785a757cf553998989c8dbace38e
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Oct 17 04:30:24 2006 -0700
+
+    Updated NEWS file for 2.1.214 release.
+
+commit ccc74de950d914a83dfcc16691a9a3f68ce9127b
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Oct 17 02:52:09 2006 -0700
+
+    Don't use automake in docs directory.
+    
+    Starting with automake-1.10, "make distcheck" attempts to build
+    qd.pdf from within builddir, which causes a problem since latex
+    assumes things are in the current directory.
+    
+    Updated config/makedist.sh to issue "make doc" before building
+    a distribution.  Added necessary files in docs to distribution
+    manually in top-level Makefile.am.
+
+commit bf1ac2d68aa33cfcfde06c59139c7a7b12d8dad0
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 18:41:51 2006 -0700
+
+    Added rules to create docs/qd.pdf, and distribute it.
+    
+    Distribute qd.pdf instead of qd.ps.
+
+commit d76b2d3bd395cc8fef959c3b141ae432f00ff6d8
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Jun 20 08:42:50 2005 +0000
+
+    Use std::abs where appropriate in src/dd.cpp.
+
+commit 764f4fb6759605fded833dd0c8996e20f0b3b179
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 04:20:10 2006 -0700
+
+    Update help output of qd_timer.
+
+commit 1b120a51d9c93941363ceb1bc75969825a3e869c
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 04:18:16 2006 -0700
+
+    Added double timing to qd_timer.
+    
+      - tests/qd_timer.cpp: Added -double option to time the standard
+        double type.  Some small cleanups.
+
+commit 1a46ff72a3eae0dc30a8bb8a4553ed1afedd76c5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 04:16:48 2006 -0700
+
+    Move dd constants to dd_const.cpp.
+
+commit 8f86ac9ef1876e132c02b85bdd0f4d719269e25f
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 04:06:49 2006 -0700
+
+    Use more efficient dd_real::sin.
+      - Only compute necessary quantities.
+      - Optimize sincos_taylor.
+
+commit 9f3b24a9da40d98bb826c3e58a061877c5ae3884
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 03:54:31 2006 -0700
+
+    Added fortran timer programs.
+
+commit 439b88ae46e58ed0f0e15bd7569f0a0be14cf856
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 03:47:04 2006 -0700
+
+    Added sin and log timing to qd_timer.
+
+commit afb2a09be1801c02c77feed83338cb33341a1df7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 03:33:28 2006 -0700
+
+    Update sqrt timing to use result to avoid compiler optimizations.
+    
+    In order to avoid compilers optimizing away the sqrt call in the
+    timing loop, re-use the sqrt result.
+
+commit f9d3e564da03fc4fc461f74fbe36107577663a84
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Oct 16 03:08:48 2006 -0700
+
+    Change output format of qd_timer.
+
+commit 506d8984337ae1604e20c6560ccaa3203a76d84d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Oct 4 14:53:23 2006 -0700
+
+    Drop MSVC++ 6.0 support.
+    
+    This old (1998) compiler did not have full support of C++ (such as not
+    supporting std:: namespace in certain places).
+    
+    Since there is now a gratis Visual C++ 2005 compiler which is much more
+    compliant, I am dropping support for the old and broken C++ compiler.
+    
+    Changes include:
+      - use std::abs instead of _QD_STD_ABS which was defined to be
+        fabs for MSVC++ 6.0 compilers.  Similar changes for bunch of
+        functions in cmath headers.
+    
+      - removed double abs function supplied for MSVC++ 6.0.  This should
+        be in std:: namespace already.
+    
+      - small cleanup of using statements.
+
+commit ee965a4d9a84aef557e627400687c866fc4fee08
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Oct 3 22:15:02 2006 -0700
+
+    Use std::abs instead of just abs in util.cpp.
+    
+    Also need to include <cstdlib> to get integer abs.  Alpha cxx
+    compiler seems to be very picky about these things.
+    
+    Reported by Zong-Chao Yan.
+
+commit fa4a140f6a9671b965198edda4da942b7e7af081
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 23 02:04:20 2006 -0700
+
+    Require autoconf version 2.60.
+    
+    This is required for AC_DEFINE macros with arguments.
+
+commit 4599d588146bd4937de8b958b4fee380b0801d31
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Sep 22 17:01:42 2006 -0700
+
+    Case integer to string::size_type when using string::insert.
+    
+    This was causing compilation problems with Intel C++ when -cxxlib-icc
+    was specified.
+
+commit 2916f9e0461dc8cda6980060c47c4f1dc26393bc
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Fri Sep 22 01:14:12 2006 -0700
+
+    Use static_cast instead of C-style casts.
+
+commit 0a537ebcb706ab5e402504e4ddd4dabd28723a92
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Sep 21 19:20:46 2006 -0700
+
+    Added _min_normalized variable to dd/qd_real for underflow threshold.
+    
+    This is set to 2^(-1022 + 53) for dd_real and 2^(-1022 + 3 * 53) for qd_real.
+
+commit 5f2b710c3277a489d9e1b7b628ad8324e21a8a06
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 20 07:05:31 2006 -0700
+
+    Undef isnan, isfinite and isinf in include/qd/dd.h.
+    
+    Some compilers define isnan, isfinite and isinf as macros, which cause
+    havoc when we try to overload these functions.
+
+commit e8b06574d5aaf7aa45a6d12de191c7ec01a3841f
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Sep 14 20:31:19 2006 -0700
+
+    Output correct macros for QD_ISINF and QD_ISFINITE.
+    
+    It was outputting the same macro for QD_ISNAN.
+
+commit af47faf3271cf598084b3f07195d95d2c6ea63d9
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Sep 14 03:42:54 2006 -0700
+
+    Use std::printf instead of just printf.
+    
+    IBM xlC compiler on Apple does not like using statements for printf.
+    Similarly, use std::sprintf.
+
+commit 3377b1ec6e1c1dc6505e3bf67444ff646b5c9dc9
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Sep 14 02:29:25 2006 -0700
+
+    Return with error if max element cannot be found in pslq.
+    
+    This shouldn't really happen unless there is a bug somewhere.
+    It's better to catch it than segfault.
+
+commit 1a329df3568dbf51083458531828698e23ef7130
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Sep 14 02:22:23 2006 -0700
+
+    Added work around for Sun C++ compiler in pslq_test.cpp.
+    
+    For some reason Sun C++ miscompiles the code if eps argument
+    to pslq_test<T> is set to std::numeric_limits<T>::epsilon().
+    Work around by creating an overloaded version of pslq_test<T>
+    that just passes std::numeric_limits<T>::epsilon().
+
+commit 6a394af4e0156d3faf7cb36b1ece10eacbd8725e
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 17:46:51 2006 -0700
+
+    Change verbosity to an integer in pslq_test.
+    
+    This way levels of verbosity can be controlled.
+
+commit eaa85dbba2b8d56d742e9608989b37a6e6c95ec3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 02:22:44 2006 -0700
+
+    Output correct character in to_digits when first digit becomes 10.
+    
+    First and second digits where not set when first digit overflowed
+    to 10.
+
+commit c7af059005fc9686272db00341a44dffdd55ae7a
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 02:20:55 2006 -0700
+
+    Added BUGS file, documenting problem with pathCC-2.4.
+
+commit 3fcb3a44f43fa599c133180c50143cdd230022b8
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 01:55:02 2006 -0700
+
+    Output std::string directly to ostream in operator<<.
+    
+    There is no need to output them character by character.
+
+commit 2386fa1ce89d1f81115d75862e2a77508f2b8e65
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 01:52:27 2006 -0700
+
+    Removed conditional compilation of debug routines.
+    
+    These were omitted when QD_DEBUG was defined, but now
+    include them since they are useful and does not affect
+    performance.
+
+commit f77b577a268a3e0ec9f63fbe957df7ba7c4bbdf7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 01:14:10 2006 -0700
+
+    Added QDMODULE.mod and DDMODULE.mod to fortran/.gitignore.
+    
+    These all-caps files are generated by pathf95 compiler.
+
+commit ccda8948a336ef7707bc1cc5adae696755e3c831
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 01:11:59 2006 -0700
+
+    Print out pslq_test information before pslq is run.
+    
+    This way we know the test values even when pslq crashes
+    in the middle.
+
+commit ad42f5dc04430d08668600a44b731790b9ed86d1
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 01:09:37 2006 -0700
+
+    Remove reference to n in pslq_test.
+    
+    This is no longer used.
+
+commit 078e87a4754ad441dd3dcf01dd8744491f5f3c64
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Sep 13 01:01:22 2006 -0700
+
+    Make numeric_limits<xx_real> inherit numeric_limits<double> publicly.
+    
+    This way all the numeric_limits<double> constants are also inherited.
+
+commit 1d0892513029e9091ca64556cdf337016e4bdaeb
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 06:29:01 2006 -0700
+
+    Use QD_ISNAN and QD_ISINF in bits.cpp.
+    
+    Also removed extraneous defines.
+
+commit 0e8e475d2a6c6258a6220241484783bfbcd6a348
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 06:18:26 2006 -0700
+
+    Update pslq_test.
+    
+      * increase default max iteration count
+      * print out the root r
+      * increased the threshold for residual to 10 times error bound
+      * removed obsolete -n argument
+      * updated p and q values for testing (so that they are within reach
+        of each precision)
+      * print out summary of test results
+
+commit 56e3a8d93776501eb50c6846b1203b50e38d35e8
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 05:53:55 2006 -0700
+
+    Set _ndigits to 31 and 63 (instead of 32 and 64).
+
+commit 62d462064b33656186c52ab837aa445757d0cdb3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 05:51:20 2006 -0700
+
+    Added constants digits and digits10 to numeric_limits for dd_real/qd_real.
+
+commit 4b202990c59d3c9dab693f3d210688b27f0945b5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 04:51:45 2006 -0700
+
+    Use ax_cxx_isxxx macros for isinf, isnan, and isfinite.
+    
+    These macros will determine which namespace (if any) these
+    C99 functions are declared in.  If it is not found, it defaults
+    to a custom macro.
+
+commit dfc92915dd0ef58370468d766ff55303a413cc1f
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 02:59:07 2006 -0700
+
+    Use isnan, isinf, and isfinite in global namespace instead of std namespace.
+    
+    Since these are not C++ functions, they may not be in std namespace.
+
+commit 6ca92a72753f7e254461b46e813cc94e4a116986
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 02:21:50 2006 -0700
+
+    Added isinf, which checks whether the first element is infinite.
+    
+    Modified configure.ac to detect C99 isinf and uses it if available.
+    It defines QD_HAVE_ISINF if it is available.  Otherwise it uses
+    the macro ( (x) != 0.0 && (x) == 2.0 * (x) )
+
+commit 41c677c04662be069b85e91001d2ff6da1b691be
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 02:15:41 2006 -0700
+
+    Remove detection of finite() function.
+    
+    This is now replaced by isfinite(), which is a C99 function.
+
+commit 9db7bb457443b923ffcc1ba7f7dbda8b37371480
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 02:14:35 2006 -0700
+
+    Added isfinite, which checkes whether the first element is finite.
+    
+    Modified configure.ac to detect C99 isfinite and uses it if available.
+    It defines QD_HAVE_ISFINITE if it is available.  Otherwise it uses
+    the macro ((x) == 0.0) || ((x) != (2.0 * (x))).
+
+commit bf18d7a844dc4fe87622a36aaa19e3c773937b11
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 02:05:02 2006 -0700
+
+    Use QD_HAVE_ISNAN instead of HAVE_ISNAN in bits.cpp.
+
+commit 1baf4392475e785e30f05a018becb826a899d9a1
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Mon Sep 11 02:03:04 2006 -0700
+
+    Include bits.cpp as source even --enable-debug is set.
+    
+    bits.cpp contain useful debugging functions that should
+    be available (without performance slowdown) even when
+    debugging is disabled.
+
+commit b905e191624322e08a9d2903fdfaefddd3726aa4
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 23:01:08 2006 -0700
+
+    Support output of NaNs.
+
+commit a67f54379eb5aec9bb486c7b7852c7c29c9df169
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 22:56:18 2006 -0700
+
+    Added isnan function.
+    
+    This uses the QD_ISNAN macro, which is defined to be std::isnan
+    if C99 isnan is available.  If isnan is not available, it does
+    (x) != (x).
+
+commit 8a8e169241e8df8f2014a3691a13c44540cd68ab
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 21:51:11 2006 -0700
+
+    Make pslq_test residual test more lax by factor of 2.
+
+commit a60d2bf66e4f4a98f039eb8bd6913fb8e4aebd08
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 21:44:11 2006 -0700
+
+    Added couple more tests to pslq_test.
+    
+    Test different p, q values as well.
+
+commit 37a44582ac537351c997849ae5f25bbc0dd894ba
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 21:48:44 2006 -0700
+
+    Prettify the output of pslq_test.
+
+commit 29997b9b4e3dab9efb850bf2ff4ae1f33295dea3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 21:14:22 2006 -0700
+
+    Remove unused polyroot template function in pslq_test.
+
+commit b5b053a969d074eb84b0e5ccc2f8b04db310ff15
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 21:07:34 2006 -0700
+
+    Change pslq_test to use 2^(1/p) + 3^(1/q) instead of random polynomial.
+    
+    This removes the randomness of the test and avoids failure of
+    Newton's iteration in polyroot function.
+
+commit e3ef2b7df06996dcb157c21cc9d7ec6361cb0746
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 20:04:56 2006 -0700
+
+    Add running error bound to polyeval in pslq_test.
+
+commit 360de7f3aabeabb9050b628e9710feb2ae8f2568
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 19:34:12 2006 -0700
+
+    Use more sane defaults to pslq_test.
+    
+    Use eps = numeric_limits<T> and max_iter = 10000.
+
+commit ac7246a093712fbbb9c04114d1cada05b1e03deb
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 03:41:19 2006 -0700
+
+    polyroot and polyeval does not need to be declared friends.
+    
+    Prototype of polyeval was added.
+
+commit 8225b9263e62abd08bc90b36da9652f63baa8eb3
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 03:21:22 2006 -0700
+
+    Update TODO.
+
+commit a1943e93417dca6538c5fd479b1d84805bbf6277
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 03:15:31 2006 -0700
+
+    Change stopping criteria of polyroot to max(abs(coeff)) * eps.
+    
+    This allows for large or small polynomial coefficients.
+
+commit ec2132fcb79c39074a682acb962766d7af798468
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 02:32:57 2006 -0700
+
+    Update TODO.
+
+commit 52dd9fe47ce89d96b1708e7d0e513ebdba902c25
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 02:01:00 2006 -0700
+
+    Use numeric_limits::epsilon in cpp/pslq_test.
+
+commit 1bfadc76ae152c461bf0ebd7c092c00961a2a728
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 01:58:02 2006 -0700
+
+    First try at implmenting numeric_limits for dd/qd.
+
+commit dc0799654ccba30b7101cb599fc0b81eab70560d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sun Sep 10 07:13:24 2006 -0700
+
+    Remove randomness from pslq_test.
+
+commit 0461d1f5557eb6b8f54799594121da35b3d54b3d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 23:49:17 2006 -0700
+
+    Return _nan when polyroot fails to converge.
+
+commit b09b2bb8be34c846a97a8009f9c751aefefeb4e7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 23:47:37 2006 -0700
+
+    Added max_iter parameter to polyroot.
+
+commit e590c35b09293372989be280e445d5644e85a828
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 23:42:08 2006 -0700
+
+    Use _eps as default threshold parameter to polyroot.
+
+commit 513e14169bf5fd1c89dabf74289c9957a97183a5
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 23:37:37 2006 -0700
+
+    Use static_cast instead of C-style cast in polyroot.
+
+commit 0733dc6b65867c5f4d9b403e17d8fa6611b7b6c0
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 22:26:45 2006 -0700
+
+    Use libqd.a and libqdmod.a directly instead of relying on -llib format.
+    
+    This allows automake to keep track of changes in the library archive
+    and re-link when necessary.
+
+commit da29b2da296160105b149a236b31823fc2bfa80d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 17:11:41 2006 -0700
+
+    Added phony targets to .PHONY in Makefile.am.
+
+commit 006d21fe3a4bffa112e707bdf7bbba94f0d3aa4d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 17:07:49 2006 -0700
+
+    Added cpp-demo and demo targets.
+    
+    cpp-demo target makes all the C++ programs in the tests
+    directory.  demo target creates both fortran-demo and cpp-demo.
+
+commit 2f1f40db1da24b3d66c7911e0ac4d5e9f6d5dee0
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 9 17:06:57 2006 -0700
+
+    Make quadt_test use tictoc.h instead of the old timer.h.
+
+commit fa397e66ce9b9440d544bfcf081fe3f24147a1c4
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Aug 30 22:57:40 2006 -0700
+
+    Drop libtool use for now.
+    
+    Libtool was causing some problems with Solaris and Apple
+    systems.  Shared library is not particularly useful for qd
+    since big portion of the code is inlined to use programs
+    anyways.
+
+commit 78905da37d99bfdb2c6cae3be9f4423bae6a8099
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Wed Aug 30 22:25:06 2006 -0700
+
+    Updated config.guess and config.sub with latest version (2006-07-02).
+
+commit 6de1f531d0a4455f2829d09f7b1be04c339e3460
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Aug 29 06:03:07 2006 -0700
+
+    Added x86_64 Intel compiler support.
+
+commit 23f25f8410935cf1a12753e399c5ce7171ff8597
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Aug 29 06:02:06 2006 -0700
+
+    Combine cases for ia64 and x86 intel compilers in configure.ac.
+
+commit 553976f1264b21ea15d90435a49a4db750616c8d
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Sat Sep 2 15:54:32 2006 -0700
+
+    Update routine name in the error messages in to_digits.
+    
+    It was referring to the old routine name to_str.
+
+commit 6124549941f4048aa935404081eba3771d0500c7
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Aug 24 02:45:17 2006 -0700
+
+    Updated custom m4 macros to start with AX prefix.
+
+commit 4c4b3dedeb4c9edfcc6e84dcda0475eac957d562
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Thu Aug 24 02:20:39 2006 -0700
+
+    Added compiler option to --enable-fma.
+    
+    This mode assumes the compiler generates correct code.
+    Few minor cleanups.
+
+commit 93043441d62d1dcb6663e2d04f8652355f38acca
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Aug 22 21:36:58 2006 -0700
+
+    Added --enable-fma=gnu option.
+    
+    This uses GCC's __builtin_fma.
+
+commit d0336488d0f873432eda624bcf54d63d1e8830ab
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Aug 22 21:30:34 2006 -0700
+
+    Only check for IBM __fmadd and gcc __builtin_fma for fma.
+    
+    Using C99 fma with Apple/gcc-3.3 causes some problems.
+
+commit 30120363687723a35c685ef8a2c778118ee565c0
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Aug 22 20:44:34 2006 -0700
+
+    Look for gcc's __builtin_fma when looking for fma functions.
+
+commit 4631339b71c6c7b516e68e284577f6710b2049f6
+Author: Yozo Hida <yozo@cs.berkeley.edu>
+Date:   Tue Aug 22 16:40:09 2006 -0700
+
+    Stop searching for fma at the first available function.
+
+commit 69b3a0791511b95e39c9f6c9d8a3b35c0ef92a6f
+Author: Yozo Hida <yozo@cs.berkeley.edu>