7 #ifndef Tomato_OXFACTORYOFSignCalculators_HXX 8 #define Tomato_OXFACTORYOFSignCalculators_HXX 10 #include "CmakeConfigForTomato.h" 16 template <
typename TYPE >
18 FactoryOfSignCalculators<TYPE>
19 ::newByFactory(TomatoOptions<TYPE> *opts){
20 switch (opts->sign_calc_method){
22 return new SignCalculatorNoSign<TYPE>();
25 return new SignCalculatorRealImag<TYPE>();
28 return new SignCalculatorShmolli<TYPE>();
34 throw std::runtime_error(
"sign_calc_method not available");
38 template <
typename TYPE >
40 FactoryOfSignCalculators<TYPE>
41 ::disp(
int sign_calc_method){
43 if (sign_calc_method >= 0) {
44 printf(
"%-28s%-22s",
" sign_calc_method: ", signCalculatorsTypeNames[sign_calc_method]);
47 printf(
"options: [ ");
49 for (
int i = 0; i < lastSignCalculatorType+1; i++){
51 if(signCalculatorsAvailability[i]){
52 printf(
"%s ", signCalculatorsTypeNames[i]);
61 #endif //Tomato_OXFACTORYOFSignCalculators_HXX
Definition: OxCalculator.h:19