Notes: This is mostly a bugfix release, addressing specifically problems building on Darwin / Mac OS X. The overall portability of the code and build system have been improved somewhat--see the Change Log for details. The source distribution for version 0.9.4 has been compiled successfully without changes on Debian GNU/Linux, Fedora Core 3, Ubuntu GNU/Linux, Solaris 9, Mac OS X 10.2, and FreeBSD 4.8. A couple of new features have been added to this release, most notably the LSODE differential equation solver is now supported as long as a FORTRAN compiler is available at build time. As it is experimental, inclusion of LSODE is not the default, but can be enabled by passing '--enable-lsode' to the configure script. A convenience feature was also added that tries to resolve name conflicts when, for example, a script attempts to save data to a HDF5 file using a dataset name that already exists. Instead of allowing the operation to fail (and perhaps discarding results from a long calculation), a new name is created by appending a number to the existing name. Full details on changes in this release are available in the Change Log.
Changes: 2005-06-06 David Dumas <daviddumas@gmail.com> * configure.in: Made '--disable-lsode' the default behavior at configure time. This fixes build problems on some platforms, notably Solaris with the Sun Workshop compiler. Will investigate and perhaps re-enable by default for future release. 2005-06-04 David Dumas <daviddumas@gmail.com> * bear-ref: Added description of the slope parameter for the linear module, which has been around for some time but which was not previously documented. * bear-ref: Documented LSODE method addition and relprecision parameters for bers and bers2 modules. Minor changes to exposition in several parts. 2005-05-29 David Dumas <daviddumas@gmail.com> * bear: changed prototype for h5disc_typeconv so that 'nelmts' is either hsize_t or size_t depending upon the HDF5 library version (<= 1.6.2 and >= 1.6.3, respectively). Cleaned up other instances of hsize_t so that size_t is used wherever possible. * configure.in: check for the specific version of the HDF5 library by applying the preprocessor to the header file 'hdf5.h'; define H5_CONV_NELMTS_T to be the correct type for the 'nelmts' parameter to HDF5 type conversion functions, which changed between 1.6.2 and 1.6.3 releases. 2005-05-28 David Dumas <daviddumas@gmail.com> * bear: added 'compatibility' parameter to the discreteness and holonomy modules; if nonzero, HDF5 output will be written in a form readable by versions of HDF5 older than 1.6.0 (which don't understand shuffling). 2005-05-27 David Dumas <daviddumas@gmail.com> * configure.in: added options to disable internal compression and shuffling of HDF5 files, even if these features are available. (Command-line options '--without-hdf5-new' and '--without-hdf5-deflate'). * bear: wrapped use of HDF5 1.6 functions in conditionals to allow bear to compile with earlier versions (1.4 confirmed). This amounts to disabling the shuffle output filter. * configure.in: added explicit checks for H5Pset_shuffle and H5Pall_filters_avail functions in HDF5 library, as these were only added in release 1.6.0. * bear: schwarz solver is now aware that the LSODE solver may or may not be available, and acts accordingly. If not available, the 'lsode' solver type is treated as unknown. * configure.in: added '--disable-lsode' to remove all dependence on a FORTRAN compiler, and modified checks for F77 to be nonfatal when they fail. 2005-05-25 David Dumas <daviddumas@gmail.com> * configure.in: check for strerror in configure; fixes bug where on a system with no error.h but with strerror (e.g. Mac OS X), build would fail on redefinition of strerror and type conflicts for related constants. * libreplace: error.h wrapped in #ifdef so that no prototypes are defined unless configure determined a replacement error function to be necessary. * makefiles: replace '-lg2c' hack with portable autoconf substitution of $(FLIBS) to build an executable from both C and FORTRAN object files. * configure.in: check for working F77 compiler and the necessary libraries to link FORTRAN code into a C program; fail if not found * clsode: replaced inclusion of obsolete 'malloc.h' with 'stdlib.h' 2005-05-05 David Dumas <daviddumas@gmail.com> * bear: h5pathspec.c: fixed bug where an internal path beginning with '/' would lead to attempt to open a group with garbage as its name. Thus both "/path/file.h5:/group/dataset" as well as "/path/file.h5:group/dataset" are now acceptable. (The former caused an error up to now.) * bear: h5io_util.h: changed maximum depth of hdf5 internal path to 8, since I noticed that some of my own files have depth up to 6. 2005-05-02 David Dumas <daviddumas@gmail.com> * bear: Portability enhancements: early glibc used macros for some string functions, breaking the IFNDEF prototyping in several files. Necessary to build on Debian 2.2 (potato). * bear: added prototypes for some string functions missed in previous modifications to allow for missing "string.h". 2005-04-028 David Dumas <daviddumas@gmail.com> * bear: h5discreteness and h5holonomy now do name-conflict resolution so that data isn't lost if an attempt is made to write to an existing dataset. 2005-04-20 David Dumas <daviddumas@gmail.com> * bear: added LSODE differential equation driver, separating Heun solver into 'heun_gsl' and 'heun_lsode'; LSODE is built from fortran sources as a static library and linked in using a simple C wrapper from libwayne. 2005-04-13 David Dumas <daviddumas@gmail.com> * bear: added 'piecewise_linear_alt' contour driver which breaks one of the segments into two halves joined at the point closest to the singularities of phi(). This may allow smart ODE integrators to better judge the necessary step size, i.e. they catch a thin but tall "spike" in phi() that might otherwise go unnoticed. * bear: modified piecewise linear contour driver so that the segment passing closest to the singularities is first. * bear: big cleanup in the PL contour driver making use of changes to contour API. 2005-04-05 David Dumas <daviddumas@gmail.com> * bear: cleaned up contour driver API so that a contour is now a sequence of segments, and the driver must present a single contour function that takes a time value and segment index. This replaces the old method where a separate function pointer was needed for each segment. 2005-03-24 David Dumas <daviddumas@gmail.com> * bear: added anosov module for computing unstable manifolds of pseudo-anosov mapping classes. * bear: added pluggable integration contour API and new contour drivers "piecewise_linear", "ellipse", and "spline_ellipse". The latter is a rewrite of the integration contour system used in previous versions. * bear: added bers2 module which computes holonomy via interpolation from a sparse grid, yielding a speed improvement when the holonomy does not vary too quickly * bear: updated test suite * bear: print more detailed information during computations, and add a linebreak ('\n') after each status update for more dependable output buffer flushing and easier reading of log files. 2004-05-07 David Dumas <daviddumas@gmail.com> * bear: major rewrite of the I/O and scripting code. HDF5 is now the main file format, and the extension language Lua is incorporated for input scripting. There is now an interactive mode, which is invoked by default if STDIN is a tty and no input file is specified. * bear: dependence on "expat" removed; XML parsing is no longer necessary. * bear: the "dyadic iteration" experimental options have been removed for now, as they are difficult to interface with the new Lua scripting frontend. They were primarily created to facilitate the development of an interactive Bers slice drawing program, which must now be redesigned. * bear: errors and debugging messages are now reported using the functions from GNU "error.h". This file is replaced with a version packaged with bear in case it is not found on the host by the configure script. * bear: probably more changes than I can think of right now. Version 0.9.0 shares little more than core mathematical code with previous versions. 2003-11-02 David Dumas <daviddumas@gmail.com> * bear: time differences are now computed using POSIXly correct difftime(), rather than a type cast; times will now be reportly correctly on systems where time_t is not a scalar (if there are any such systems). * bear: sign of the third element of each markov triple is now chosen correctly; note that the discreteness algorithm does not depend upon this sign. * bear: verbose output mode now displays statistics on the use of adaptive precision modification * bear: added new adaptive precision modification algorithm, and associated options "--delta", "--adapt", "--adapt-divisor", "--adapt-persist". * bear: verbose output mode now displays ETA * bear: minor rearrangement of Heun diffeq and contour calculation functions yielding i386 speed enhancement. * bear: added self-test suite to Makefiles to catch common discrepancy-causing issues like IEEE rounding and "unsafe" floating-point optimization. * bear: added first draft of texinfo documentation 2003-10-24 David Dumas <daviddumas@gmail.com> * bear: added linear slice capability (option "--linear") * bear: added a new Jorgensen stability parameter J, where the Jorgensen test now checks |x| < J. Default value of 0.999 seems to improve accuracy near the limit of the differential equation integration code. * bear: obsoleted the "trace_tiny" parameter, and made several speed-related improvements to the Bowditch algorithm. * bear: modified the formula for the Bowditch function H(x) -- the new function should be sufficient for discreteness testing, even at small scales. 2003-10-11 David Dumas <daviddumas@gmail.com> * bear: rewrote integration contour setup code -- should now work correctly for any lambda such that there exists an ellipse containing 0 and lambda but not 1, and an ellipse containing 1 and lambda but not 0. (Previous code cut out for lambda within ball of radius approx 0.14 about 0 or 1.) * bear: implemented trace_tiny functionality, removed dependence on qsort function. * bear: fixed computation_time functionality, so that computation times longer than 38 minutes ( = POSIX clock() wraparound time ) are reported correctly. Time resolution is now 1 second. 2003-09-25 David Dumas <daviddumas@gmail.com> * bear: restored computation_time functionality. * bear: added xdf_name option and changed handling of existing output files; the newly created arrays are always the next siblings of the input array, if any, or are inserted at the beginning otherwise. * bear: completely rewrote the xdf input/output routines; bear now makes only a single pass through its input and output files, which is much faster than the previous "parse-to-memeory" system. REMOVED dependence on Scew. 2003-09-22 David Dumas <daviddumas@gmail.com> * bear: added stubs for future "--trace-tiny" and "--trace-huge" option functionality * bear: added "--maxdepth" option to control max depth of the discreteness tree search 2003-09-18 David Dumas <daviddumas@gmail.com> * claw: ripped out the old perl script and rewrote claw as a C program; the result is much faster but slightly less tolerant of XDF different than that produced by bear. * bear: added "--precision" option to control precision of the ODE solver. 2003-09-16 David Dumas <daviddumas@gmail.com> * claw.pl: added XDF api to the list of external dependencies in README; added corresponding checks to configure.in. 2003-09-08 David Dumas <daviddumas@gmail.com> * bear: initial version.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use