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