-
Notifications
You must be signed in to change notification settings - Fork 55
/
docs.h
39 lines (38 loc) · 1.57 KB
/
docs.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*! \mainpage Documentation of libfityk internals.
*
* This is a documentation of source for developers.
*
* If you want to use libfityk in your program, first see
* the namespace #fityk, where the public API is documented.
*
* \b directories
* - src/ - fityk library (libfityk)
* - src/wxgui/ - wxWidgets-based GUI
* - src/cli/ - readline/gnuplot based CLI
* - swig/ - bindings to libfityk
*
* <b>symbolic calculation of derivatives</b>
*
* (can be outdated)
* Fityk calculates derivatives of functions symbolically.
* It parses expression to AST based on struct OpTree,
* calculates recursively derivatives, tries to simplify a bit all expressions
* (these steps are performed in calculate_deriv()),
* and then produces bytecode (AnyFormula::tree_to_bytecode())
* that can be executed by VM (AnyFormula::run_vm()).
* In case of $variables, values and derivatives are always calculated together.
* In case of UDFs, when using non-derivative algorithm,
* it's significantly more efficient to skip calculation of derivatives,
* that's what class AnyFormulaO was introduced for.
* Note, that UDF bytecode is executed n times more than $variable bytecode,
* where n is the number of data points, and usually n >> 1.
*
* \b reusability
*
* There are small pieces of code designed to be reusable.
* They can have more liberal licence than GPL.
*
* - GUI input line, see: http://wxforum.shadonet.com/viewtopic.php?t=13005
* - controls for input of real numbers in wxgui/fancyrc.*
* (see outdated post at http://wxforum.shadonet.com/viewtopic.php?t=13471)
*/