SeldonData C++ library
Description
SeldonData is a C++ library written for data processing. It enables to handle a large range of data in a convenient way.
Common tasks are input/output operations, data extraction, interpolations, statistics, etc. These operations may be achieved in a very few lines, through C++ methods. Low-level programmation is still possible (even memory allocation); but the library was written to avoid low-level programmation which may easily lead to mistakes.
C++ advanced features as exception handling are proposed. Exception handling is highly useful to check operations validity (bounds, dimensions, input/ouput operations, ...). Furthermore, a code based on SeldonData will benefit from a whole object-oriented framework.
SeldonData is provided under the GNU General Public License. The
documentation combines a user's guide and a documentation generated by Doxygen
.
Example
#include "SeldonData.hxx"
using namespace SeldonData;
int main()
{
// Defines the grids:
// - GridX is a grid of length 25, starting with -1. and with a step of 1.
// - GridX_out is a grid of length 25, starting with 2.5 and with a step of 0.5.
RegularGrid<double> GridX_in(-1., 1., 25), GridX_out(2.5, 0.5, 10);
// Two double-precision and one-dimensional arrays defined on the previous grids.
Data<double, 1> DataIn(GridX_in), DataOut(GridX_out);
DataIn.Fill(-1.0); // Fills the array with -1.
// The Data objects are gridded arrays: no need to provide the grids to the
// interpolation function.
LinearInterpolationRegular(DataIn, DataOut);
DataOut.Print(); // On screen.
// Now writes easily the results in text format.
FormatText Output;
Output.Write(DataOut, "example0.dat");
return 0;
}
Download
Latest release: SeldonData - version 1.5.1 (2007-04-24)
Release 1.5: SeldonData - version 1.5 (2006-09-29)
Release 1.4: SeldonData - version 1.4 (2004-10-02)
Release 1.3: SeldonData - version 1.3 (2004-02-26)
Release 1.2: SeldonData - version 1.2 (2003-10-02)
Release 1.1: SeldonData - version 1.1 (2003-05-11)
SeldonData is based on Blitz++
and Talos.
Documentation
Latest releases: HTML
documentation for SeldonData 1.4 - version 2 (relevant for SeldonData
1.5.x); or browse it online
.
For release 1.2: HTML documentation for SeldonData 1.2 - version 3 (2003-10-15).
For release 1.1: HTML documentation for SeldonData 1.1 - version 1 (2003-06-20).
Release Notes (versions 1.5.x)
- Main improvements:
- Improved management of 'Data'.
- Added 'Data::operator()()' which does the same as 'Data::GetArray()'.
- Added 'Data::ReferenceCopy' and changed 'Data::Copy' so that it performs a full copy (duplication) instead of a reference copy.
- Improved error messages when the end of a binary file is reached: the name of the file is now given.
- Added methods 'FormatBinary::Read(ExtStream&, ...)'.
- 'RegularGrid::operator=' and 'GeneralGrid::operator=' now resize the target grid.
- Changing grid main variable is now disabled unless 'SELDONDATA_ALLOW_VARIABLE_CHANGE' is set.
- Improved management of 'Data'.
- Bug fixes:
- In 'Data::Copy', grids of current Data instance were deleted, even if they were shared with other Data instances.
- Fixed a bug in the detection of the end of a file.
- Fixed a bug in 'Bias_interpolation'.
- Other changes
- Modified the code so that it should be compliant with requirements of g++ 3.4 and g++ 4.x.
In French
Electronic mail