Dependencies
CCruncher uses projects that already exist. The selection criteria have been: simplicity, efficiency and open source.
| Name | GSL | 
|---|---|
| Version | 2.6 | 
| URL | http://www.gnu.org/software/gsl/ | 
| License | GNU GPL | 
| Description | The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License. The library provides a wide range of mathematical routines such as random number generators, special functions, and least-squares fitting. There are over 1000 functions in total with an extensive test suite. | 
| Type | Required | 
| Usage | In CCruncher, the GSL library is used to generate random numbers, evaluate random number distributions, spline interpolation, find eigenvalues, Cholesky decomposition, and solve linear systems. | 
| Name | expat | 
|---|---|
| Version | 2.5.0 | 
| URL | https://libexpat.github.io/ | 
| License | MIT License | 
| Description | Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document, like start tags. | 
| Type | Required | 
| Usage | In CCruncher, the expat library is used to read XML files. | 
| Name | zlib | 
|---|---|
| Version | 1.2.12 | 
| URL | http://www.zlib.net/ | 
| License | Free license, see declaration at the home site | 
| Description | zlib is designed to be a free, general-purpose, legally unencumbered -- that is, not covered by any patents -- lossless data-compression library for use on virtually any computer hardware and operating system. | 
| Type | Required | 
| Usage | In CCruncher, the zlib library allows the usage of gzipped input files, such that the size of xml input files reduces drastically. | 
| Name | libconfig | 
|---|---|
| Version | 1.7.3 | 
| URL | https://hyperrealm.github.io/libconfig/ | 
| License | GNU Lesser General Public License | 
| Description | Libconfig is a simple library for processing structured configuration files. This file format is more compact and more readable than XML. And unlike XML, it is type-aware, so it is not necessary to do string parsing in application code. | 
| Type | Required | 
| Usage | In CCruncher, the libconfig library is used to read and write the configuration files of the module ccruncher-inf. | 
| Name | MiniCppUnit | 
|---|---|
| Version | 2.5 | 
| URL | http://sourceforge.net/projects/minicppunit/ | 
| License | GNU GPL | 
| Description | MiniCppUnit is a C++ unit testing framework. | 
| Type | Required | 
| Usage | In CCruncher, MiniCppUnit is used to test all basic classes.
              All classes matching the pattern *Test.?ppare unit tests. | 
| Notes | Applied minor patch (reported to authors) related to encoding (from ISO-8859-1 
              to UTF-8) and assertTrue(),assertTrueMissatge()methods. | 
| Name | Qt | 
|---|---|
| Version | 5.11.1 | 
| URL | http://www.qt.io/developers/ | 
| License | LGPL v2.1 | 
| Description | Qt is a cross-platform application and UI framework for developers using C++ or QML, a CSS & JavaScript like language. Qt Creator is the supporting Qt IDE. | 
| Type | Required (only gui version) | 
| Usage | In CCruncher, the Qt framework is used to create the gui version. | 
| Name | Qwt | 
|---|---|
| Version | 6.1.5 | 
| URL | http://qwt.sourceforge.net/ | 
| License | Qwt License, Version 1.0 [LGPL with exceptions] | 
| Description | The Qwt library contains GUI Components and utility classes which are primarily useful for programs with a technical background. Beside a 2D plot widget it provides scales, sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, or ranges of type double. | 
| Type | Required (only gui version) | 
| Usage | In CCruncher, the Qwt library is used to draw histograms and plots. | 
| Notes | Version 6.0.1 not supported. | 
| Name | C++ Todd's Date class | 
|---|---|
| Version | 2.0 | 
| URL | http://technical.silverglass.org/code/date-class | 
| License | GNU GPL | 
| Description | A relatively basic class designed to represent dates accurately over a very wide range, running from 4713BC to 9999AD, and handling the various calendar corrections, primarily the Julian/Gregorian changeover. It handles various kinds of date arithmetic efficiently, but conversions to and from more conventional month/day/year representations are more costly. | 
| Type | Required | 
| Usage | CCruncher uses extensively this class. | 
| Notes | This class has been slightly modified to meet the CCruncher's requirements. | 
| Files | Date.hpp, Date.cpp | 
| Name | C++ XmlHighlighter class | 
|---|---|
| Version | 1.0 | 
| URL | http://www.qtcentre.org/wiki/index.php?title=XmlHighlighter (broken link) | 
| License | GNU GPL | 
| Description | XmlHighlighter extends QSyntaxHighlighter implementing a basic XML highlight. The QSyntaxHighlighter class allows you to define syntax highlighting rules, and in addition, you can use the class to query a document's current formatting or user data. | 
| Type | Required (only gui version) | 
| Usage | CCruncher uses this class to highlight the XML files in the text editor. | 
| Notes | Solved some errors (eg. comments highlight) and changed some minors aspects (regular expressions, code format). | 
| Files | xmlhighlighter.hpp, xmlhighlighter.cpp | 
| Name | C++ CodeEditor class | 
|---|---|
| Version | 1.0 | 
| URL | http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html | 
| License | BSD license | 
| Description | CodeEditor is a simple editor that has line numbers and that highlights the current line. | 
| Type | Required (only gui version) | 
| Usage | CCruncher uses this class to edit the XML files. | 
| Name | The Legrand Orange Book | 
|---|---|
| Version | 1.0 | 
| URL | http://www.latextemplates.com/template/the-legrand-orange-book | 
| License | CC BY-NC-SA 3.0 | 
| Description | This latex book template features an elegant layout with a beautiful title page and chapter headings. The book itself is highly structured into chapters, sections and then subsections. | 
| Type | Required | 
| Usage | CCruncher's technical document uses this latex template with some modifications. |