The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
version.h
Go to the documentation of this file.
1 /**
2  * file name: version.h
3  * @author Betti Oesterholz
4  * @date 11.06.2010
5  * @mail webmaster@BioKom.info
6  *
7  * System: C++
8  *
9  * This file contains switches for the different fib -algorithms -versions.
10  * Copyright (C) @c GPL3 2009 Betti Oesterholz
11  *
12  * This program is free software: you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation, either version 3 of the License, or
15  * any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program. If not, see <http://www.gnu.org/licenses/>.
24  *
25  *
26  * This file contains the versionsinformation for the Fib
27  * -Multimedialanguage algorithms implementations.
28  * This includes descriptions of declarations for versioned
29  * programming switches.
30  *
31  */
32 /*
33 History:
34 11.06.2010 Oesterholz created
35 11.09.2010 Oesterholz FEATURE_REMOVE_TOPMOST_UNDEROBJECTS added
36 05.12.2010 Oesterholz FEATURE_STORE_EVALUED_UNDEROBJECT_NUMBERS added
37 18.01.2011 Oesterholz FEATURE_LINEAR_EQUIATION_PRECISION_FOR_NULL added
38 04.04.2011 Oesterholz FEATURE_INEQUIATION_EVALUE_FAST and
39  FEATURE_HYPERPLANE_BODY_OPTIMIZE_IS_PART_INEQUIATIONS added
40 09.04.2011 Oesterholz FEATURE_HYPERPLANE_BODY_ADD_INEQUIATIONS_SAVE_ON_BIG_NUMBERS added
41 11.04.2011 Oesterholz FEATURE_NCLUSTER_CLUSTER_IN_ONE_STEP added
42 17.04.2011 Oesterholz FEATURE_HYPERPLANE_BODY_SIMPLE_ADD_INEQUIATIONS_NO_DOUBLE_POINTS added
43 */
44 
45 
46 /**************************************
47 * Version Information
48 **************************************/
49 
50 //Versionsinformation for the Fib Multimedialanguage
51 #define FIB_ALGORITHMS_VERSION 1
52 #define FIB_ALGORITHMS_VERSION_NAME V0.1.0
53 
54 
55 /**************************************
56 * versioned programming switches
57 **************************************/
58 
59 
60 /**
61  * With this feature the removeOverwrittenUnderObjects() function will
62  * remove only the topmost overwritten underobjects.
63  * @see fib::algorithms::nReduceFibObject::removeOverwrittenUnderObjects()
64  *
65  * created: 11.09.2010 Betti Oesterholz
66  * Status: implemened and tested(05.12.2010)
67  *//*
68 History:
69 */
70 #define FEATURE_REMOVE_TOPMOST_UNDEROBJECTS
71 
72 
73 /**
74  * With this feature the removeOverwrittenUnderObjects() function will
75  * store the evalued underobject numbers
76  * (@see cFibElment::getObjectPointsForElement()) and will not evalue
77  * them again while reevaluing a point.
78  * @see fib::algorithms::nReduceFibObject::removeOverwrittenUnderObjects()
79  * @see fib::algorithms::nReduceFibObject::nRemoveOverwrittenUnderObjects::cEvalueUnderObjects::evalueElement()
80  * @see fib::algorithms::nReduceFibObject::nRemoveOverwrittenUnderObjects::cEvalueUnderObjects::mapLiUnderobjects
81  *
82  * created: 05.12.2010 Betti Oesterholz
83  * Status: implemened and tested(05.12.2010)
84  *//*
85 History:
86 */
87 #define FEATURE_STORE_EVALUED_UNDEROBJECT_NUMBERS
88 
89 
90 /**
91  * With this feature the addition of to equiations values will be 0,
92  * if the negative of one values is allmost equal to the other value.
93  * In this way the precision of the variable values is not relevant.
94  * @see fib::algorithms::nLinearEquation::cLinearEquation<tFactors>::operator+( const cLinearEquation<tFactors> & equiation )
95  *
96  * created: 17.01.2011 Betti Oesterholz
97  * Status: implemened and tested(17.01.2011)
98  *//*
99 History:
100 */
101 #define FEATURE_LINEAR_EQUIATION_PRECISION_FOR_NULL
102 
103 
104 /**
105  * With this feature the method toFibUnderFunction() of the nD1::cPolynom
106  * class will convert the polynom to an fub underfunction polynom in the
107  * horn scheme form.
108  * @see fib::algorithms::nD1::cPolynom<tX, tY>::toFibUnderFunction()
109  *
110  * created: 10.03.2011 Betti Oesterholz
111  * Status: implemened and tested(10.03.2011)
112  *//*
113 History:
114 */
115 #define FEATURE_ND1_POLYNOM_TO_HORN_SCHEMA_FIB_UNDERFUNCTION
116 
117 
118 /**
119  * With this feature the methods for evaluing an inequiation won't use the
120  * slower add and sub functions from fibDatatyps.h .
121  * @see fib::algorithms::nLinearInequation::cInequation<tFactors>::evalue()
122  * @see fib::algorithms::nLinearInequation::cInequation<tFactors>::evalueValue()
123  * Beware: If you comment FEATURE_INEQUIATION_EVALUE_FAST out you will get
124  * more errors with tHyperplaneBody.
125  *
126  * created: 04.04.2011 Betti Oesterholz
127  * Status: implemened and tested(04.04.2011)
128  *//*
129 History:
130 */
131 #define FEATURE_INEQUIATION_EVALUE_FAST
132 
133 
134 /**
135  * With this feature the isPart() method will optimize the inequiations
136  * when evaluing if a point is part of the body.
137  * The first inequiation found, which the point dos not fulfill, will be
138  * put to the front of the inequiation list, so its checked as the first
139  * inequiation in the next isPart() call.
140  * @see fib::algorithms::nDn::cHyperplaneBody<tFactors>::isPart()
141  *
142  * created: 04.04.2011 Betti Oesterholz
143  * Status: implemened and tested(04.04.2011)
144  *//*
145 History:
146 */
147 #define FEATURE_HYPERPLANE_BODY_OPTIMIZE_IS_PART_INEQUIATIONS
148 
149 
150 /**
151  * With this feature the addInequiation() method will also work on big
152  * hyperpbodies.
153  * Without the feature addInequiation() will work faster, but produce
154  * errors on big hyper bodys (don't use a to big maxValue when
155  * intitializing the cHyperplaneBody).
156  * @see fib::algorithms::nDn::cHyperplaneBodySimple<tFactors>::addInequiation()
157  * TODO: feature did not work correct
158  * (? not needed with feature FEATURE_C_SPLINE_USE_GLP_LIB_LINAR_PROBLEM_SOLVING)
159  *
160  * created: 09.04.2011 Betti Oesterholz
161  * Status: implemened
162  *//*
163 History:
164 */
165 //#define FEATURE_HYPERPLANE_BODY_SIMPLE_ADD_INEQUIATIONS_SAVE_ON_BIG_NUMBERS
166 
167 
168 
169 /**
170  * With this feature the cluster() function of nCluster will create the
171  * mapping for the cluster in one step.
172  * This will save memmory and time.
173  * @see fib::algorithms::nCluster::cluster()
174  *
175  * created: 11.04.2011 Betti Oesterholz
176  * Status: implemened and tested(11.04.2011)
177  *//*
178 History:
179 */
180 #define FEATURE_NCLUSTER_CLUSTER_IN_ONE_STEP
181 
182 /**
183  * With this feature the addInequiation() function of the class
184  * cHyperplaneBodySimple will remove double points wich are.
185  * Ther will allways just one point, which is contained in specific set of
186  * hyperplanes.
187  * This will save memmory and time.
188  * @see fib::algorithms::nDn::cHyperplaneBodySimple<tFactors>::addInequiation()
189  *
190  * created: 17.04.2011 Betti Oesterholz
191  * Status: implemened and tested(17.04.2011)
192  *//*
193 History:
194 */
195 #define FEATURE_HYPERPLANE_BODY_SIMPLE_ADD_INEQUIATIONS_NO_DOUBLE_POINTS
196 
197 
198 
199 /**
200  * With this feature the glp library (extern package) linear solver will be
201  * used to find a spline for a vector of range data points.
202  *
203  * @see fib::algorithms::nD1::cSpline<tX, tY>::evalueSpline()
204  *
205  * created: 16.09.2012 Betti Oesterholz
206  * Status: implemened and tested(13.10.2012)
207  *//*
208 History:
209 */
210 #define FEATURE_C_SPLINE_USE_GLP_LIB_LINAR_PROBLEM_SOLVING
211 
212 /**
213  * With this feature the glp library (extern package) linear solver will be
214  * used with a mutex switch, so it can run in treads.
215  * If the glp libary is tread save this feature can be deactivated.
216  * Make sure to include mutexGlpkSolver.inc .
217  *
218  * @see mutexGlpkSolver.inc
219  * @see FEATURE_C_SPLINE_USE_GLP_LIB_LINAR_PROBLEM_SOLVING
220  * @see fib::algorithms::nD1::cSpline<tX, tY>::evalueSpline()
221  *
222  * created: 26.09.2012 Betti Oesterholz
223  * Status: implemened and tested(13.10.2012)
224  *//*
225 History:
226 */
227 #define FEATURE_GLPK_USE_MUTEX_LINAR_PROBLEM_SOLVING
228 
229 
230 
231