Update to 3.2.1, provided by outpaddling and asau in wip.
libctl 3.2.1
8 August 2012
Fix incorrect gh_symbol2newstr macro replacement.
libctl 3.2
20 July 2012
Now works with Guile version 2.x (older versions are still
supported).
Add libctl_quiet variable to main.c so that libctl-using programs
can suppress all output if desired (e.g. to avoid duplicate
outputs on parallel machines).
Added wedge object type for circular/cylindrical wedges, as a
subclass of cylinder: (make wedge (center ...) (axis ...)
(radius ...) ...) with two new properties: (wedge-angle ...)
for the angle in radians, and (wedge-start v) for a vector v
such that the wedge angles start at zero in the (v, axis) plane.
[Caveat: subpixel averaging is currently inaccurate for the
flat wedge edges.]
list-type constructors now accept either (name ...elements...)
or (name (list ...elements...)).
Add vector3->exact function for to-integer rounding. Otherwise,
ensure that interpolation results are floating-point to prevent
type-conversion errors.
Added ctl-set-prompt! to set interactive prompt in both old
and new Guile versions.
Rename string to char* in ctl-io.h for C++ compatibility.
Bug fix in normal-to-object near corners of blocks.
libctl 3.1
5 June 2008
Support specifying the location of the guile and guile-config
programs with GUILE and GUILE_CONFIG environment variables in
the configure script.
Support for calling NLopt optimization library (also requires
the program using libctl to be changed to link nlopt).
New ellipsoid_overlap_with_object function, analogous to
box_overlap_with_object function.
Bug fix in include function for recent versions of Guile, to
properly keep track of the current include directory.
Bug fix in numerical-derivative routine, which didn't converge
when the error was exactly zero.
libctl 3.0.3
27 February 2008
Added "begin-timed" function, which is similar to "begin-time"
except that it returns the value of the last statement (like
"begin") rather than the time.
Bug fix: allow classes to have boolean properties.
Bug fixes for compilation under C++, thanks to David Foster:
include missing string.h header and fixed gh_new_procedure
prototype.
libctl 3.0.2
22 August 2006
Fix minor Guile incompatibility on some systems.
libctl 3.0.1
5/1/2006
Change shared-library version to 3:0:0 instead of 0:0:0. This
avoids conflicts with shared library version numbers that has
been assigned to earlier versions of libctl for Debian; thanks
to Josselin Mouette for the suggestion.
libctl 3.0
4/1/2006
Switch to use automake and libtool. Can now install shared
libraries with --enable-shared.
License is now GNU GPL (v2 or later) rather than the GNU LGPL,
due to use of third-party GPL code for multi-dimensional
integration (below).
gen-ctl-io now supports separate generation of code and header
files via --code and --header arguments. (Better for parallel
make.) Also support a -o option to give a different output file
name.
gen-ctl-io can now export C++ code by using the --cxx flag.
gen-ctl-io can now export SWIG .i files for automatic type
conversion in SWIG wrapper generation, using the --swig flag.
Backwards incompatible change: users must include their own
ctl-io.h *before* ctlgeom.h, or you get ctlgeom-types.h instead
(this is for use with the "stand-alone" libctlgeom.a library
below.
New multi-dimensional integration routines using adaptive
cubature. (Much more efficient than nested 1d integrations.)
Adapted in part from the HIntlib Library by Rudolf Schuerer
and from the GNU Scientific Library (GSL) by Brian Gough.
New interpolate-uniform function that tries to maintain a
uniform distance between points (i.e. variable number of
interpolated points between different list elements, as needed).
Now install a "stand-alone" libctlgeom.a library to make it
easier to call geometry routines from non-Scheme code.
New routines to compute overlap fraction of box with object,
compute analytical normal vectors, etcetera. (For upcoming
versions of Meep and MPB.) Also new routines to get the object
of a point, not just the material. Also new routines to operate
on a supplied geometry list parameter instead of using the
global; unlike the old material_of_point_in_tree functions,
these functions do not shift the argument to the unit cell,
but you can use the new function shift_to_unit_cell to get this
behavior.
gen-ctl-io now generates object equal/copy functions.
In unit-vector3, only return 0 when norm==0, not merely if it
is small.
Added one-sided numerical derivative routine.
Define "verbose?" variable corresponding to main.c variable.
(print) calls (flush-all-ports) to keep C and Scheme I/O in
sync.
Fix in find-root-deriv to prevent infinite loop in some cases
where the root does not exist; thanks to XiuLun Yang for the
bug report.
Bug fix in make_hermitian_cmatrix3x3; thanks to Mischa Megens.
2013-01-23 22:46:33 +01:00
|
|
|
Libctl is a free Guile-based library implementing flexible control files for
|