Skip to content

Commit

Permalink
updated doxygen docs (now it documents only libfityk)
Browse files Browse the repository at this point in the history
and commented out unused vector_of<>
  • Loading branch information
wojdyr committed Mar 15, 2011
1 parent f637cac commit 509528b
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 49 deletions.
4 changes: 2 additions & 2 deletions doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ EXTRACT_STATIC = NO
# defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included.

EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_CLASSES = NO

# This flag is only useful for Objective-C code. When set to YES local
# methods, which are defined in the implementation section but not in
Expand Down Expand Up @@ -592,7 +592,7 @@ FILE_PATTERNS =
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.

RECURSIVE = YES
RECURSIVE = NO

# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
Expand Down
46 changes: 11 additions & 35 deletions doxygen/docs.h
Original file line number Diff line number Diff line change
@@ -1,42 +1,21 @@
/*! \mainpage Documentation of Fityk Source
/*! \mainpage Documentation of libfityk internals.
*
* \par
* This is a documentation of source for developers.
* If you just want to use the program, see
* <a href="http://www.unipress.waw.pl/fityk/doc/html/index.html">
* user's manual</a>.
* \par
* If you want to use a fityk library in your program, see
*
* If you want to use libfityk in your program, first see
* the namespace #fityk, where the public API is documented.
* \par
* Source code subdirectories:
*
* \b directories
* - src/ - fityk library (libfityk)
* - src/wxgui/ - wxWidgets-based GUI
* - src/cli/ - readline/gnuplot based CLI
* - swig/ - bindings to libfityk
* \par
* libfityk - parsers
*
* Fityk is using Boost::Spirit for parsing commands and data transformations.
* The grammar of fityk scripts consists of three main parts:
* Unfortunatelly, it was necessary to split grammar into more files.
* Otherwise, compilation would require gigabytes of memory.
* Some grammar rules are repeated in two or more files.
* - The grammar of commands is in cmd* files.
* example: with fitting-method=Nelder-Mead-simplex fit 10
* - Data transformation grammar can be found in datatrans* files.
* example: X = sin(3*x) + y
* - function grammar (FuncGrammar) is the shortest one, in var.cpp
* it uses ast from Spirit.
* example: $h * exp(-(pi*x)^2)
* Compilation of any file shouldn't require more than 0.5 GB of memory.
* \par
* libfityk - symbolic calculation of derivatives
* <b>symbolic calculation of derivatives</b>
*
* That's most funny part. Fityk, unlike most of other program (e.g. gnuplot),
* calculates derivatives of functions symbolically, not numerically.
* It takes Spirit AST produced from FuncGrammar,
* translates it to own AST (based on OpTree),
* (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())
Expand All @@ -48,16 +27,13 @@
* Note, that UDF bytecode is executed n times more than $variable bytecode,
* where n is the number of data points, and usually n >> 1.
*
* \par
* reusability
* \b reusability
*
* There are small pieces of code (1 or a few files) designed to be reusable.
* 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)
* - optional-suffix-parser for Boost.Spirit in src/optional_suffix.h
* see also: http://article.gmane.org/gmane.comp.parsers.spirit.general/7797
*/

12 changes: 6 additions & 6 deletions src/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -204,12 +204,12 @@ inline std::vector<T> vector4 (T a, T b, T c, T d) {
}

/// Make n-element vector, e.g.: vector_of<int>(1)(2)(3)(4)(5)
template <typename T>
struct vector_of: public std::vector<T>
{
vector_of(const T& t) { (*this)(t); }
vector_of& operator()(const T& t) { this->push_back(t); return *this; }
};
//template <typename T>
//struct vector_of: public std::vector<T>
//{
// vector_of(const T& t) { (*this)(t); }
// vector_of& operator()(const T& t) { this->push_back(t); return *this; }
//};


/// Make (u-l)-element vector, filled by numbers: l, l+1, ..., u-1.
Expand Down
10 changes: 4 additions & 6 deletions src/fityk.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
// This file is part of fityk program. Copyright (C) Marcin Wojdyr
// Licence: GNU General Public License ver. 2+

/// \par
/// Public C++ API of libfityk: class Fityk and helpers.
/// \par
/// Minimal examples of using libfityk in C++, Python, Lua and Perl are in
/// samples/hello.* files.

#ifndef FITYK__API__H__
#define FITYK__API__H__

Expand All @@ -27,6 +21,10 @@
class Ftk;


/// Public C++ API of libfityk: class Fityk and helpers.
///
/// Minimal examples of using libfityk in C++, Python, Lua and Perl are in
/// samples/hello.* files.
namespace fityk
{

Expand Down

0 comments on commit 509528b

Please sign in to comment.