carl  24.04
Computer ARithmetic Library
MultivariateHornerSettings.h
Go to the documentation of this file.
1 namespace carl{
2 
4  GREEDY_I = 0,
5  //GREEDY_I minimizes the amount of arithmetic operations as fast as possible
6  GREEDY_Is = 1,
7  //GREEDY_Is does the same as GREEDY_I, but adds a simplifyer at the end.
8  GREEDY_II = 2,
9  //GREEDY_II minimizes the solution space, by evaluating each monome.
10  GREEDY_IIs = 3
11  //GREEDY_IIs does the same as GREEDY_II, but adds a simplifyer at the end.
12 };
13 
14 #ifdef __VS
15 #define CONSTEXPR const
16 #else
17 #define CONSTEXPR constexpr
18 #endif
19 
20 struct strategy
21 {
22  /*
23  * selectionType determines which variable selection heuristic is used to create a horner scheme.
24  */
26 
27  /*
28  * defines for GREEDY_II/IIs the default value used to evaluate variables (x = [-targetDiameter,+targetDiameter])
29  */
30 #ifdef __VS
31  static double targetDiameter() { return 0.1; }
32 #else
33  static constexpr double targetDiameter = 0.1;
34 #endif
35 
36  /*
37  * Toggles a counter, that monitors the reduction of arithmetic operations by Horner schemes.
38  */
40 };
41 
42 
43 }
#define CONSTEXPR
carl is the main namespace for the library.
static CONSTEXPR bool use_arithmeticOperationsCounter
static constexpr double targetDiameter
static CONSTEXPR variableSelectionHeurisics selectionType