mirror of
https://github.com/jkriege2/JKQtPlotter.git
synced 2024-11-15 10:05:47 +08:00
split jkqtcommon into basic tools and jkqtcommon_statistics_and_math for advanced math tools not used by all libs
This commit is contained in:
parent
e923a9de7b
commit
8558896f9b
@ -4,8 +4,8 @@ SUBDIRS += jkqtplotterlib \
|
|||||||
jkqtplotterlib_sharedlib \
|
jkqtplotterlib_sharedlib \
|
||||||
jkqtmathtextlib \
|
jkqtmathtextlib \
|
||||||
jkqtmathtextlib_sharedlib \
|
jkqtmathtextlib_sharedlib \
|
||||||
jkqtpcommonlib \
|
jkqtcommonlib \
|
||||||
jkqtpcommonlib_sharedlib \
|
jkqtcommonlib_sharedlib \
|
||||||
jkqtfastplotterlib \
|
jkqtfastplotterlib \
|
||||||
jkqtfastplotterlib_sharedlib \
|
jkqtfastplotterlib_sharedlib \
|
||||||
jkqtmathtext_simpletest \
|
jkqtmathtext_simpletest \
|
||||||
@ -24,20 +24,20 @@ jkqtplotterlib_sharedlib.file = qmake/sharedlib/jkqtplotterlib/jkqtplotterlib.pr
|
|||||||
jkqtmathtextlib.file = qmake/staticlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
jkqtmathtextlib.file = qmake/staticlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
||||||
jkqtmathtextlib_sharedlib.file = qmake/sharedlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
jkqtmathtextlib_sharedlib.file = qmake/sharedlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
||||||
|
|
||||||
jkqtpcommonlib.file = qmake/staticlib/jkqtpcommonlib/jkqtpcommonlib.pro
|
jkqtcommonlib.file = qmake/staticlib/jkqtcommonlib/jkqtcommonlib.pro
|
||||||
jkqtpcommonlib_sharedlib.file = qmake/sharedlib/jkqtpcommonlib/jkqtpcommonlib.pro
|
jkqtcommonlib_sharedlib.file = qmake/sharedlib/jkqtcommonlib/jkqtcommonlib.pro
|
||||||
|
|
||||||
jkqtfastplotterlib.file = qmake/staticlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
jkqtfastplotterlib.file = qmake/staticlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
||||||
jkqtfastplotterlib_sharedlib.file = qmake/sharedlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
jkqtfastplotterlib_sharedlib.file = qmake/sharedlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
||||||
|
|
||||||
jkqtmathtext_simpletest.subdir = examples/jkqtmathtext_simpletest
|
jkqtmathtext_simpletest.subdir = examples/jkqtmathtext_simpletest
|
||||||
jkqtmathtext_simpletest.depends = jkqtmathtextlib jkqtpcommonlib
|
jkqtmathtext_simpletest.depends = jkqtmathtextlib jkqtcommonlib
|
||||||
|
|
||||||
jkqtmathtext_test.subdir = examples/jkqtmathtext_test
|
jkqtmathtext_test.subdir = examples/jkqtmathtext_test
|
||||||
jkqtmathtext_test.depends = jkqtplotterlib jkqtpcommonlib
|
jkqtmathtext_test.depends = jkqtplotterlib jkqtcommonlib
|
||||||
|
|
||||||
jkqtplotter_simpletest.file = examples/simpletest/simpletest.pro
|
jkqtplotter_simpletest.file = examples/simpletest/simpletest.pro
|
||||||
jkqtplotter_simpletest.depends = jkqtplotterlib jkqtpcommonlib
|
jkqtplotter_simpletest.depends = jkqtplotterlib jkqtcommonlib
|
||||||
|
|
||||||
jkqtplot_test.file = examples/jkqtplot_test/jkqtplot_test.pro
|
jkqtplot_test.file = examples/jkqtplot_test/jkqtplot_test.pro
|
||||||
jkqtplot_test.depends = jkqtplotterlib
|
jkqtplot_test.depends = jkqtplotterlib
|
||||||
|
@ -4,8 +4,8 @@ SUBDIRS += jkqtplotterlib \
|
|||||||
jkqtplotterlib_sharedlib \
|
jkqtplotterlib_sharedlib \
|
||||||
jkqtmathtextlib \
|
jkqtmathtextlib \
|
||||||
jkqtmathtextlib_sharedlib \
|
jkqtmathtextlib_sharedlib \
|
||||||
jkqtpcommonlib \
|
jkqtcommonlib \
|
||||||
jkqtpcommonlib_sharedlib \
|
jkqtcommonlib_sharedlib \
|
||||||
jkqtfastplotterlib \
|
jkqtfastplotterlib \
|
||||||
jkqtfastplotterlib_sharedlib
|
jkqtfastplotterlib_sharedlib
|
||||||
|
|
||||||
@ -16,8 +16,8 @@ jkqtplotterlib_sharedlib.file = qmake/sharedlib/jkqtplotterlib/jkqtplotterlib.pr
|
|||||||
jkqtmathtextlib.file = qmake/staticlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
jkqtmathtextlib.file = qmake/staticlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
||||||
jkqtmathtextlib_sharedlib.file = qmake/sharedlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
jkqtmathtextlib_sharedlib.file = qmake/sharedlib/jkqtmathtextlib/jkqtmathtextlib.pro
|
||||||
|
|
||||||
jkqtpcommonlib.file = qmake/staticlib/jkqtpcommonlib/jkqtpcommonlib.pro
|
jkqtcommonlib.file = qmake/staticlib/jkqtcommonlib/jkqtcommonlib.pro
|
||||||
jkqtpcommonlib_sharedlib.file = qmake/sharedlib/jkqtpcommonlib/jkqtpcommonlib.pro
|
jkqtcommonlib_sharedlib.file = qmake/sharedlib/jkqtcommonlib/jkqtcommonlib.pro
|
||||||
|
|
||||||
jkqtfastplotterlib.file = qmake/staticlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
jkqtfastplotterlib.file = qmake/staticlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
||||||
jkqtfastplotterlib_sharedlib.file = qmake/sharedlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
jkqtfastplotterlib_sharedlib.file = qmake/sharedlib/jkqtfastplotterlib/jkqtfastplotterlib.pro
|
||||||
|
55
doc/dox/jkqtcommon.dox
Normal file
55
doc/dox/jkqtcommon.dox
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
\defgroup jkqtptools Support Function libraries (e.g. for JKQTPlotter)
|
||||||
|
|
||||||
|
This group contains several tool functions and datatypesthat are neccessary for
|
||||||
|
JKQTPlotter, JKQTMathtext and the other major classes in this library, but may
|
||||||
|
also be used separately. The functions and datatypes are sorted into several
|
||||||
|
functionaly groups.
|
||||||
|
|
||||||
|
|
||||||
|
\defgroup jkqtptools_jkqtcommon JKQTCommon: Diverse Basic Utilities
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
This summarizes all functions from JKQTCommon-library, which provides basic (Qt-bound) tools for all other libs in the package JKQtPlotter (i.e. also JKQtFastPlotter and JKQtMathText).
|
||||||
|
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_basic Mathematical Functions & Tools
|
||||||
|
\ingroup jkqtptools_math
|
||||||
|
|
||||||
|
|
||||||
|
This group assembles a variety of mathematical tool functions that are used in different places.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\defgroup jkqtptools_string String/String-Conversion Tool Functions
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
Offers diverse function to convert different datatypes (e.g. double, int, diverse enums) to and from strings and for string manipulation.
|
||||||
|
|
||||||
|
\defgroup jkqtptools_qt Additional Tools for Qt
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
|
||||||
|
\defgroup jkqtptools_qtwidgets Additional Widgets for Qt
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
\defgroup jkqtptools_drawing Drawing & Graphics Tools
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
Specialized drawing functions used by the plotters and LaTeX renderers.
|
||||||
|
|
||||||
|
\defgroup jkqtptools_debugging Debugging Tools
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
Functions that help during debugging (e.g. an assert function/macro).
|
||||||
|
|
||||||
|
\defgroup jkqtptools_codestructuring Code Structuring Tools
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
Classes and functions that help to structure the code (e.g. RAII constructs)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
95
doc/dox/jkqtcommon_statistics_and_math.dox
Normal file
95
doc/dox/jkqtcommon_statistics_and_math.dox
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
/*!
|
||||||
|
|
||||||
|
|
||||||
|
\defgroup jkqtcommon_statistics_and_math JKQTCommonStatisticsAndMath: Special Math and Statistics Utilities
|
||||||
|
\ingroup jkqtptools
|
||||||
|
|
||||||
|
This summarizes all functions from JKQTCommonStatisticsAndMath-library, which provides special and advanced math and statistics tools, mostly used by JKQtPlotter.
|
||||||
|
|
||||||
|
|
||||||
|
\defgroup jkqtptools_algorithms Diverse Algorithms
|
||||||
|
\ingroup jkqtcommon_statistics_and_math
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math Mathematical Computations & Expression Parsing
|
||||||
|
\ingroup jkqtcommon_statistics_and_math
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_array Data Array Tools
|
||||||
|
\ingroup jkqtcommon_statistics_and_math
|
||||||
|
|
||||||
|
Functions in this group form the basis for the statistics (\ref jkqtptools_math_statistics ) and linear algebra libraries (\ref jkqtptools_math_linalg ), by providing allocation and freeing of (aligned) memory arrays.
|
||||||
|
|
||||||
|
\see JKQTPlotterBasicJKQTPDatastoreStatistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_linalg Linear Algebra Tools
|
||||||
|
\ingroup jkqtcommon_statistics_and_math
|
||||||
|
|
||||||
|
This group assembles a basic set of linear algebra methods, including matrix inversion, which are required e.g. by the statistics library (\ref jkqtptools_math_statistics )
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics Statistical Computations
|
||||||
|
\ingroup jkqtcommon_statistics_and_math
|
||||||
|
|
||||||
|
This group contains a statistics library, which offers several basic methods and is based on an iterator interface:
|
||||||
|
- \ref jkqtptools_math_statistics_basic
|
||||||
|
- \ref jkqtptools_math_statistics_grouped
|
||||||
|
- \ref jkqtptools_math_statistics_regression
|
||||||
|
- \ref jkqtptools_math_statistics_poly
|
||||||
|
- \ref jkqtptools_math_statistics_1dhist
|
||||||
|
- \ref jkqtptools_math_statistics_2dhist
|
||||||
|
- \ref jkqtptools_math_statistics_1dkde
|
||||||
|
- \ref jkqtptools_math_statistics_2dkde
|
||||||
|
.
|
||||||
|
In addition there is a set of "adaptors" (see \ref jkqtptools_math_statistics_adaptors ) that shortcut the calculation of a statistical property and the subsequent parametrization of a plot with the results. With these adaptors you can add e.g. a boxplot or histogram chart to a plot by calling only one function.
|
||||||
|
|
||||||
|
|
||||||
|
All statistics functions use an iterator-based interface, comparable to the interface of the <a href="http://www.cplusplus.com/reference/algorithm/">algorithms in the C++ standard template library</a>. To this end, the class `JKQTPDatastore` provides an iterator interface to its columns, using the functions `JKQTPDatastore::begin()` and `JKQTPDatastore::end()`. Both functions simply receive the column ID as parameter and exist in a const and a mutable variant. the latter allows to also edit the data. In addition the function `JKQTPDatastore::backInserter()` returns a back-inserter iterator (like generated for STL containers with `std::back_inserter(container)`) that also allows to append to the column.
|
||||||
|
|
||||||
|
Note that the iterator interface allows to use these functions with any container that provides such iterators (e.g. `std::vector<double>`, `std::list<int>`, `std::set<float>`, `QVector<double>`...).
|
||||||
|
|
||||||
|
Code using one of these statistics functions therefore may look e.g. like this:
|
||||||
|
\code
|
||||||
|
// mean of a column in a JKQTPDatastore:
|
||||||
|
double mean=jkqtpstatAverage(datastore1->begin(randomdatacol1), datastore1->end(randomdatacol1));
|
||||||
|
|
||||||
|
// mean of a std::vector
|
||||||
|
std::vector<double> data {1,2,4,5,7,8,10,2,1,3,5};
|
||||||
|
double meanvec=jkqtpstatAverage(data.begin(), data.end());
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
All statistics functions use all values in the given range and convert each value to a `double`, using `jkqtp_todouble()`. The return values is always a dohble. Therefore you can use these functions to calculate statistics of ranges of any type that can be converted to `double`. Values that do not result in a valid `double`are not used in calculating the statistics. Therefore you can exclude values by setting them `JKQTP_DOUBLE_NAN` (i.e. "not a number").
|
||||||
|
|
||||||
|
\see see for detailed examples: \ref JKQTPlotterBasicJKQTPDatastoreStatistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_basic Basic statistics
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_grouped Grouped statistics
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_regression Regression Analysis
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_poly Polynomial Fits/Regression
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_1dhist 1-dimensional Histograms
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_2dhist 2-dimensional Histograms
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_1dkde 1-dimensional Kernel Density Estimates
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_1dkde_kernels Kernels for 1-dimensional Histograms
|
||||||
|
\ingroup jkqtptools_math_statistics_1dkde
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_2dkde 2-dimensional Kernel Density Estimates
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_2dkde_kernels Kernels for 2-dimensional Histograms
|
||||||
|
\ingroup jkqtptools_math_statistics_2dkde
|
||||||
|
|
||||||
|
\defgroup jkqtptools_math_statistics_adaptors Statistics To Plot Adaptors
|
||||||
|
\ingroup jkqtptools_math_statistics
|
||||||
|
|
||||||
|
*/
|
@ -1,140 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
|
|
||||||
\defgroup jkqtptools Support Function library (e.g. for JKQTPlotter)
|
|
||||||
|
|
||||||
This group contains several tool functions and datatypesthat are neccessary for
|
|
||||||
JKQTPlotter, JKQTMathtext and the other major classes in this library, but may
|
|
||||||
also be used separately. The functions and datatypes are sorted into several
|
|
||||||
functionaly groups.
|
|
||||||
|
|
||||||
|
|
||||||
\defgroup jkqtptools_algorithms Diverse Algorithms
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math Mathematical Computations & Expression Parsing
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_basic Mathematical Functions & Tools
|
|
||||||
\ingroup jkqtptools_math
|
|
||||||
|
|
||||||
|
|
||||||
This group assembles a variety of mathematical tool functions that are used in different places.
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_array Data Array Tools
|
|
||||||
\ingroup jkqtptools_math
|
|
||||||
|
|
||||||
Functions in this group form the basis for the statistics (\ref jkqtptools_math_statistics ) and linear algebra libraries (\ref jkqtptools_math_linalg ), by providing allocation and freeing of (aligned) memory arrays.
|
|
||||||
|
|
||||||
\see JKQTPlotterBasicJKQTPDatastoreStatistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_linalg Linear Algebra Tools
|
|
||||||
\ingroup jkqtptools_math
|
|
||||||
|
|
||||||
This group assembles a basic set of linear algebra methods, including matrix inversion, which are required e.g. by the statistics library (\ref jkqtptools_math_statistics )
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics Statistical Computations
|
|
||||||
\ingroup jkqtptools_math
|
|
||||||
|
|
||||||
This group contains a statistics library, which offers several basic methods and is based on an iterator interface:
|
|
||||||
- \ref jkqtptools_math_statistics_basic
|
|
||||||
- \ref jkqtptools_math_statistics_grouped
|
|
||||||
- \ref jkqtptools_math_statistics_regression
|
|
||||||
- \ref jkqtptools_math_statistics_poly
|
|
||||||
- \ref jkqtptools_math_statistics_1dhist
|
|
||||||
- \ref jkqtptools_math_statistics_2dhist
|
|
||||||
- \ref jkqtptools_math_statistics_1dkde
|
|
||||||
- \ref jkqtptools_math_statistics_2dkde
|
|
||||||
.
|
|
||||||
In addition there is a set of "adaptors" (see \ref jkqtptools_math_statistics_adaptors ) that shortcut the calculation of a statistical property and the subsequent parametrization of a plot with the results. With these adaptors you can add e.g. a boxplot or histogram chart to a plot by calling only one function.
|
|
||||||
|
|
||||||
|
|
||||||
All statistics functions use an iterator-based interface, comparable to the interface of the <a href="http://www.cplusplus.com/reference/algorithm/">algorithms in the C++ standard template library</a>. To this end, the class `JKQTPDatastore` provides an iterator interface to its columns, using the functions `JKQTPDatastore::begin()` and `JKQTPDatastore::end()`. Both functions simply receive the column ID as parameter and exist in a const and a mutable variant. the latter allows to also edit the data. In addition the function `JKQTPDatastore::backInserter()` returns a back-inserter iterator (like generated for STL containers with `std::back_inserter(container)`) that also allows to append to the column.
|
|
||||||
|
|
||||||
Note that the iterator interface allows to use these functions with any container that provides such iterators (e.g. `std::vector<double>`, `std::list<int>`, `std::set<float>`, `QVector<double>`...).
|
|
||||||
|
|
||||||
Code using one of these statistics functions therefore may look e.g. like this:
|
|
||||||
\code
|
|
||||||
// mean of a column in a JKQTPDatastore:
|
|
||||||
double mean=jkqtpstatAverage(datastore1->begin(randomdatacol1), datastore1->end(randomdatacol1));
|
|
||||||
|
|
||||||
// mean of a std::vector
|
|
||||||
std::vector<double> data {1,2,4,5,7,8,10,2,1,3,5};
|
|
||||||
double meanvec=jkqtpstatAverage(data.begin(), data.end());
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
All statistics functions use all values in the given range and convert each value to a `double`, using `jkqtp_todouble()`. The return values is always a dohble. Therefore you can use these functions to calculate statistics of ranges of any type that can be converted to `double`. Values that do not result in a valid `double`are not used in calculating the statistics. Therefore you can exclude values by setting them `JKQTP_DOUBLE_NAN` (i.e. "not a number").
|
|
||||||
|
|
||||||
\see see for detailed examples: \ref JKQTPlotterBasicJKQTPDatastoreStatistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_basic Basic statistics
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_grouped Grouped statistics
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_regression Regression Analysis
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_poly Polynomial Fits/Regression
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_1dhist 1-dimensional Histograms
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_2dhist 2-dimensional Histograms
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_1dkde 1-dimensional Kernel Density Estimates
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_1dkde_kernels Kernels for 1-dimensional Histograms
|
|
||||||
\ingroup jkqtptools_math_statistics_1dkde
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_2dkde 2-dimensional Kernel Density Estimates
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_2dkde_kernels Kernels for 2-dimensional Histograms
|
|
||||||
\ingroup jkqtptools_math_statistics_2dkde
|
|
||||||
|
|
||||||
\defgroup jkqtptools_math_statistics_adaptors Statistics To Plot Adaptors
|
|
||||||
\ingroup jkqtptools_math_statistics
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\defgroup jkqtptools_string String/String-Conversion Tool Functions
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
Offers diverse function to convert different datatypes (e.g. double, int, diverse enums) to and from strings and for string manipulation.
|
|
||||||
|
|
||||||
\defgroup jkqtptools_qt Additional Tools for Qt
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
|
|
||||||
\defgroup jkqtptools_qtwidgets Additional Widgets for Qt
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
\defgroup jkqtptools_drawing Drawing & Graphics Tools
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
Specialized drawing functions used by the plotters and LaTeX renderers.
|
|
||||||
|
|
||||||
\defgroup jkqtptools_debugging Debugging Tools
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
Functions that help during debugging (e.g. an assert function/macro).
|
|
||||||
|
|
||||||
\defgroup jkqtptools_codestructuring Code Structuring Tools
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
Classes and functions that help to structure the code (e.g. RAII constructs)
|
|
||||||
|
|
||||||
\defgroup jkqtptools_enums Enums for JKQTPlotter (including String Conversion)
|
|
||||||
\ingroup jkqtptools
|
|
||||||
|
|
||||||
Assembles diverse ENUMs required by JKQTPlotter.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\defgroup jkqtplotter JKQTPlotter: Qt based Scientific Plotter Class
|
\defgroup jkqtplotter JKQTPlotter: Qt based Scientific Plotter Class
|
||||||
|
|
||||||
A Qt based plotter for 2D scientific graphs. Main Plotting widget is JKQTPlotter.
|
A Qt based plotter for 2D scientific graphs. Main Plotting widget is JKQTPlotter.
|
||||||
|
@ -17,6 +17,7 @@ Changes, compared to \ref page_whatsnew_V4_0_0 "v4.0.0" include:
|
|||||||
<li>General:<ul>
|
<li>General:<ul>
|
||||||
<li>CLEANUP (BREAKING) of library structure</li>
|
<li>CLEANUP (BREAKING) of library structure</li>
|
||||||
<li>NEW: Using precompiled headers in CMake-build to speed up build times</li>
|
<li>NEW: Using precompiled headers in CMake-build to speed up build times</li>
|
||||||
|
<li>NEW/BREAKING: split jkqtcommon into basic tools and jkqtcommon_statistics_and_math for advanced math tools not used by all libs</li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li>JKQtPlotter:<ul>
|
<li>JKQtPlotter:<ul>
|
||||||
<li>FIXED issue described in <a href="https://github.com/jkriege2/JKQtPlotter/pull/62">#62: Fix custom labels draw, because giving exactly two label-strings did not display all of them</a>, thanks to <a href="https://github.com/FalsinSoft">user:FalsinSoft</a></li>
|
<li>FIXED issue described in <a href="https://github.com/jkriege2/JKQtPlotter/pull/62">#62: Fix custom labels draw, because giving exactly two label-strings did not display all of them</a>, thanks to <a href="https://github.com/FalsinSoft">user:FalsinSoft</a></li>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include "jkqtplotter/graphs/jkqtpscatter.h"
|
#include "jkqtplotter/graphs/jkqtpscatter.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpbarchart.h"
|
#include "jkqtplotter/graphs/jkqtpbarchart.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
||||||
#include "jkqtcommon/jkqtpstatisticstools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatisticstools.h"
|
||||||
#include "jkqtcommon/jkqtpstringtools.h"
|
#include "jkqtcommon/jkqtpstringtools.h"
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "jkqtplotter/graphs/jkqtpboxplot.h"
|
#include "jkqtplotter/graphs/jkqtpboxplot.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpevaluatedfunction.h"
|
#include "jkqtplotter/graphs/jkqtpevaluatedfunction.h"
|
||||||
#include "jkqtcommon/jkqtpstatisticstools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatisticstools.h"
|
||||||
#include "jkqtcommon/jkqtpstringtools.h"
|
#include "jkqtcommon/jkqtpstringtools.h"
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "jkqtplotter/graphs/jkqtpboxplot.h"
|
#include "jkqtplotter/graphs/jkqtpboxplot.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpevaluatedfunction.h"
|
#include "jkqtplotter/graphs/jkqtpevaluatedfunction.h"
|
||||||
#include "jkqtcommon/jkqtpstatisticstools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatisticstools.h"
|
||||||
#include "jkqtcommon/jkqtpstringtools.h"
|
#include "jkqtcommon/jkqtpstringtools.h"
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpgeometric.h"
|
#include "jkqtplotter/graphs/jkqtpgeometric.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpscatter.h"
|
#include "jkqtplotter/graphs/jkqtpscatter.h"
|
||||||
#include "jkqtcommon/jkqtpstatisticstools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatisticstools.h"
|
||||||
#include "jkqtcommon/jkqtpstringtools.h"
|
#include "jkqtcommon/jkqtpstringtools.h"
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include "jkqtplotter/graphs/jkqtpviolinplot.h"
|
#include "jkqtplotter/graphs/jkqtpviolinplot.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpsinglecolumnsymbols.h"
|
#include "jkqtplotter/graphs/jkqtpsinglecolumnsymbols.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
#include "jkqtplotter/graphs/jkqtpstatisticsadaptors.h"
|
||||||
#include "jkqtcommon/jkqtpstatisticstools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatisticstools.h"
|
||||||
#include <random>
|
#include <random>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@ configure_file(${CMAKE_CURRENT_LIST_DIR}/jkqtplotter_version.h.in
|
|||||||
include_directories(.)
|
include_directories(.)
|
||||||
|
|
||||||
add_subdirectory(jkqtcommon)
|
add_subdirectory(jkqtcommon)
|
||||||
|
add_subdirectory(jkqtcommon_statistics_and_math)
|
||||||
add_subdirectory(jkqtmathtext)
|
add_subdirectory(jkqtmathtext)
|
||||||
add_subdirectory(jkqtfastplotter)
|
add_subdirectory(jkqtfastplotter)
|
||||||
add_subdirectory(jkqtplotter)
|
add_subdirectory(jkqtplotter)
|
||||||
|
@ -1,17 +1,12 @@
|
|||||||
# JKQTPlotter: LIB subdirectory
|
# JKQTPlotter: LIB subdirectory
|
||||||
|
|
||||||
This directory contains all files that belong to the JKQTPlotter library (including the files of the JKQTFastPlotter and JKMathText). There are several ways to add these to your program:
|
This directory contains all files that belong to the JKQTPlotter library (including the files of the JKQTFastPlotter and JKMathText).
|
||||||
|
|
||||||
### simply include all necessary files
|
The single libs are:
|
||||||
If you use QMake and simply want to include all necessary files into your project, include one of these `PRI`-files into your QMake Project:
|
- jkqtcommon: general tool functions, used by many of the other libs
|
||||||
- `jkqtplotter.pri` contains all files in this library, including `JKQTFastPlotter` and `JKQTMathText`
|
- jkqtcommon_statistics_and_math: advanced math features used only by few of the other libs
|
||||||
- `jkqtfastplotter.pri` contains only those files from this directory which are necessary to build `JKQTFastPlotter`
|
- jkqtfastplotter: a fast plotter variant wiith fewer features
|
||||||
- `jkqtmathtext.pri` contains only those files from this directory which are necessary to build `JKQTMathText`
|
- jkqtmathtext: a LaTeX parser and renderer used by JKQtPlotter
|
||||||
- `jkqtpcommon.pri` common support library for all libraries above (math tools, basic drawing tools, ...)
|
- jkqtplotter: the full-featured plotter library
|
||||||
|
|
||||||
### Build static libraries
|
|
||||||
In the directory [`../staticlib`](../staticlib) you will find several Project files that build a static library of the full JKQTPlotter (including JKQTFastPlotter and JKMathText), or of subsets of this library. You can then link against these libs in your project.
|
|
||||||
|
|
||||||
### Build shared libraries (DLLs, SOs, ...)
|
|
||||||
In the directory [`../sharedlib`](../sharedlib) you will find several Project files that build a dynamic shared library of the full JKQTPlotter (including JKQTFastPlotter and JKMathText), or of subsets of this library. You can then link against these libs in your project.
|
|
||||||
|
|
||||||
|
@ -19,49 +19,28 @@ isEmpty(JKQTP_COMMON_PRI_INCLUDED) {
|
|||||||
HEADERS += $$PWD/jkqtcommon/jkqtcommon_imexport.h \
|
HEADERS += $$PWD/jkqtcommon/jkqtcommon_imexport.h \
|
||||||
$$PWD/jkqtcommon/jkqtpdebuggingtools.h \
|
$$PWD/jkqtcommon/jkqtpdebuggingtools.h \
|
||||||
$$PWD/jkqtcommon/jkqtpmathtools.h \
|
$$PWD/jkqtcommon/jkqtpmathtools.h \
|
||||||
$$PWD/jkqtcommon/jkqtpalgorithms.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstringtools.h \
|
$$PWD/jkqtcommon/jkqtpstringtools.h \
|
||||||
$$PWD/jkqtcommon/jkqtplinalgtools.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpcodestructuring.h \
|
$$PWD/jkqtcommon/jkqtpcodestructuring.h \
|
||||||
$$PWD/jkqtcommon/jkqtpbasicimagetools.h \
|
$$PWD/jkqtcommon/jkqtpbasicimagetools.h \
|
||||||
$$PWD/jkqtcommon/jkqtpgeometrytools.h \
|
$$PWD/jkqtcommon/jkqtpgeometrytools.h \
|
||||||
$$PWD/jkqtcommon/jkqtpdrawingtools.h \
|
$$PWD/jkqtcommon/jkqtpdrawingtools.h \
|
||||||
$$PWD/jkqtcommon/jkqtpenhancedpainter.h \
|
$$PWD/jkqtcommon/jkqtpenhancedpainter.h \
|
||||||
$$PWD/jkqtcommon/jkqtphighrestimer.h \
|
$$PWD/jkqtcommon/jkqtphighrestimer.h \
|
||||||
$$PWD/jkqtcommon/jkqtpmathparser.h \
|
|
||||||
$$PWD/jkqtcommon/jkqttools.h \
|
$$PWD/jkqtcommon/jkqttools.h \
|
||||||
$$PWD/jkqtcommon/jkqtparraytools.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatisticstools.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatbasics.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstathistogram.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatkde.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatregression.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatpoly.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatgrouped.h \
|
|
||||||
$$PWD/jkqtcommon/jkqtpicons.h
|
$$PWD/jkqtcommon/jkqtpicons.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SOURCES += $$PWD/jkqtcommon/jkqtpdebuggingtools.cpp \
|
SOURCES += $$PWD/jkqtcommon/jkqtpdebuggingtools.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtpmathtools.cpp \
|
$$PWD/jkqtcommon/jkqtpmathtools.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtpalgorithms.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstringtools.cpp \
|
$$PWD/jkqtcommon/jkqtpstringtools.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtplinalgtools.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpcodestructuring.cpp \
|
$$PWD/jkqtcommon/jkqtpcodestructuring.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtpbasicimagetools.cpp \
|
$$PWD/jkqtcommon/jkqtpbasicimagetools.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtpgeometrytools.cpp \
|
$$PWD/jkqtcommon/jkqtpgeometrytools.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtpdrawingtools.cpp \
|
$$PWD/jkqtcommon/jkqtpdrawingtools.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtpenhancedpainter.cpp \
|
$$PWD/jkqtcommon/jkqtpenhancedpainter.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtphighrestimer.cpp \
|
$$PWD/jkqtcommon/jkqtphighrestimer.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtpmathparser.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqttools.cpp \
|
$$PWD/jkqtcommon/jkqttools.cpp \
|
||||||
$$PWD/jkqtcommon/jkqtparraytools.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatbasics.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstathistogram.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatkde.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatregression.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatpoly.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpstatgrouped.cpp \
|
|
||||||
$$PWD/jkqtcommon/jkqtpicons.cpp
|
$$PWD/jkqtcommon/jkqtpicons.cpp
|
||||||
|
|
||||||
|
|
@ -23,24 +23,14 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
|||||||
set(SOURCES
|
set(SOURCES
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpdebuggingtools.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpdebuggingtools.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpmathtools.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpmathtools.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpalgorithms.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpstringtools.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpstringtools.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtplinalgtools.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpcodestructuring.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpcodestructuring.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpbasicimagetools.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpbasicimagetools.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpgeometrytools.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpgeometrytools.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpdrawingtools.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpdrawingtools.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpenhancedpainter.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpenhancedpainter.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtphighrestimer.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtphighrestimer.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpmathparser.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqttools.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqttools.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtparraytools.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatbasics.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpstathistogram.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatkde.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatregression.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatpoly.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatgrouped.cpp
|
|
||||||
${CMAKE_CURRENT_LIST_DIR}/jkqtpicons.cpp
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpicons.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -49,46 +39,20 @@ set(HEADERS
|
|||||||
$<INSTALL_INTERFACE:jkqtcommon_imexport.h>
|
$<INSTALL_INTERFACE:jkqtcommon_imexport.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpdebuggingtools.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpdebuggingtools.h>
|
||||||
$<INSTALL_INTERFACE:jkqtpdebuggingtools.h>
|
$<INSTALL_INTERFACE:jkqtpdebuggingtools.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpmathtools.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpmathtools.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpalgorithms.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpalgorithms.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstringtools.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstringtools.h>
|
||||||
$<INSTALL_INTERFACE:jkqtpstringtools.h>
|
$<INSTALL_INTERFACE:jkqtpstringtools.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtplinalgtools.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtplinalgtools.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpcodestructuring.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpcodestructuring.h>
|
||||||
$<INSTALL_INTERFACE:jkqtpcodestructuring.h>
|
$<INSTALL_INTERFACE:jkqtpcodestructuring.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpbasicimagetools.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpbasicimagetools.h>
|
||||||
$<INSTALL_INTERFACE:jkqtpbasicimagetools.h>
|
$<INSTALL_INTERFACE:jkqtpbasicimagetools.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpgeometrytools.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpgeometrytools.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpdrawingtools.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpdrawingtools.h>
|
||||||
$<INSTALL_INTERFACE:jkqtpdrawingtools.h>
|
$<INSTALL_INTERFACE:jkqtpdrawingtools.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpenhancedpainter.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpenhancedpainter.h>
|
||||||
$<INSTALL_INTERFACE:jkqtpenhancedpainter.h>
|
$<INSTALL_INTERFACE:jkqtpenhancedpainter.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtphighrestimer.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtphighrestimer.h>
|
||||||
$<INSTALL_INTERFACE:jkqtphighrestimer.h>
|
$<INSTALL_INTERFACE:jkqtphighrestimer.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpmathparser.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpmathparser.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqttools.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqttools.h>
|
||||||
$<INSTALL_INTERFACE:jkqttools.h>
|
$<INSTALL_INTERFACE:jkqttools.h>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtparraytools.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtparraytools.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatisticstools.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpstatisticstools.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatbasics.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpstatbasics.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstathistogram.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpstathistogram.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatkde.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpstatkde.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatregression.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpstatregression.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatpoly.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpstatpoly.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatgrouped.h>
|
|
||||||
$<INSTALL_INTERFACE:jkqtpstatgrouped.h>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpicons.h>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpicons.h>
|
||||||
$<INSTALL_INTERFACE:jkqtpicons.h>
|
$<INSTALL_INTERFACE:jkqtpicons.h>
|
||||||
)
|
)
|
||||||
|
@ -68,4 +68,8 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include "jkqtcommon/jkqtpmathtools.h"
|
||||||
|
#include "jkqtcommon/jkqtpcodestructuring.h"
|
||||||
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
|
|
||||||
#endif // jkqtcommon_precomp_h
|
#endif // jkqtcommon_precomp_h
|
||||||
|
52
lib/jkqtcommon_statistics_and_math.pri
Normal file
52
lib/jkqtcommon_statistics_and_math.pri
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# include guard against multiple inclusion
|
||||||
|
isEmpty(JKQTP_COMMON_STATISCTICS_AND_MATH_PRI_INCLUDED) {
|
||||||
|
JKQTP_COMMON_STATISCTICS_AND_MATH_PRI_INCLUDED = 1
|
||||||
|
|
||||||
|
!win32-msvc* {
|
||||||
|
QMAKE_CXXFLAGS += -fexceptions
|
||||||
|
} else {
|
||||||
|
QMAKE_CXXFLAGS += /EHsc
|
||||||
|
# /std:c++14
|
||||||
|
# To enable M_PI, M_E,...
|
||||||
|
DEFINES += _USE_MATH_DEFINES
|
||||||
|
# To fix error: C2338: va_start argument must not
|
||||||
|
# have reference type and must not be parenthesized
|
||||||
|
DEFINES += _CRT_NO_VA_START_VALIDATION
|
||||||
|
# fix errors with min()/max() macros from windows
|
||||||
|
DEFINES += NOMINMAX
|
||||||
|
}
|
||||||
|
|
||||||
|
HEADERS += $$PWD/jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpalgorithms.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtplinalgtools.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpmathparser.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtparraytools.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatisticstools.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatbasics.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstathistogram.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatkde.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatregression.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatpoly.h \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatgrouped.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SOURCES += $$PWD/jkqtcommon_statistics_and_math/jkqtpalgorithms.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtplinalgtools.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpmathparser.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtparraytools.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatbasics.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstathistogram.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatkde.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatregression.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatpoly.cpp \
|
||||||
|
$$PWD/jkqtcommon_statistics_and_math/jkqtpstatgrouped.cpp
|
||||||
|
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PWD
|
||||||
|
|
||||||
|
QT += core gui
|
||||||
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
|
||||||
|
|
||||||
|
CONFIG += c++11
|
||||||
|
}
|
164
lib/jkqtcommon_statistics_and_math/CMakeLists.txt
Normal file
164
lib/jkqtcommon_statistics_and_math/CMakeLists.txt
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
|
||||||
|
set(libBasename JKQTCommonStatisticsAndMath)
|
||||||
|
set(libIncludeSubdir jkqtcommon_statistics_and_math)
|
||||||
|
|
||||||
|
if(JKQtPlotter_BUILD_SHARED_LIBS)
|
||||||
|
set(libsh_name ${libBasename}SharedLib)
|
||||||
|
set(libsh_name_decorated ${libsh_name}${JKQtPlotter_LIBNAME_ADDITION})
|
||||||
|
set(${libBasename}_SHARED_LIBRARY ${libsh_name_decorated} CACHE STRING "name of static library for ${libBasename}" FORCE)
|
||||||
|
message( STATUS "-- Building ${libsh_name}" )
|
||||||
|
endif(JKQtPlotter_BUILD_SHARED_LIBS)
|
||||||
|
|
||||||
|
if(JKQtPlotter_BUILD_STATIC_LIBS)
|
||||||
|
set(lib_name ${libBasename}Lib)
|
||||||
|
set(lib_name_decorated ${lib_name}${JKQtPlotter_LIBNAME_ADDITION})
|
||||||
|
set(${libBasename}_STATIC_LIBRARY ${lib_name_decorated} CACHE STRING "name of static library for ${libBasename}" FORCE)
|
||||||
|
message( STATUS "-- Building ${lib_name}" )
|
||||||
|
endif(JKQtPlotter_BUILD_STATIC_LIBS)
|
||||||
|
|
||||||
|
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||||
|
|
||||||
|
# Set up source files
|
||||||
|
set(SOURCES
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpalgorithms.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtplinalgtools.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpmathparser.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtparraytools.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatbasics.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpstathistogram.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatkde.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatregression.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatpoly.cpp
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/jkqtpstatgrouped.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(HEADERS
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtcommon_statistics_and_math_imexport.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtcommon_statistics_and_math_imexport.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtplinalgtools.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtplinalgtools.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpmathparser.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpmathparser.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtparraytools.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtparraytools.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatisticstools.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpstatisticstools.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatbasics.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpstatbasics.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstathistogram.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpstathistogram.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatkde.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpstatkde.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatregression.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpstatregression.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatpoly.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpstatpoly.h>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/jkqtpstatgrouped.h>
|
||||||
|
$<INSTALL_INTERFACE:jkqtpstatgrouped.h>
|
||||||
|
)
|
||||||
|
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
function(JKQtCommon_setDefaultLibOptions TARGETNAME)
|
||||||
|
set_property(TARGET ${TARGETNAME} PROPERTY VERSION "${PROJECT_VERSION}")
|
||||||
|
target_link_libraries(${TARGETNAME} PUBLIC Qt${QT_VERSION_MAJOR}::Core )
|
||||||
|
set_property(TARGET ${TARGETNAME} PROPERTY CXX_STANDARD ${JKQtPlotter_QT_CXX_STANDARD})
|
||||||
|
set_property(TARGET ${TARGETNAME} PROPERTY CXX_STANDARD_REQUIRED ${JKQtPlotter_QT_CXX_STANDARD_REQUIRED})
|
||||||
|
target_compile_features(${TARGETNAME} PUBLIC ${JKQtPlotter_QT_CXX_COMPILE_FEATURE})
|
||||||
|
if(MINGW)
|
||||||
|
# COMPILER-SETTINGS FOR MINGW
|
||||||
|
target_compile_options(${TARGETNAME} PUBLIC -fexceptions)
|
||||||
|
elseif(MSVC)
|
||||||
|
# COMPILER-SETTINGS FOR MS VISUAL C++
|
||||||
|
target_compile_options(${TARGETNAME} PUBLIC /EHsc)
|
||||||
|
target_compile_definitions(${TARGETNAME} PUBLIC NOMINMAX)
|
||||||
|
endif()
|
||||||
|
target_include_directories(${TARGETNAME} PUBLIC
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/../>
|
||||||
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
|
)
|
||||||
|
# precomiled headers to speed up compilation
|
||||||
|
if (JKQtPlotter_BUILD_WITH_PRECOMPILED_HEADERS)
|
||||||
|
target_precompile_headers(${TARGETNAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/private/jkqtcommon_statistics_and_math_precomp.h)
|
||||||
|
target_sources(${TARGETNAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/private/jkqtcommon_statistics_and_math_precomp.h)
|
||||||
|
endif(JKQtPlotter_BUILD_WITH_PRECOMPILED_HEADERS)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
|
||||||
|
if(JKQtPlotter_BUILD_SHARED_LIBS)
|
||||||
|
add_library(${libsh_name} SHARED ${SOURCES} ${HEADERS} )
|
||||||
|
JKQtCommon_setDefaultLibOptions(${libsh_name})
|
||||||
|
set_property(TARGET ${libsh_name} PROPERTY OUTPUT_NAME "${libsh_name_decorated}")
|
||||||
|
target_compile_definitions(${libsh_name} PUBLIC JKQTCOMMON_STATISTICS_AND_MATH_LIB_IN_DLL)
|
||||||
|
target_compile_definitions(${libsh_name} PRIVATE JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT_LIBRARY)
|
||||||
|
target_link_libraries(${libsh_name} PUBLIC JKQTCommonSharedLib)
|
||||||
|
set_target_properties(${libsh_name} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS "ON")
|
||||||
|
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${libsh_name}Version.cmake
|
||||||
|
VERSION ${PROJECT_VERSION}
|
||||||
|
COMPATIBILITY AnyNewerVersion )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(JKQtPlotter_BUILD_STATIC_LIBS)
|
||||||
|
add_library(${lib_name} STATIC ${SOURCES} ${HEADERS})
|
||||||
|
JKQtCommon_setDefaultLibOptions(${lib_name})
|
||||||
|
target_link_libraries(${libsh_name} PUBLIC JKQTCommonLib)
|
||||||
|
set_property(TARGET ${lib_name} PROPERTY OUTPUT_NAME "${lib_name_decorated}")
|
||||||
|
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${lib_name}Version.cmake
|
||||||
|
VERSION ${PROJECT_VERSION}
|
||||||
|
COMPATIBILITY AnyNewerVersion )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
if(JKQtPlotter_BUILD_SHARED_LIBS)
|
||||||
|
install(TARGETS ${libsh_name} EXPORT ${libsh_name}_TARGETS
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${libIncludeSubdir}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(JKQTP_CURRENT_TARGET_FILENAME "${libsh_name}Targets.cmake")
|
||||||
|
configure_file(LibTarget.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${libsh_name}Config.cmake" @ONLY)
|
||||||
|
install(EXPORT ${libsh_name}_TARGETS
|
||||||
|
FILE "${JKQTP_CURRENT_TARGET_FILENAME}"
|
||||||
|
DESTINATION lib/cmake
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${libsh_name}Version.cmake"
|
||||||
|
DESTINATION lib/cmake )
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${libsh_name}Config.cmake"
|
||||||
|
DESTINATION lib/cmake )
|
||||||
|
endif(JKQtPlotter_BUILD_SHARED_LIBS)
|
||||||
|
|
||||||
|
if(JKQtPlotter_BUILD_STATIC_LIBS)
|
||||||
|
install(TARGETS ${lib_name} EXPORT ${lib_name}_TARGETS
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${libIncludeSubdir}
|
||||||
|
)
|
||||||
|
set(JKQTP_CURRENT_TARGET_FILENAME "${lib_name}Targets.cmake")
|
||||||
|
configure_file(LibTarget.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${lib_name}Config.cmake" @ONLY)
|
||||||
|
install(EXPORT ${lib_name}_TARGETS
|
||||||
|
FILE "${JKQTP_CURRENT_TARGET_FILENAME}"
|
||||||
|
DESTINATION lib/cmake
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${lib_name}Version.cmake"
|
||||||
|
DESTINATION lib/cmake )
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${lib_name}Config.cmake"
|
||||||
|
DESTINATION lib/cmake )
|
||||||
|
|
||||||
|
endif(JKQtPlotter_BUILD_STATIC_LIBS)
|
||||||
|
|
||||||
|
install(FILES ${HEADERS}
|
||||||
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${libIncludeSubdir}
|
||||||
|
COMPONENT Headers)
|
||||||
|
|
||||||
|
configure_file(${PROJECT_SOURCE_DIR}/readme.txt.in ${CMAKE_CURRENT_BINARY_DIR}/${lib_name}_Readme.txt @ONLY)
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${lib_name}_Readme.txt" DESTINATION doc/JKQtPlotter )
|
||||||
|
install(FILES "${PROJECT_SOURCE_DIR}/LICENSE" DESTINATION doc/JKQtPlotter RENAME "${lib_name}_LICENSE.txt" )
|
||||||
|
|
13
lib/jkqtcommon_statistics_and_math/LibTarget.cmake.in
Normal file
13
lib/jkqtcommon_statistics_and_math/LibTarget.cmake.in
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Package-config file for @libBasename@ library
|
||||||
|
# (part of JKQtPlotter, version @PROJECT_VERSION@)
|
||||||
|
#
|
||||||
|
# see: https://github.com/jkriege2/JKQtPlotter
|
||||||
|
# Copyright: (c) Jan Krieger <jan@jkrieger.de>
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# package requires Qt 5/6
|
||||||
|
find_package(Qt@QT_VERSION_MAJOR@ COMPONENTS Core REQUIRED)
|
||||||
|
|
||||||
|
# include auto-generated targets.cmake file
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/@JKQTP_CURRENT_TARGET_FILENAME@")
|
@ -0,0 +1,94 @@
|
|||||||
|
#ifndef jkqtcommon_statistics_and_math_IMPORT_H
|
||||||
|
#define jkqtcommon_statistics_and_math_IMPORT_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright (c) 2008-2022 Jan W. Krieger (<jan@jkrieger.de>)
|
||||||
|
|
||||||
|
last modification: $LastChangedDate: 2015-04-02 13:55:22 +0200 (Do, 02 Apr 2015) $ (revision $Rev: 3902 $)
|
||||||
|
|
||||||
|
This software is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Lesser General Public License (LGPL) as published by
|
||||||
|
the Free Software Foundation, either version 2.1 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Lesser General Public License (LGPL) for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License (LGPL)
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*! \def JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT
|
||||||
|
\ingroup tools
|
||||||
|
|
||||||
|
This define allows to export functions and classes from the jkqtcommon_statistics_and_math-library when building a dynamic/shared library.
|
||||||
|
Usage is as follows:
|
||||||
|
\code
|
||||||
|
#include "jkqtcommon_statistics_and_math_imexport/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
|
|
||||||
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT exportedClassName {
|
||||||
|
...
|
||||||
|
};
|
||||||
|
|
||||||
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT void exportedFunctionName();
|
||||||
|
\endcode
|
||||||
|
|
||||||
|
These macros append the appropriate \c Q_DECL_EXPORT and \c Q_DECL_IMPORT
|
||||||
|
to the function/class body and thus tell windows compilers to export these sysmbols from
|
||||||
|
the shared library, or import them from a shared library.
|
||||||
|
|
||||||
|
Note that these attributes are only necessary on windows systems!
|
||||||
|
|
||||||
|
These macros are controlled by two other macros:
|
||||||
|
- \c JKQTCOMMON_STATISTICS_AND_MATH_LIB_IN_DLL declares that the application should link against a shared version of
|
||||||
|
JKQTCommonStatisticsAndMath, i.e. \c JKQTCommonStatisticsAndMathSharedLib_XYZ .
|
||||||
|
This needs to be defined while compiling the library and while compiling
|
||||||
|
any application linking against \c JKQTCommonStatisticsAndMathSharedLib_XYZ.
|
||||||
|
- \c JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT_LIBRARY is only defined while compiling JKQTCommonStatisticsAndMath into \c JKQTCommonStatisticsAndMathSharedLib_XYZ
|
||||||
|
and ensures thet the symbols are exported. If it is not defined (e.g. while
|
||||||
|
compiling an application), the symbols are imported
|
||||||
|
.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*! \def JKQTCOMMON_STATISTICS_AND_MATH_LIB_IN_DLL
|
||||||
|
\ingroup tools
|
||||||
|
\brief declares that the application should link against a shared version of
|
||||||
|
JKQTCommonStatisticsAndMath, i.e. \c JKQTCommonStatisticsAndMathSharedLib_XYZ .
|
||||||
|
This needs to be defined while compiling the library and while compiling
|
||||||
|
any application linking against \c JKQTCommonStatisticsAndMathSharedLib_XYZ.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*! \def JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT_LIBRARY
|
||||||
|
\ingroup tools
|
||||||
|
\brief is only defined while compiling JKQTCommonStatisticsAndMath into \c JKQTCommonStatisticsAndMathSharedLib_XYZ
|
||||||
|
and ensures thet the symbols are exported. If it is not defined (e.g. while
|
||||||
|
compiling an application), the symbols are imported
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <QtCore/QtGlobal>
|
||||||
|
# ifdef JKQTCOMMON_STATISTICS_AND_MATH_LIB_IN_DLL
|
||||||
|
# ifndef JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT
|
||||||
|
# ifdef JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT_LIBRARY
|
||||||
|
/* We are building this library */
|
||||||
|
# define JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT Q_DECL_EXPORT
|
||||||
|
# else
|
||||||
|
/* We are using this library */
|
||||||
|
# define JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT Q_DECL_IMPORT
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# ifndef JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT
|
||||||
|
# define JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif // jkqtcommon_statistics_and_math_IMPORT_H
|
||||||
|
|
@ -18,4 +18,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "jkqtcommon/jkqtpalgorithms.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpalgorithms.h"
|
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#ifndef JKQTPALGORITHMS_H_INCLUDED
|
#ifndef JKQTPALGORITHMS_H_INCLUDED
|
||||||
#define JKQTPALGORITHMS_H_INCLUDED
|
#define JKQTPALGORITHMS_H_INCLUDED
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
@ -35,8 +35,8 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
#include "jkqtcommon/jkqtparraytools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
#include "jkqtcommon/jkqtpmathtools.h"
|
#include "jkqtcommon/jkqtpmathtools.h"
|
||||||
#include "jkqtcommon/jkqtpstringtools.h"
|
#include "jkqtcommon/jkqtpstringtools.h"
|
||||||
|
|
@ -22,7 +22,7 @@
|
|||||||
#define COMPILING_THIS_JKMATHPARSER
|
#define COMPILING_THIS_JKMATHPARSER
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include "jkqtcommon/jkqtpmathparser.h" // class's header file
|
#include "jkqtcommon_statistics_and_math/jkqtpmathparser.h" // class's header file
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <ctime>
|
#include <ctime>
|
@ -46,7 +46,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include "jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
|
|
||||||
#ifndef JKQTPMATHPARSER_H
|
#ifndef JKQTPMATHPARSER_H
|
||||||
#define JKQTPMATHPARSER_H
|
#define JKQTPMATHPARSER_H
|
||||||
@ -234,7 +234,7 @@
|
|||||||
}
|
}
|
||||||
\endcode
|
\endcode
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPMathParser
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
void* data;
|
void* data;
|
||||||
@ -314,7 +314,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
|
|
||||||
/** \brief result of any expression
|
/** \brief result of any expression
|
||||||
* \ingroup jkmpultil*/
|
* \ingroup jkmpultil*/
|
||||||
struct JKQTCOMMON_LIB_EXPORT jkmpResult {
|
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpResult {
|
||||||
jkmpResult();
|
jkmpResult();
|
||||||
|
|
||||||
bool isValid;
|
bool isValid;
|
||||||
@ -335,7 +335,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* only contains pointers to the data
|
* only contains pointers to the data
|
||||||
* \ingroup jkmpultil
|
* \ingroup jkmpultil
|
||||||
*/
|
*/
|
||||||
struct JKQTCOMMON_LIB_EXPORT jkmpVariable {
|
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpVariable {
|
||||||
jkmpVariable();
|
jkmpVariable();
|
||||||
jkmpResultType type; /*!< \brief type of the variable */
|
jkmpResultType type; /*!< \brief type of the variable */
|
||||||
bool internal; /*!< \brief this is an internal variable */
|
bool internal; /*!< \brief this is an internal variable */
|
||||||
@ -347,7 +347,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
/** \brief This struct is for managing temporary variables. It is generally like jkmpVariable.
|
/** \brief This struct is for managing temporary variables. It is generally like jkmpVariable.
|
||||||
* \ingroup jkmpultil
|
* \ingroup jkmpultil
|
||||||
*/
|
*/
|
||||||
struct JKQTCOMMON_LIB_EXPORT jkmpTempVariable {
|
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpTempVariable {
|
||||||
std::string name; /*!< \brief name of the variable */
|
std::string name; /*!< \brief name of the variable */
|
||||||
jkmpResultType type; /*!< \brief type of the variable */
|
jkmpResultType type; /*!< \brief type of the variable */
|
||||||
bool internal; /*!< \brief this is an internal variable */
|
bool internal; /*!< \brief this is an internal variable */
|
||||||
@ -384,7 +384,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
|
|
||||||
|
|
||||||
/** \brief description of a user registered function */
|
/** \brief description of a user registered function */
|
||||||
struct JKQTCOMMON_LIB_EXPORT jkmpFunctionDescriptor {
|
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpFunctionDescriptor {
|
||||||
jkmpEvaluateFunc function; /*!< \brief a pointer to the function implementation */
|
jkmpEvaluateFunc function; /*!< \brief a pointer to the function implementation */
|
||||||
std::string name; /*!< \brief name of the function */
|
std::string name; /*!< \brief name of the function */
|
||||||
};
|
};
|
||||||
@ -399,7 +399,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* All allowed node types must inherit from jkmpNode
|
* All allowed node types must inherit from jkmpNode
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpNode {
|
||||||
protected:
|
protected:
|
||||||
JKQTPMathParser* parser; /*!< \brief points to the parser object that is used to evaluate this node */
|
JKQTPMathParser* parser; /*!< \brief points to the parser object that is used to evaluate this node */
|
||||||
jkmpNode* parent; /*!< \brief points to the parent node */
|
jkmpNode* parent; /*!< \brief points to the parent node */
|
||||||
@ -429,7 +429,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* add (+), subtract (-), multiply (*), divide (/), a to the power of b (a^b)
|
* add (+), subtract (-), multiply (*), divide (/), a to the power of b (a^b)
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpBinaryArithmeticNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpBinaryArithmeticNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
jkmpNode* left, *right;
|
jkmpNode* left, *right;
|
||||||
char operation;
|
char operation;
|
||||||
@ -454,7 +454,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* \brief This class represents a binary boolean operation: and, or, xor, nor, nand
|
* \brief This class represents a binary boolean operation: and, or, xor, nor, nand
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpBinaryBoolNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpBinaryBoolNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
jkmpNode* left, *right;
|
jkmpNode* left, *right;
|
||||||
char operation;
|
char operation;
|
||||||
@ -479,7 +479,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* \brief This class represents a binary compare operation: !=, ==, >=, <=, >, <
|
* \brief This class represents a binary compare operation: !=, ==, >=, <=, >, <
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpCompareNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpCompareNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
jkmpNode* left, *right;
|
jkmpNode* left, *right;
|
||||||
char operation;
|
char operation;
|
||||||
@ -504,7 +504,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* \brief This class represents a unary operations: ! (bool negation), - (arithmetic negation)
|
* \brief This class represents a unary operations: ! (bool negation), - (arithmetic negation)
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpUnaryNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpUnaryNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
jkmpNode* child;
|
jkmpNode* child;
|
||||||
char operation;
|
char operation;
|
||||||
@ -528,7 +528,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* \brief This class represents a variable assignment (a = expression)
|
* \brief This class represents a variable assignment (a = expression)
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpVariableAssignNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpVariableAssignNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
jkmpNode* child;
|
jkmpNode* child;
|
||||||
std::string variable;
|
std::string variable;
|
||||||
@ -553,7 +553,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* \brief This class represents a number, a string contant or a boolean contant (true/false)
|
* \brief This class represents a number, a string contant or a boolean contant (true/false)
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpConstantNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpConstantNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
jkmpResult data;
|
jkmpResult data;
|
||||||
public:
|
public:
|
||||||
@ -572,7 +572,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* \brief This class represents a variable.
|
* \brief This class represents a variable.
|
||||||
* \ingroup jkmpNodes
|
* \ingroup jkmpNodes
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpVariableNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpVariableNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
std::string var;
|
std::string var;
|
||||||
public:
|
public:
|
||||||
@ -597,7 +597,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
*
|
*
|
||||||
* Functions may have 8 parameters at the most.
|
* Functions may have 8 parameters at the most.
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpFunctionNode: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpFunctionNode: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
std::string fun;
|
std::string fun;
|
||||||
jkmpNode** child;
|
jkmpNode** child;
|
||||||
@ -626,7 +626,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
*
|
*
|
||||||
* when evaluating the result will be the result of the last node in the list.
|
* when evaluating the result will be the result of the last node in the list.
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpNodeList: public jkmpNode {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpNodeList: public jkmpNode {
|
||||||
private:
|
private:
|
||||||
std::vector<jkmpNode*> list;
|
std::vector<jkmpNode*> list;
|
||||||
public:
|
public:
|
||||||
@ -665,7 +665,7 @@ class JKQTCOMMON_LIB_EXPORT JKQTPMathParser
|
|||||||
* error handler and assign it (function pointer) to the global variable jkmathparser_exception_function.
|
* error handler and assign it (function pointer) to the global variable jkmathparser_exception_function.
|
||||||
* If this is not nullptr this function will be called instead of throwing an exception.
|
* If this is not nullptr this function will be called instead of throwing an exception.
|
||||||
*/
|
*/
|
||||||
class JKQTCOMMON_LIB_EXPORT jkmpException : public std::exception {
|
class JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT jkmpException : public std::exception {
|
||||||
private:
|
private:
|
||||||
/** \brief the error message */
|
/** \brief the error message */
|
||||||
std::string errormessage;
|
std::string errormessage;
|
@ -34,9 +34,9 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
#include "jkqtcommon/jkqtplinalgtools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtplinalgtools.h"
|
||||||
#include "jkqtcommon/jkqtparraytools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
|
|
||||||
|
|
||||||
@ -1019,7 +1019,7 @@ inline void jkqtpstat5NumberStatisticsAndOutliers(InputIt first, InputIt last, O
|
|||||||
\ingroup jkqtptools_math_statistics_basic
|
\ingroup jkqtptools_math_statistics_basic
|
||||||
\see https://en.wikipedia.org/wiki/Five-number_summary, jkqtpstat5NumberStatistics()
|
\see https://en.wikipedia.org/wiki/Five-number_summary, jkqtpstat5NumberStatistics()
|
||||||
*/
|
*/
|
||||||
struct JKQTCOMMON_LIB_EXPORT JKQTPStat5NumberStatistics {
|
struct JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPStat5NumberStatistics {
|
||||||
JKQTPStat5NumberStatistics();
|
JKQTPStat5NumberStatistics();
|
||||||
|
|
||||||
/** \brief minimum value */
|
/** \brief minimum value */
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "jkqtpstatgrouped.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatgrouped.h"
|
||||||
|
|
||||||
double jkqtpstatGroupingIdentity1D(double v) {
|
double jkqtpstatGroupingIdentity1D(double v) {
|
||||||
return v;
|
return v;
|
@ -34,11 +34,11 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
#include "jkqtcommon/jkqtplinalgtools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtplinalgtools.h"
|
||||||
#include "jkqtcommon/jkqtparraytools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
#include "jkqtcommon/jkqtpstatbasics.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatbasics.h"
|
||||||
|
|
||||||
/*! \brief a functor \f$ f(x): \mathbb{R}\rightarrow\mathbb{R} \f$ which assignes a value \f$ x \f$ to a group center \f$ f(x) \f$
|
/*! \brief a functor \f$ f(x): \mathbb{R}\rightarrow\mathbb{R} \f$ which assignes a value \f$ x \f$ to a group center \f$ f(x) \f$
|
||||||
\ingroup jkqtptools_math_statistics_grouped
|
\ingroup jkqtptools_math_statistics_grouped
|
||||||
@ -60,13 +60,13 @@ typedef std::function<double(double)> JKQTPStatGroupDefinitionFunctor1D;
|
|||||||
|
|
||||||
\see JKQTPStatGroupDefinitionFunctor1D
|
\see JKQTPStatGroupDefinitionFunctor1D
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatGroupingIdentity1D(double v);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatGroupingIdentity1D(double v);
|
||||||
/*! \brief use a rounded column value as group ID directly \f$ f(x)=\mbox{round}(x) \f$
|
/*! \brief use a rounded column value as group ID directly \f$ f(x)=\mbox{round}(x) \f$
|
||||||
\ingroup jkqtptools_math_statistics_grouped
|
\ingroup jkqtptools_math_statistics_grouped
|
||||||
|
|
||||||
\see JKQTPStatGroupDefinitionFunctor1D
|
\see JKQTPStatGroupDefinitionFunctor1D
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatGroupingRound1D(double v);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatGroupingRound1D(double v);
|
||||||
/*! \brief assign each value to groups \f$ \mbox{firstGroupCenter} \f$ , \f$ \mbox{firstGroupCenter}\pm\mbox{groupWidth}/2\f$ , \f$ \mbox{firstGroupCenter}\pm2\cdot\mbox{groupWidth}/2 \f$ , \f$ \mbox{firstGroupCenter}\pm3\cdot\mbox{groupWidth}/2 \f$ , ...
|
/*! \brief assign each value to groups \f$ \mbox{firstGroupCenter} \f$ , \f$ \mbox{firstGroupCenter}\pm\mbox{groupWidth}/2\f$ , \f$ \mbox{firstGroupCenter}\pm2\cdot\mbox{groupWidth}/2 \f$ , \f$ \mbox{firstGroupCenter}\pm3\cdot\mbox{groupWidth}/2 \f$ , ...
|
||||||
\ingroup jkqtptools_math_statistics_grouped
|
\ingroup jkqtptools_math_statistics_grouped
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ JKQTCOMMON_LIB_EXPORT double jkqtpstatGroupingRound1D(double v);
|
|||||||
|
|
||||||
\see JKQTPStatGroupDefinitionFunctor1D, jkqtpstatMakeGroupingCustomRound1D() for a factory-function that returns a functor of this function bound to specific arguments.
|
\see JKQTPStatGroupDefinitionFunctor1D, jkqtpstatMakeGroupingCustomRound1D() for a factory-function that returns a functor of this function bound to specific arguments.
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatGroupingCustomRound1D(double v, double firstGroupCenter, double groupWidth);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatGroupingCustomRound1D(double v, double firstGroupCenter, double groupWidth);
|
||||||
/*! \brief generates a functor of jkqtpstatGroupingCustomRound1D() with the two paramaters \a firstGroupCenter and \a groupWidth fixed to the given values
|
/*! \brief generates a functor of jkqtpstatGroupingCustomRound1D() with the two paramaters \a firstGroupCenter and \a groupWidth fixed to the given values
|
||||||
\ingroup jkqtptools_math_statistics_grouped
|
\ingroup jkqtptools_math_statistics_grouped
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ JKQTCOMMON_LIB_EXPORT double jkqtpstatGroupingCustomRound1D(double v, double fir
|
|||||||
|
|
||||||
\see JKQTPStatGroupDefinitionFunctor1D, jkqtpstatGroupingCustomRound1D()
|
\see JKQTPStatGroupDefinitionFunctor1D, jkqtpstatGroupingCustomRound1D()
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT JKQTPStatGroupDefinitionFunctor1D jkqtpstatMakeGroupingCustomRound1D(double firstGroupCenter, double groupWidth);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT JKQTPStatGroupDefinitionFunctor1D jkqtpstatMakeGroupingCustomRound1D(double firstGroupCenter, double groupWidth);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -34,11 +34,11 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
#include "jkqtcommon/jkqtplinalgtools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtplinalgtools.h"
|
||||||
#include "jkqtcommon/jkqtparraytools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
#include "jkqtcommon/jkqtpstatbasics.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatbasics.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -22,12 +22,12 @@
|
|||||||
#define JKQTPSTATISTICSTOOLS_H_INCLUDED
|
#define JKQTPSTATISTICSTOOLS_H_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
#include "jkqtcommon/jkqtpstatbasics.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatbasics.h"
|
||||||
#include "jkqtcommon/jkqtpstathistogram.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstathistogram.h"
|
||||||
#include "jkqtcommon/jkqtpstatkde.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatkde.h"
|
||||||
#include "jkqtcommon/jkqtpstatpoly.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatpoly.h"
|
||||||
#include "jkqtcommon/jkqtpstatregression.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatregression.h"
|
||||||
#include "jkqtcommon/jkqtpstatgrouped.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatgrouped.h"
|
||||||
|
|
||||||
|
|
||||||
#endif // JKQTPSTATISTICSTOOLS_H_INCLUDED
|
#endif // JKQTPSTATISTICSTOOLS_H_INCLUDED
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "jkqtpstatkde.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatkde.h"
|
||||||
|
|
||||||
|
|
||||||
double jkqtpstatKernel1DGaussian(double t) {
|
double jkqtpstatKernel1DGaussian(double t) {
|
@ -34,11 +34,11 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
#include "jkqtcommon/jkqtplinalgtools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtplinalgtools.h"
|
||||||
#include "jkqtcommon/jkqtparraytools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
#include "jkqtcommon/jkqtpstatbasics.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatbasics.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -49,64 +49,64 @@
|
|||||||
|
|
||||||
\f[ k(t):=\frac{1}{\sqrt{2\pi}}\exp \left(-\frac{1}{2}t^2\right) \f]
|
\f[ k(t):=\frac{1}{\sqrt{2\pi}}\exp \left(-\frac{1}{2}t^2\right) \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DGaussian(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DGaussian(double t);
|
||||||
/*! \brief a 1D Cauchy kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D Cauchy kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t):=\frac{1}{\pi(1+t^2)} \f]
|
\f[ k(t):=\frac{1}{\pi(1+t^2)} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DCauchy(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DCauchy(double t);
|
||||||
|
|
||||||
/*! \brief a 1D Picard kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D Picard kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t):=\frac{1}{2}\exp(-|t|) \f]
|
\f[ k(t):=\frac{1}{2}\exp(-|t|) \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DPicard(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DPicard(double t);
|
||||||
/*! \brief a 1D Epanechnikov kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D Epanechnikov kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t) :=\begin{cases}\frac{3}{4} ( 1- t^2 ), & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t) :=\begin{cases}\frac{3}{4} ( 1- t^2 ), & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DEpanechnikov(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DEpanechnikov(double t);
|
||||||
/*! \brief a 1D uniform kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D uniform kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t) :=\begin{cases}0.5, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t) :=\begin{cases}0.5, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DUniform(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DUniform(double t);
|
||||||
/*! \brief a 1D Epanechnikov kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D Epanechnikov kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t) :=\begin{cases}1-|t|, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t) :=\begin{cases}1-|t|, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DTriangle(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DTriangle(double t);
|
||||||
|
|
||||||
/*! \brief a 1D quartic kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D quartic kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t) :=\begin{cases}\frac{15}{16}(1-t^2)^2, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t) :=\begin{cases}\frac{15}{16}(1-t^2)^2, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DQuartic(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DQuartic(double t);
|
||||||
/*! \brief a 1D triweight kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D triweight kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t) :=\begin{cases}\frac{35}{32}(1-t^2)^3, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t) :=\begin{cases}\frac{35}{32}(1-t^2)^3, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DTriweight(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DTriweight(double t);
|
||||||
|
|
||||||
/*! \brief a 1D tricube kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D tricube kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t) :=\begin{cases}\frac{70}{81}(1-|t|^3)^3, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t) :=\begin{cases}\frac{70}{81}(1-|t|^3)^3, & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DTricube(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DTricube(double t);
|
||||||
/*! \brief a 1D cosine kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D cosine kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
\ingroup jkqtptools_math_statistics_1dkde_kernels
|
||||||
|
|
||||||
\f[ k(t) :=\begin{cases}\frac{\pi}{4}\cos\left(\frac{\pi}{2}t\right), & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t) :=\begin{cases}\frac{\pi}{4}\cos\left(\frac{\pi}{2}t\right), & \text{if }t\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DCosine(double t);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel1DCosine(double t);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -125,14 +125,14 @@ JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel1DCosine(double t);
|
|||||||
|
|
||||||
\f[ k(t_x, t_y):=\frac{1}{2\pi}\exp \left(-\frac{t_x^2+t_y^2}{2}\right) \f]
|
\f[ k(t_x, t_y):=\frac{1}{2\pi}\exp \left(-\frac{t_x^2+t_y^2}{2}\right) \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel2DGaussian(double tx, double ty);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel2DGaussian(double tx, double ty);
|
||||||
|
|
||||||
/*! \brief a 1D Gaussian kernel function, e.g. for Kernel Density Estimation
|
/*! \brief a 1D Gaussian kernel function, e.g. for Kernel Density Estimation
|
||||||
\ingroup jkqtptools_math_statistics_2dkde_kernels
|
\ingroup jkqtptools_math_statistics_2dkde_kernels
|
||||||
|
|
||||||
\f[ k(t_x, t_y):=\begin{cases}\frac{1}{4}, & \text{if }t_x,t_y\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
\f[ k(t_x, t_y):=\begin{cases}\frac{1}{4}, & \text{if }t_x,t_y\in [-1;1]\\0, & \text{else}\end{cases} \f]
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT double jkqtpstatKernel2DUniform(double tx, double ty);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT double jkqtpstatKernel2DUniform(double tx, double ty);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -34,9 +34,9 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
#include "jkqtcommon/jkqtplinalgtools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtplinalgtools.h"
|
||||||
#include "jkqtcommon/jkqtparraytools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
|
|
||||||
|
|
@ -34,12 +34,12 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "jkqtcommon/jkqtcommon_imexport.h"
|
#include "jkqtcommon_statistics_and_math/jkqtcommon_statistics_and_math_imexport.h"
|
||||||
#include "jkqtcommon/jkqtplinalgtools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtplinalgtools.h"
|
||||||
#include "jkqtcommon/jkqtparraytools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
#include "jkqtcommon/jkqtpstatbasics.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatbasics.h"
|
||||||
#include "jkqtcommon/jkqtpstatpoly.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatpoly.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -278,37 +278,37 @@ enum class JKQTPStatRegressionModelType {
|
|||||||
/*! \brief Generates functors \c f(x,a,b) for the models from JKQTPStatRegressionModelType in \a type
|
/*! \brief Generates functors \c f(x,a,b) for the models from JKQTPStatRegressionModelType in \a type
|
||||||
\ingroup jkqtptools_math_statistics_regression
|
\ingroup jkqtptools_math_statistics_regression
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT std::function<double(double, double, double)> jkqtpStatGenerateRegressionModel(JKQTPStatRegressionModelType type);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT std::function<double(double, double, double)> jkqtpStatGenerateRegressionModel(JKQTPStatRegressionModelType type);
|
||||||
|
|
||||||
/*! \brief Generates a LaTeX string for the models from JKQTPStatRegressionModelType in \a type
|
/*! \brief Generates a LaTeX string for the models from JKQTPStatRegressionModelType in \a type
|
||||||
\ingroup jkqtptools_math_statistics_regression
|
\ingroup jkqtptools_math_statistics_regression
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT QString jkqtpstatRegressionModel2Latex(JKQTPStatRegressionModelType type, double a, double b);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT QString jkqtpstatRegressionModel2Latex(JKQTPStatRegressionModelType type, double a, double b);
|
||||||
|
|
||||||
/*! \brief Generates functors \c f(x) for the models from JKQTPStatRegressionModelType in \a type and binds the parameter values \a and \a b to the returned function
|
/*! \brief Generates functors \c f(x) for the models from JKQTPStatRegressionModelType in \a type and binds the parameter values \a and \a b to the returned function
|
||||||
\ingroup jkqtptools_math_statistics_regression
|
\ingroup jkqtptools_math_statistics_regression
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT std::function<double(double)> jkqtpStatGenerateRegressionModel(JKQTPStatRegressionModelType type, double a, double b);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT std::function<double(double)> jkqtpStatGenerateRegressionModel(JKQTPStatRegressionModelType type, double a, double b);
|
||||||
|
|
||||||
/*! \brief Generates the transformation function for x-data (\c result.first ) and y-data (\c result.second ) for each regression model in JKQTPStatRegressionModelType in \a type
|
/*! \brief Generates the transformation function for x-data (\c result.first ) and y-data (\c result.second ) for each regression model in JKQTPStatRegressionModelType in \a type
|
||||||
\ingroup jkqtptools_math_statistics_regression
|
\ingroup jkqtptools_math_statistics_regression
|
||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT std::pair<std::function<double(double)>,std::function<double(double)> > jkqtpStatGenerateTransformation(JKQTPStatRegressionModelType type);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT std::pair<std::function<double(double)>,std::function<double(double)> > jkqtpStatGenerateTransformation(JKQTPStatRegressionModelType type);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Generates the transformation function for a-parameter (offset, \c result.first : transform, \c result.second : back-transform) for each regression model in JKQTPStatRegressionModelType in \a type
|
/*! \brief Generates the transformation function for a-parameter (offset, \c result.first : transform, \c result.second : back-transform) for each regression model in JKQTPStatRegressionModelType in \a type
|
||||||
\ingroup jkqtptools_math_statistics_regression
|
\ingroup jkqtptools_math_statistics_regression
|
||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT std::pair<std::function<double(double)>,std::function<double(double)> > jkqtpStatGenerateParameterATransformation(JKQTPStatRegressionModelType type);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT std::pair<std::function<double(double)>,std::function<double(double)> > jkqtpStatGenerateParameterATransformation(JKQTPStatRegressionModelType type);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Generates the transformation function for b-parameter (slope, \c result.first : transform, \c result.second : back-transform) for each regression model in JKQTPStatRegressionModelType in \a type
|
/*! \brief Generates the transformation function for b-parameter (slope, \c result.first : transform, \c result.second : back-transform) for each regression model in JKQTPStatRegressionModelType in \a type
|
||||||
\ingroup jkqtptools_math_statistics_regression
|
\ingroup jkqtptools_math_statistics_regression
|
||||||
\internal
|
\internal
|
||||||
*/
|
*/
|
||||||
JKQTCOMMON_LIB_EXPORT std::pair<std::function<double(double)>,std::function<double(double)> > jkqtpStatGenerateParameterBTransformation(JKQTPStatRegressionModelType type);
|
JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT std::pair<std::function<double(double)>,std::function<double(double)> > jkqtpStatGenerateParameterBTransformation(JKQTPStatRegressionModelType type);
|
||||||
|
|
||||||
|
|
||||||
/*! \brief calculate the linear regression coefficients for a given data range \a firstX / \a firstY ... \a lastX / \a lastY where the model is defined by \a type
|
/*! \brief calculate the linear regression coefficients for a given data range \a firstX / \a firstY ... \a lastX / \a lastY where the model is defined by \a type
|
@ -0,0 +1,55 @@
|
|||||||
|
/* THIS IS a PRECOMILED HEADER-File for JKQTCommon-Lib
|
||||||
|
* it is not intended for external use!
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef jkqtcommon_statistics_and_math_precomp_H
|
||||||
|
#define jkqtcommon_statistics_and_math_precomp_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
Copyright (c) 2008-2022 Jan W. Krieger (<jan@jkrieger.de>)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
This software is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU Lesser General Public License (LGPL) as published by
|
||||||
|
the Free Software Foundation, either version 2.1 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU Lesser General Public License (LGPL) for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License (LGPL)
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#define _USE_MATH_DEFINES
|
||||||
|
|
||||||
|
#include <QtGlobal>
|
||||||
|
#include <cfloat>
|
||||||
|
#include <chrono>
|
||||||
|
#include <cmath>
|
||||||
|
#include <forward_list>
|
||||||
|
#include <functional>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <iostream>
|
||||||
|
#include <limits>
|
||||||
|
#include <sstream>
|
||||||
|
#include <sstream>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <string>
|
||||||
|
#include <utility>
|
||||||
|
#include <vector>
|
||||||
|
#include "jkqtcommon_statistics_and_math/jkqtplinalgtools.h"
|
||||||
|
#include "jkqtcommon_statistics_and_math/jkqtpstatbasics.h"
|
||||||
|
#include "jkqtcommon_statistics_and_math/jkqtparraytools.h"
|
||||||
|
#include "jkqtcommon_statistics_and_math/jkqtpalgorithms.h"
|
||||||
|
#include "jkqtcommon/jkqtpmathtools.h"
|
||||||
|
#include "jkqtcommon/jkqtpstringtools.h"
|
||||||
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
|
|
||||||
|
#endif // jkqtcommon_statistics_and_math_precomp_H
|
@ -237,7 +237,7 @@ if(JKQtPlotter_BUILD_SHARED_LIBS)
|
|||||||
)
|
)
|
||||||
JKQtPlottter_setDefaultLibOptions(${libsh_name})
|
JKQtPlottter_setDefaultLibOptions(${libsh_name})
|
||||||
set_property(TARGET ${libsh_name} PROPERTY OUTPUT_NAME "${libsh_name_decorated}")
|
set_property(TARGET ${libsh_name} PROPERTY OUTPUT_NAME "${libsh_name_decorated}")
|
||||||
target_link_libraries(${libsh_name} PUBLIC JKQTCommonSharedLib JKQTMathTextSharedLib)
|
target_link_libraries(${libsh_name} PUBLIC JKQTCommonSharedLib JKQTCommonStatisticsAndMathSharedLib JKQTMathTextSharedLib)
|
||||||
target_compile_definitions(${libsh_name} PUBLIC JKQTPLOTTER_LIB_IN_DLL)
|
target_compile_definitions(${libsh_name} PUBLIC JKQTPLOTTER_LIB_IN_DLL)
|
||||||
target_compile_definitions(${libsh_name} PRIVATE JKQTPLOTTER_LIB_EXPORT_LIBRARY)
|
target_compile_definitions(${libsh_name} PRIVATE JKQTPLOTTER_LIB_EXPORT_LIBRARY)
|
||||||
set_target_properties(${libsh_name} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS "ON")
|
set_target_properties(${libsh_name} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS "ON")
|
||||||
@ -250,7 +250,7 @@ if(JKQtPlotter_BUILD_STATIC_LIBS)
|
|||||||
add_library(${lib_name} STATIC ${SOURCES_BASE} ${SOURCES_GRAPHS} ${SOURCES_GUI} ${RESOURCES} ${HEADERS_BASE} ${HEADERS_GRAPHS} ${HEADERS_GUI})
|
add_library(${lib_name} STATIC ${SOURCES_BASE} ${SOURCES_GRAPHS} ${SOURCES_GUI} ${RESOURCES} ${HEADERS_BASE} ${HEADERS_GRAPHS} ${HEADERS_GUI})
|
||||||
JKQtPlottter_setDefaultLibOptions(${lib_name})
|
JKQtPlottter_setDefaultLibOptions(${lib_name})
|
||||||
set_property(TARGET ${lib_name} PROPERTY OUTPUT_NAME "${lib_name_decorated}")
|
set_property(TARGET ${lib_name} PROPERTY OUTPUT_NAME "${lib_name_decorated}")
|
||||||
target_link_libraries(${lib_name} PUBLIC JKQTCommonLib JKQTMathTextLib)
|
target_link_libraries(${lib_name} PUBLIC JKQTCommonLib JKQTCommonStatisticsAndMathLib JKQTMathTextLib)
|
||||||
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${lib_name}Version.cmake
|
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${lib_name}Version.cmake
|
||||||
VERSION ${PROJECT_VERSION}
|
VERSION ${PROJECT_VERSION}
|
||||||
COMPATIBILITY AnyNewerVersion )
|
COMPATIBILITY AnyNewerVersion )
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QPair>
|
#include <QPair>
|
||||||
#include "jkqtplotter/jkqtptools.h"
|
#include "jkqtplotter/jkqtptools.h"
|
||||||
#include "jkqtcommon/jkqtpmathparser.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpmathparser.h"
|
||||||
#include "jkqtplotter/jkqtplotter_imexport.h"
|
#include "jkqtplotter/jkqtplotter_imexport.h"
|
||||||
#include "jkqtplotter/graphs/jkqtpevaluatedfunction.h"
|
#include "jkqtplotter/graphs/jkqtpevaluatedfunction.h"
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "jkqtplotter/jkqtplotter_imexport.h"
|
#include "jkqtplotter/jkqtplotter_imexport.h"
|
||||||
#include "jkqtcommon/jkqtpstatisticstools.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpstatisticstools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
#include "jkqtplotter/jkqtpgraphsbase.h"
|
#include "jkqtplotter/jkqtpgraphsbase.h"
|
||||||
#include "jkqtplotter/jkqtpgraphsbaseerrors.h"
|
#include "jkqtplotter/jkqtpgraphsbaseerrors.h"
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
#include "jkqtcommon/jkqtpstringtools.h"
|
#include "jkqtcommon/jkqtpstringtools.h"
|
||||||
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
#include "jkqtcommon/jkqtpdebuggingtools.h"
|
||||||
#include "jkqtcommon/jkqtpmathtools.h"
|
#include "jkqtcommon/jkqtpmathtools.h"
|
||||||
#include "jkqtcommon/jkqtpalgorithms.h"
|
#include "jkqtcommon_statistics_and_math/jkqtpalgorithms.h"
|
||||||
#include "jkqtcommon/jkqtpcodestructuring.h"
|
#include "jkqtcommon/jkqtpcodestructuring.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,7 +23,9 @@
|
|||||||
You should have received a copy of the GNU Lesser General Public License (LGPL)
|
You should have received a copy of the GNU Lesser General Public License (LGPL)
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#define _USE_MATH_DEFINES
|
#ifndef _USE_MATH_DEFINES
|
||||||
|
# define _USE_MATH_DEFINES
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "jkqtcommon/jkqtpbasicimagetools.h"
|
#include "jkqtcommon/jkqtpbasicimagetools.h"
|
||||||
#include "jkqtcommon/jkqtpcodestructuring.h"
|
#include "jkqtcommon/jkqtpcodestructuring.h"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# uncomment this line to prevent linking in of the XITS fonts
|
# uncomment this line to prevent linking in of the XITS fonts
|
||||||
#DEFINES += NO_XITS_FONTS
|
#DEFINES += NO_XITS_FONTS
|
||||||
TARGET = jkqtpcommonlib
|
TARGET = jkqtcommonlib
|
||||||
CONFIG (debug, debug|release): TARGET = jkqtplotterlib_debug
|
CONFIG (debug, debug|release): TARGET = jkqtcommonlib_debug
|
||||||
|
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += dll
|
CONFIG += dll
|
||||||
@ -12,7 +12,5 @@ win32 {
|
|||||||
DEFINES += JKQTCOMMON_LIB_EXPORT_LIBRARY
|
DEFINES += JKQTCOMMON_LIB_EXPORT_LIBRARY
|
||||||
}
|
}
|
||||||
|
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
|
||||||
|
|
||||||
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
@ -0,0 +1,18 @@
|
|||||||
|
# uncomment this line to prevent linking in of the XITS fonts
|
||||||
|
#DEFINES += NO_XITS_FONTS
|
||||||
|
TARGET = jkqtcommonstatisticsandmathlib
|
||||||
|
CONFIG (debug, debug|release): TARGET = jkqtcommonstatisticsandmathlib_debug
|
||||||
|
|
||||||
|
TEMPLATE = lib
|
||||||
|
CONFIG += dll
|
||||||
|
CONFIG += create_prl
|
||||||
|
|
||||||
|
win32 {
|
||||||
|
DEFINES += JKQTCOMMON_STATISTICS_AND_MATH_LIB_IN_DLL
|
||||||
|
DEFINES += JKQTCOMMON_STATISTICS_AND_MATH_LIB_EXPORT_LIBRARY
|
||||||
|
}
|
||||||
|
|
||||||
|
include(../../../lib/jkqtcommon.pri)
|
||||||
|
|
||||||
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
|
win32-msvc*: DEFINES += NOMINMAX
|
@ -13,7 +13,7 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
include(../../../lib/jkqtfastplotter.pri)
|
include(../../../lib/jkqtfastplotter.pri)
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
include(../../../lib/jkqtcommon.pri)
|
||||||
|
|
||||||
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
||||||
|
@ -13,7 +13,7 @@ win32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
include(../../../lib/jkqtmathtext.pri)
|
include(../../../lib/jkqtmathtext.pri)
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
include(../../../lib/jkqtcommon.pri)
|
||||||
|
|
||||||
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
||||||
|
@ -16,10 +16,11 @@ win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
|||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
||||||
|
|
||||||
|
|
||||||
include(../../../lib/jkqtplotter.pri)
|
include(../../../lib/jkqtcommon.pri)
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
include(../../../lib/jkqtcommon_statistics_and_math.pri)
|
||||||
include(../../../lib/jkqtmathtext.pri)
|
include(../../../lib/jkqtmathtext.pri)
|
||||||
include(../../../lib/jkqtfastplotter.pri)
|
include(../../../lib/jkqtfastplotter.pri)
|
||||||
|
include(../../../lib/jkqtplotter.pri)
|
||||||
|
|
||||||
|
|
||||||
include(../../../lib/jkqtplotter_pch.pri)
|
include(../../../lib/jkqtplotter_pch.pri)
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
# uncomment this line to prevent linking in of the XITS fonts
|
# uncomment this line to prevent linking in of the XITS fonts
|
||||||
#DEFINES += NO_XITS_FONTS
|
#DEFINES += NO_XITS_FONTS
|
||||||
TARGET = jkqtpcommonlib
|
TARGET = jkqtcommonlib
|
||||||
CONFIG (debug, debug|release): TARGET = jkqtmathtextlib_debug
|
CONFIG (debug, debug|release): TARGET = jkqtcommonlib_debug
|
||||||
|
|
||||||
TEMPLATE = lib
|
TEMPLATE = lib
|
||||||
CONFIG += staticlib
|
CONFIG += staticlib
|
||||||
CONFIG += create_prl
|
CONFIG += create_prl
|
||||||
|
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
|
||||||
|
|
||||||
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
@ -0,0 +1,13 @@
|
|||||||
|
# uncomment this line to prevent linking in of the XITS fonts
|
||||||
|
#DEFINES += NO_XITS_FONTS
|
||||||
|
TARGET = jkqtcommonstatisticsandmathlib
|
||||||
|
CONFIG (debug, debug|release): TARGET = jkqtcommonstatisticsandmathlib_debug
|
||||||
|
|
||||||
|
TEMPLATE = lib
|
||||||
|
CONFIG += staticlib
|
||||||
|
CONFIG += create_prl
|
||||||
|
|
||||||
|
include(../../../lib/jkqtcommon.pri)
|
||||||
|
|
||||||
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
|
win32-msvc*: DEFINES += NOMINMAX
|
@ -8,7 +8,7 @@ CONFIG+=staticlib
|
|||||||
CONFIG += create_prl
|
CONFIG += create_prl
|
||||||
|
|
||||||
include(../../../lib/jkqtfastplotter.pri)
|
include(../../../lib/jkqtfastplotter.pri)
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
include(../../../lib/jkqtcommon.pri)
|
||||||
|
|
||||||
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
||||||
|
@ -8,7 +8,7 @@ CONFIG += staticlib
|
|||||||
CONFIG += create_prl
|
CONFIG += create_prl
|
||||||
|
|
||||||
include(../../../lib/jkqtmathtext.pri)
|
include(../../../lib/jkqtmathtext.pri)
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
include(../../../lib/jkqtcommon.pri)
|
||||||
|
|
||||||
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
||||||
|
@ -9,10 +9,11 @@ CONFIG += create_prl
|
|||||||
|
|
||||||
#DEFINES += JKQTBP_AUTOTIMER
|
#DEFINES += JKQTBP_AUTOTIMER
|
||||||
|
|
||||||
include(../../../lib/jkqtpcommon.pri)
|
include(../../../lib/jkqtcommon.pri)
|
||||||
include(../../../lib/jkqtplotter.pri)
|
include(../../../lib/jkqtcommon_statistics_and_math.pri)
|
||||||
include(../../../lib/jkqtmathtext.pri)
|
include(../../../lib/jkqtmathtext.pri)
|
||||||
include(../../../lib/jkqtfastplotter.pri)
|
include(../../../lib/jkqtfastplotter.pri)
|
||||||
|
include(../../../lib/jkqtplotter.pri)
|
||||||
|
|
||||||
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
win32-msvc*: DEFINES += _USE_MATH_DEFINES
|
||||||
win32-msvc*: DEFINES += NOMINMAX
|
win32-msvc*: DEFINES += NOMINMAX
|
||||||
|
Loading…
Reference in New Issue
Block a user