are replaced with .include "../../devel/readline/buildlink3.mk", and
USE_GNU_READLINE are removed,
* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
are replaced with .include "../../mk/readline.buildlink3.mk".
Version 4.3.6 (February 22, 2004)
* Fixed a label handling error in the `set' function that was
introduced in version 4.3.1. Also cleaned up and documented
Label handling in `complement', `intersection', and `union'.
Version 4.3.5 (February 11, 2004)
* Added support for short int endian conversions in `fread'. This
was a quick fix -- we really need to go through that code (and
`fwrite') to clean it up and support a variety of missing cases.
Version 4.3.4 (December 16, 2003)
* Fixed disassemble bug causing wipeout on `veil' statement.
* Now use --enable-debug instead of --with-debug in configure.
(It was and has been broken since version 4.3.0.)
Version 4.3.3 (December 9, 2003)
* By default, use Doug Lea's dlmalloc package in place of the
C library's malloc. On some systems, dlmalloc is far superior.
For example, Algae's timing suite runs 2.5 times faster with
dlmalloc than with the AIX 5.1 malloc routines. (On Linux,
dlmalloc is the default anyway.)
* Replaced code for `magic' with faster code from Octave.
* Supplied some missing prototypes that caused trouble.
* Quit installing header files. Not sure how or why that got
started, but if you have installed previous versions of Algae,
you may have junk left around in /usr/src/algae.
Version 4.3.2 (November 29, 2003)
* Ouch! Fixed a nasty bug in `filter'.
Version 4.3.1 (November 24, 2003)
* Several efficiency improvements, some pretty dramatic.
* Short ints supported in `fread' and `fwrite'.
* New functions `erf', `erfc', `gcd', `lcm', `primef', `primes', and
`trapz'.
Version 4.3.0 (October 4, 2003)
* Enable linking to fftw (http://www.fftw.org/) for high-performance
Fourier transforms.
* The `fft' and `ifft' functions now handle matrices. By default
they transform each column, but that can be changed with an option.
* The `max' and `min' (and `imax' and `imin') functions now handle
matrix and table arguments. Note: The old versions converted
matrix arguments to vectors, if possible; the new versions may
give different results in those cases.
* The new `circshift' function performs circular shifts of arrays.
* Minor code changes to support Mac OS X.
* Fixed several potential buffer overrun problems.
* Included latest (3 June 2003) SuperLU updates.
* Included current ARPACK patches.
Version 4.2.1 (August 6, 2003)
* Added the `$digits' global variable.
Version 4.2.0 (August 5, 2003)
* New `veil' statement allows temporary changes to global variables.
Version 4.1.4 (August 2, 2003)
* Improved configuration for floating point exception handling.
* Added numerous "volatile" qualifiers, to protect against longjmp
problems with optimized gcc.
* Fix `select' function for zero-length vectors.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
framework. The list of changes include:
* Modify compiler.mk so that "c" is always prepended to USE_LANGUAGES,
so we no longer need to say it in package Makefiles. Packages
should now append to USE_LANGUAGES instead of setting it.
* Create mk/compiler/f2c.mk which implements another pseudo-compiler
"f2c" that may be used with any C compiler backend, e.g.
PKGSRC_COMPILER= f2c ccache gcc
* Teach the various "real" compiler files, e.g., sunpro.mk, mipspro.mk,
etc., to use f2c if the native Fortran compiler isn't present.
Packages that use Fortran should now simply include the line:
USE_LANGUAGES+= fortran
in the package Makefile.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Changes include:
* New try/catch mechanism for control of exception handling.
* Fixed memory leaks in solve and svd.
* Builtin `tril' and `triu' functions -- sparse arrays stay sparse.
* Fixed integer overflow problems in `band' and `cram'.
* Incorporated the SuperLU package for solving sparse linear
systems. Previously, sparse systems were converted to dense and
solved with LAPACK (unless configured with BCSLIB-EXT).
* Included support for memory allocation debugging with dmalloc.
* Improved the logical operations to do a much better job at
maintaining sparsity.
* New standard function `select'.
* Changes to the matrix bandwidth minimization code. The old `band'
function is now called `gpskca' and can do either profile or
bandwidth minimization of symmetric or hermitian matrices. Matrix
statistics are computed by the new `band' function.
* New standard functions `linspace' and `logspace'.
* New standard function `equilibrate' computes scale factors to
improve the condition of a matrix. However, sparse code has not
yet been included.
* Fixed several deficiencies in the `transform' function.
* Removed old get_ascii and put_ascii functions. I doubt if anyone
has used these in the last decade. To read and write matrices in
text files, use the algae MatrixMarket package.
* Fixed several errors with hermitian symmetry.
* Fixed mishandling of sparse matrix multiplication case where
non-zero factors give a zero result.
* Added "short-circuit" logical operators && and ||.
* Added the `cram' builtin function -- it's the same as `form'
except the output array is sparse when that makes sense.
* Added the `product' user function -- product of array elements.
* Added `mksparse' and `exsparse' functions for converting matrices
to and from coordinate form.
* Switched to LAPACK's DGGEV now that DGEGV is deprecated. Also use
the new workspace size query feature in LAPACK, rather than
working it out ourselves.
* Use LAPACK's ZHEGV and ZGGEV for complex generalized eigenvalue
problems.
* Use floating point exception support from glibc 2.2 on Linux.
* Improved accuracy and behavior for complex arguments in functions
`log', `asin', and `acos'.
* Added inverse hyperbolic trig functions `asinh', `acosh', and `atanh'.
* Various minor bug fixes.
Algae is an interpreted language for numerical analysis. Algae
borrows ideas from languages like MATLAB, APL, and C, but it was
developed in response to a need for a free, efficient, and versatile
high-level language with large problem capability.