Libctl release notes
From AbInitio
Revision as of 01:13, 16 October 2005; Stevenj (Talk | contribs)
(diff) ←Older revision | Current revision | Newer revision→ (diff)
(diff) ←Older revision | Current revision | Newer revision→ (diff)
Here, we describe what has changed between releases of the libctl package. You can also refer to the NEWS
file in the h5utils distribution (or the ChangeLog
file for a more detailed listing).
|
libctl 2.2
9/12/2002
- Added simple trapezoidal-rule adaptive numeric integration routine.
- Numerical derivative routines now allow numerical differentation of vector-valued function. Added deriv2 convenience routine.
- Added find-root-deriv functions for faster root-finding of functions for which the derivative is also available.
- Added missing (cvector3 ...) constructor, and fixed corresponding constructor for cvector3 object properties; thanks to Doug Allan for the bug report.
- Added generic 'memoize' function.
- libctl programs now print out command-line parameters when they run.
- Fixed incomplete support for generic SCM type.
- Fixed to work with Guile 1.5+ (thanks to Mike Watts for the bug report).
libctl 2.1
3/21/2002
- Bug fix: complex-number input variables were read as garbage if they had imaginary parts; does not affect complex-number outputs.
- Added generic SCM type for i/o variables and parameters, as a catch-all for other Scheme objects.
- main.c now has ctl_export_hook (enabled by defining CTL_HAVE_EXPORT_HOOK) with which to define additional Guile symbols.
- gen-ctl-io: converts "!" in symbols to "B" in C identifiers.
libctl 2.0
3/10/2002
- New set-param! function, analogous to define-param, that allows you to change the value of a parameter in a way that can still be overridden from the command line.
- In libgeom, allow user to specify the resolution instead of the grid-size. New no-size support in lattice class to reduce dimensionality, and new (get-grid-size) function.
- Support for Scheme complex numbers, along with a few new associated functions: conj, vector3-cdot, matrix3x3-adjoint.
- New functions to compute numerical derivatives using Ridder's method of polynomial extrapolation.
- Documented object-property-value; thanks to Theis Peter Hansen for the suggestion.
- Get rid of unneeded make-default, and use consistent syntax for define-property and define-post-processed-property, compared to define-input-var. NOT BACKWARD COMPATIBLE (for developers; users are not affected). Thanks to Theis Peter Hansen for the suggestion.
- Call ctl_stop_hook even with --help, --version, etcetera; this makes the behavior nicer e.g. with MPI.
libctl 1.5
11/15/2001
- geometry-lattice now has a separate basis-size property, so that you can specify the basis vectors as being something other than unit vectors.
- More functions are tail-recursive, helping to prevent stack overflows; thanks to Robert Sheldon for the bug report.
- New fold-left and fold-right functions, documented in the manual.
- The configure script now checks that guile is in the $PATH. Thanks to Bing Li and Giridhar Malalahalli for their bug reports.
libctl 1.4.1
7/4/2001
- Support function lists.
libctl 1.4
2/23/2001
- Renamed "display-many" function to more felicitous "print" and added "print-ok?" global variable that allows you to disable program output.
- Added support for passing 'function types back and forth (just a SCM object pointing to a Scheme function).
- Cosmetic fixes to yes/no? and menu-choice interaction functions.
- Support start/exit hooks for use e.g. with MPI.
libctl 1.3
1/7/2001
- Added improved "subplex" multidimensional optimization algorithm (for maximize-multiple and minimize-multiple).
- Documented vector3-x, vector3-y, vector3-z functions for extracting vector3 components.
libctl 1.2
7/9/2000
- Added new "cone" geometric object type.
- Added reciprocal->cartesian, cartesian->lattice, lattice->reciprocal, etcetera functions to libgeom for converting vectors between bases.
- Added routines rotate-vector3 and rotation-matrix3x3 for rotating vectors.
- Added support for returning lists from external functions.
- Fixed bug in matrix3x3-inverse function.
- Fixed bug in find-root for converging to negative roots.
- Use Nelder-Mead simplex algorithm for multi-dimensional minimization (it seems to be more robust than the old routine).
libctl 1.1.1
1/28/2000
- Use CPPFLAGS environment variable instead of the less-standard INCLUDES to pass -I flags to the configure script (for header files in non-standard locations).
- Compilation fixes. We need to set SHELL in the Makefile for make on some systems. Also added rule to insure ctl-io.h is created before main.c is compiled. Thanks to Christoph Becher for the bug reports.
libctl 1.1
1/2/2000
- geom: radius and height of objects is now permitted to be zero.
- geom: material_of_point_* routines now report whether the point is in any object; necessary for use with MPB 0.9.
- Added man page for gen-ctl-io, based on a contribution by James R. Van Zandt.
libctl 1.0.1
11/22/1999
- geom: handle case where ensure-periodicity is false.
- geom: bug fix in geometric-objects-lattice-duplicates for non-orthogonal lattices; thanks to Karl Koch for the bug report.
libctl 1.0
11/19/1999
- Initial public release.