This C/C++ library is an implementation of the Symbolic Computation Software
Composibility Protocol (SCSCP).
The current implementation is based on the specification version 1.3
(see http://www.symcomp.org/scscp , for more details related with SCSCP).
This library provides a C and C++ Application Programming Interface (API) to develop client applications to access Computer Algebra Systems which support that protocol.
Computer Algebra Systems could use these API to provide services to other applications using this protocol.
Authors
The library is written by M. Gastineau (CNRS - Observatoire de Paris - IMCCE) and is distributed under the free software CECILL-C or CECILL license.
M. Gastineau
Astronomie et Systèmes Dynamiques
CNRS - Observatoire de Paris - Institut de Mécanique Céleste
77 avenue Denfert-Rochereau
75014 PARIS
email : gastineau@imcce.fr
Licensing
This software is governed by the CECILL-C or CECILL version 2 license under French law and
abiding by the rules of distribution of free software. You can use,
modify and/or redistribute the software under the terms of the CeCILL-C or CeCILL
license as circulated by CEA, CNRS and INRIA at the following URL
http://www.cecill.info.
As this software is an open-source product distributed under two distinct licenses giving you the choice of one of the two licensing terms,
you have to choose to one of the two licenses CECILL-C or CECILL version 2. This allows the use of our code in a variety of software projects as wide as possible.
News
- Version 0.7.1 (October 2012)
- C++ client and server negociate the version 1.3 and after the version 1.2 (instead of only 1.3).
- Bug fixes
- scscpomfbin fails on big-endian architecture [#8520]
- tests are too long or hang in some cases [#8521]
Olds
- Version 0.7.0 (August 2012)
- Add the functions SCSCP_get_libversionstr and SCSCP_get_libversionnum.
- Add the macro SCSCP_CHECK_LIBVERSION.
- Add the support of pkg-config.
- Add the files AUTHORS and THANKS.
- Bug fixes
- The example decodeclient.c returns a status error [#8448]
- Version 0.6.4 (March 2012)
- Bug fixes
- missing type of action in a procedure call for SCSCP 1.2 and 1.3 [#8275]
- can't compile c++ tests on fedora 15 [#8277]
- can't compile c++ source files on windows [#8278]
- Version 0.6.3 (December 2011)
- Bug fixes
- some valid openmath expressions are reported invalid on server side [#8083]
- Version 0.6.2 (August 2011)
- Bug fixes
- does not report invalid OpenMath expression [#7939]
- Version 0.6.1 (May 2010)
- Bug fixes
- can't link on windows 64-bits [#6613]
- can't compile scscpsscommonxx.cpp on fedora 9 - i386 [#6622]
- Version 0.6.0 (December 2009)
- Add C++ interface.
- Add new function : SCSCP_xmlnode_getid.
- Support reference id for I/O into the C API
- Bug fixes
- can't compile scscpxmlnode.c on freebsd 7 [#6501]
- exit values in the documentation of SCSCP_init is duplicated [#6500]
- Version 0.5.0 (September 2009)
- Support the OpenMath binary encoding.
- Improve the parser for the xml encoding.
- Add new functions : SCSCP_xmlnode_readOMFdouble, SCSCP_xx_set_encodingtype, SCSCP_xx_get_encodingtype.
- Bug fixes
- slow sending data [#6388]
- bad encoding of the object OMV [#6391]
- openmath expressions encoded with namespaces are rejected [#6399]
- Version 0.4.3 (August 2009)
- Bug fixes
- The references objects (OMR) are written with href instead of xref [#6376]
- The library doesn't compile with a C++ compiler [#6358]
- Version 0.4.2 (May 2009)
- Change the licensing term : two distinct licenses CeCILL-C or CeCILL version 2. This allows a direct compatibility with GPL license.
- Bug fixes
- SCSCP_io_write doesn't update status on error [#6020]
- Tests fail on windows if xml dll arenot in standard path [#6032]
- Version 0.4.1 (May 2009)
- Remove the requirement of the C++ compiler to compile the library.
- Bug fixes
- crash when decoding the OpenMath error using the content dictionnary error [#5983]
- Add new functions : SCSCP_io_writexxx
- Add new constants : SCSCP_STATUS_OPENMATHNOTVALID
- Version 0.4.0 (Apr 2009)
- Update the library to be compliant with the specification version 1.3
- Add new functions : SCSCP_status_strerror, SCSCP_status_clear, SCSCP_ro_set_message, SCSCP_ro_get_message,
SCSCP_xmlnode_readOMxxx, SCSCP_io_writeOMxxx, SCSCP_sc_callsendinterrupt,
SCSCP_sc_getxmlnoderawstring, SCSCP_sc_infomessagesend, SCSCP_sc_executehookxmlnode,
SCSCP_sc_executehookstr, SCSCP_sc_remoteobjectxxx
- Add new constants : SCSCP_STATUS_INITIALIZER, SCSCP_STATUS_CALLIDISNOTSET , SCSCP_STATUS_RETURNTYPEISNOTSET,
SCSCP_STATUS_USAGEUNKNOWNMESSAGE
- Remove constants : SCSCP_RETURNOPTIONS_DEFAULT, SCSCP_CALLOPTIONS_IGNORE
- Version 0.3.2 (Jan 2009)
- Fix the termination of the test server on windows.
- Remove syntax errors in the documentation.
- Version 0.3.1 (Jan 2009)
- Bug fixes
- The function
SCSCP_ss_callrecvheader correctly updates the status information when the quit message is received.
How to properly cite SCSCP C Library
@manual {SCSCPCLibrary,
author = {M. Gastineau},
title = {SCSCP C Library - A C/C++ library for Symbolic Computation Software Composibility Protocol},
organization = {IMCCE},
edition = {0.7.1},
year = {2012},
month = October,
note = {\url{http://www.imcce.fr/trip/scscp/}}
}
Acknowledgment
Some part of this work is supported by the HPC-Europa programme, funded under the European Commission's Research Infrastructures activity of the Structuring the European Research Area programme, contract number RII3-CT-2003-506079.
This library has been developed under the project TRIP.