There was a huge effort expended to document the supported
GSL routines. These callable subroutines are documented
at the wiki resource, and is included in the downloadable
HTML documentation.
However, libgsl is optional for bdbbasic. When compiled
without the library, the COMPLEX data type is not supported
and most of the GSL routines are unavailable (a few are now
embedded inside of bdbbasic). Having this as an optional
component makes it easier to build bdbbasic for those
that don't need the GSL features.
More information is available about the GSL here:
http://www.gnu.org/software/gsl
NEW FEATURES SUMMARIZED:
1. The COMPLEX data type
2. Hundreds of Gnu Scientific Library subroutines,
including the fast fourier transforms.
3. QSORT and BSEARCH built-in subroutines
4. ON ERROR GOTO enhancement.
5. New functions and built-in constants.
6. String lengths to 32-bit lengths.
7. Programs to 32-bit lengths.
8. Important bug fixes.
DETAILED NEW FEATURES:
* The COMPLEX data type was added (using libgsl).
* Fast Fourier Transforms FFT/IFFT and IFFT2/IFFT2 functions
from libgsl were integrated.
* QSORT subroutine support for sorting arrays of data,
including QSORT_NOCASE for caseless string sorts.
* BSEARCH subroutine added to provide an efficient binary
search of arrays.
* CALLX statement was added to allow external subroutine
support (QSORT and libgsl routines)
* Values SYS.EPSILON, SYS.SQRT2, SYS.SQRT3 and SYS.EULER
were added.
* Values SYS.INFINITY, SYS.NINFINITY and SYS.NAN added.
* Functions ISINF(X) and ISNAN(X) were added.
* Several COMPLEX related functions added: CARG(Z), CONJ(Z),
and INV(Z) etc.
* Symbol names were expanded from a maximum of 32 characters
to 64.
* Hundreds of GSL (Gnu Scientific Library) subroutines are
now supported through the CALLX interface.
* ON ERROR STOP enhanced to include the effect of a RESUME
statement (to turn off "in error handler" flag).
* Hundreds of scientific constants available through the
CALLX GSL_CONST(NAME$,K) interface.
* TEMPF$(M$) function added to create pathnames for new
temporary files.
* SHOW TABLE command now sorts the column declarations
into the order that they were originally declared.
This corrects a minor defficiency from the prior
release.
* Basic subroutine SRGNUPLOT (in interpreter/binsrc/sr) and
main test program TPGNUPLOT (in interpreter/binsrc/test)
are included in this release. SRGNUPLOT is a subroutine
to permit graphical displays from bdbbasic, provided
that you have the gnuplot command and an X11 window
environment available.
* String lengths were previously restricted to 16-bit lengths.
This was found to be too restrictive, especially since
this internally affected the maximum program length.
Strings can now be as long as a 32-bit length can
describe (4,294,967,294 bytes - approx 3 GB).
* With the string support expanded to 32-bit (unsigned)
lengths, other internal changes were made to support
32-bit length program lengths (in binary). Previously
an attempt to load any program longer than 64k in
size, would result in the interpreter reporting a
corrupted image. Now "compiled" basic programs may
be as large as approx 3 GB, depending upon other
system resources.
* OUTPUT statement now permits a trailing ';' to suppress
the issuing of a newline.
* Functions FIRST, LAST and DLENGTH now make the 2nd argument
optional. When not provided, it assumes zero, meaning
the first dimension of the array.
BUG FIXES:
* Corrected some FIXED data type I/O issues.
* Direct execution of INPUT statement was corrected, when
the "REDO from start" message was issued.
* Corrected expression transmission of a DIM value into a
SUBROUTINE statement.
* The DATABASE statement no longer keeps old non-existing
or badly named database entries around (these no
long show in the SHOW TABLE display).
* Fixed bug that caused crash when symbols exceeded the
maximum number of characters.
PLATFORMS:
----------
The file named INSTALL discusses all platforms known to
host BDB-Basic successfully. One that was omitted was
FreeBSD (*BSD). FreeBSD was proven to work prior to
completing this release, but this was not retested at
release time. It should build and run ok.
THE FULL ChangeLog IS HERE:
---------------------------
http://bdbbasic.wiki.sourceforge.net/ChangeLog
THE PROJECT WEBSITE IS HERE:
----------------------------
http://bdbbasic.wiki.sourceforge.net
WHAT IS BDB-BASIC?
------------------
This is an open-sourced implementation of a business/scientific
BASIC interpreter with built-in database and screen support. The
Berkeley Database library is used for the database (no SQL is
required). Presently it can be hosted on almost any POSIX (*NIX)
environment, though a MinGW implementation is also planned in the
future for Windows users.
--
Warren.
> Release 0.75 is primarily a "Scientific Enhancements"
> release. Support for the COMPLEX data type is provided
> through the use of the Gnu Scientific Library (libgsl).
..
> NEW FEATURES SUMMARIZED:
>
> 1. The COMPLEX data type
> 2. Hundreds of Gnu Scientific Library subroutines,
> including the fast fourier transforms.
> 3. QSORT and BSEARCH built-in subroutines
> 4. ON ERROR GOTO enhancement.
> 5. New functions and built-in constants.
> 6. String lengths to 32-bit lengths.
> 7. Programs to 32-bit lengths.
> 8. Important bug fixes.
Sorry! I knew I was going to forget it.. here is
the main site where you can find the download link:
http://bdbbasic.wiki.sourceforge.net/
> --
> Warren.