Libctl release notes
From AbInitio
Revision as of 18:39, 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 libctl package (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 forcvector3
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 hasctl_export_hook
(enabled by definingCTL_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 todefine-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 todefine-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 separatebasis-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
andfold-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 felicitousprint
and addedprint-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
andminimize-multiple
). - Documented
vector3-x
,vector3-y
,vector3-z
functions for extractingvector3
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
androtation-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-standardINCLUDES
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 insurectl-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.