~ubuntu-branches/ubuntu/precise/libctl/precise

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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.