Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/01/10 08:52:32 (15 years ago)
Author:
gkronber
Message:

Created a specialized view for function library injectors which allows full configuration of the function library. #748 (FunctionLibraryView is empty)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.GP.StructureIdentification/3.3/FunctionLibraryInjectors/UnconstrainedFunctionLibraryInjector.cs

    r2566 r2728  
    3232    public const string MAXTIMEOFFSET = "MaxTimeOffset";
    3333
    34     public const string DIFFERENTIALS_ALLOWED = "Differentials";
    35     public const string VARIABLES_ALLOWED = "Variables";
    36     public const string CONSTANTS_ALLOWED = "Constants";
    37     public const string ADDITION_ALLOWED = "Addition";
    38     public const string AVERAGE_ALLOWED = "Average";
    39     public const string AND_ALLOWED = "And";
    40     public const string COSINUS_ALLOWED = "Cosinus";
    41     public const string DIVISION_ALLOWED = "Division";
    42     public const string EQUAL_ALLOWED = "Equal";
    43     public const string EXPONENTIAL_ALLOWED = "Exponential";
    44     public const string GREATERTHAN_ALLOWED = "GreaterThan";
    45     public const string IFTHENELSE_ALLOWED = "IfThenElse";
    46     public const string LESSTHAN_ALLOWED = "LessThan";
    47     public const string LOGARTIHM_ALLOWED = "Logarithm";
    48     public const string MULTIPLICATION_ALLOWED = "Multiplication";
    49     public const string NOT_ALLOWED = "Not";
    50     public const string POWER_ALLOWED = "Power";
    51     public const string OR_ALLOWED = "Or";
    52     public const string SIGNUM_ALLOWED = "Signum";
    53     public const string SINUS_ALLOWED = "Sinus";
    54     public const string SQRT_ALLOWED = "SquareRoot";
    55     public const string SUBTRACTION_ALLOWED = "Subtraction";
    56     public const string TANGENS_ALLOWED = "Tangens";
    57     public const string XOR_ALLOWED = "Xor"; private int minTimeOffset;
     34    private int minTimeOffset;
    5835    private int maxTimeOffset;
    5936
     
    6643      AddVariableInfo(new VariableInfo(MINTIMEOFFSET, "Minimal time offset for all features", typeof(IntData), VariableKind.In));
    6744      AddVariableInfo(new VariableInfo(MAXTIMEOFFSET, "Maximal time offset for all feature", typeof(IntData), VariableKind.In));
    68 
    69       AddVariable(DIFFERENTIALS_ALLOWED, false);
    70       AddVariable(VARIABLES_ALLOWED, true);
    71       AddVariable(CONSTANTS_ALLOWED, true);
    72       AddVariable(ADDITION_ALLOWED, true);
    73       AddVariable(AVERAGE_ALLOWED, false);
    74       AddVariable(AND_ALLOWED, true);
    75       AddVariable(COSINUS_ALLOWED, true);
    76       AddVariable(DIVISION_ALLOWED, true);
    77       AddVariable(EQUAL_ALLOWED, true);
    78       AddVariable(EXPONENTIAL_ALLOWED, true);
    79       AddVariable(GREATERTHAN_ALLOWED, true);
    80       AddVariable(IFTHENELSE_ALLOWED, true);
    81       AddVariable(LESSTHAN_ALLOWED, true);
    82       AddVariable(LOGARTIHM_ALLOWED, true);
    83       AddVariable(MULTIPLICATION_ALLOWED, true);
    84       AddVariable(NOT_ALLOWED, true);
    85       AddVariable(POWER_ALLOWED, true);
    86       AddVariable(OR_ALLOWED, true);
    87       AddVariable(SIGNUM_ALLOWED, true);
    88       AddVariable(SINUS_ALLOWED, true);
    89       AddVariable(SQRT_ALLOWED, true);
    90       AddVariable(SUBTRACTION_ALLOWED, true);
    91       AddVariable(TANGENS_ALLOWED, true);
    92       AddVariable(XOR_ALLOWED, false);
    93     }
    94 
    95     private void AddVariable(string name, bool allowed) {
    96       AddVariableInfo(new VariableInfo(name, name + " allowed", typeof(BoolData), Core.VariableKind.New));
    97       GetVariableInfo(name).Local = true;
    98       AddVariable(new Core.Variable(name, new BoolData(allowed)));
    9945    }
    10046
     
    13884      Xor xor = new Xor();
    13985
    140       List<IFunction> doubleFunctions = new List<IFunction>();
    141       ConditionalAddFunction(DIFFERENTIALS_ALLOWED, differential, doubleFunctions);
    142       ConditionalAddFunction(VARIABLES_ALLOWED, variable, doubleFunctions);
    143       ConditionalAddFunction(CONSTANTS_ALLOWED, constant, doubleFunctions);
    144       ConditionalAddFunction(ADDITION_ALLOWED, addition, doubleFunctions);
    145       ConditionalAddFunction(AVERAGE_ALLOWED, average, doubleFunctions);
    146       ConditionalAddFunction(COSINUS_ALLOWED, cosinus, doubleFunctions);
    147       ConditionalAddFunction(DIVISION_ALLOWED, division, doubleFunctions);
    148       ConditionalAddFunction(EXPONENTIAL_ALLOWED, exponential, doubleFunctions);
    149       ConditionalAddFunction(IFTHENELSE_ALLOWED, ifThenElse, doubleFunctions);
    150       ConditionalAddFunction(LOGARTIHM_ALLOWED, logarithm, doubleFunctions);
    151       ConditionalAddFunction(MULTIPLICATION_ALLOWED, multiplication, doubleFunctions);
    152       ConditionalAddFunction(POWER_ALLOWED, power, doubleFunctions);
    153       ConditionalAddFunction(SIGNUM_ALLOWED, signum, doubleFunctions);
    154       ConditionalAddFunction(SINUS_ALLOWED, sinus, doubleFunctions);
    155       ConditionalAddFunction(SQRT_ALLOWED, sqrt, doubleFunctions);
    156       ConditionalAddFunction(SUBTRACTION_ALLOWED, subtraction, doubleFunctions);
    157       ConditionalAddFunction(TANGENS_ALLOWED, tangens, doubleFunctions);
    158       ConditionalAddFunction(AND_ALLOWED, and, doubleFunctions);
    159       ConditionalAddFunction(EQUAL_ALLOWED, equal, doubleFunctions);
    160       ConditionalAddFunction(GREATERTHAN_ALLOWED, greaterThan, doubleFunctions);
    161       ConditionalAddFunction(LESSTHAN_ALLOWED, lessThan, doubleFunctions);
    162       ConditionalAddFunction(NOT_ALLOWED, not, doubleFunctions);
    163       ConditionalAddFunction(OR_ALLOWED, or, doubleFunctions);
    164       ConditionalAddFunction(XOR_ALLOWED, xor, doubleFunctions);
    165 
     86      List<IFunction> doubleFunctions = new List<IFunction>() {
     87      differential, variable, constant, addition, average, cosinus, division, exponential, ifThenElse,logarithm, multiplication,
     88      power, signum, sinus, sqrt, subtraction, tangens, and, equal, greaterThan, lessThan, not, or, xor
     89      };
    16690
    16791      SetAllowedSubOperators(and, doubleFunctions);
     
    187111      SetAllowedSubOperators(tangens, doubleFunctions);
    188112
    189       ConditionalAddOperator(DIFFERENTIALS_ALLOWED, functionLibrary, differential);
    190       ConditionalAddOperator(VARIABLES_ALLOWED, functionLibrary, variable);
    191       ConditionalAddOperator(CONSTANTS_ALLOWED, functionLibrary, constant);
    192       ConditionalAddOperator(ADDITION_ALLOWED, functionLibrary, addition);
    193       ConditionalAddOperator(AVERAGE_ALLOWED, functionLibrary, average);
    194       ConditionalAddOperator(AND_ALLOWED, functionLibrary, and);
    195       ConditionalAddOperator(COSINUS_ALLOWED, functionLibrary, cosinus);
    196       ConditionalAddOperator(DIVISION_ALLOWED, functionLibrary, division);
    197       ConditionalAddOperator(EQUAL_ALLOWED, functionLibrary, equal);
    198       ConditionalAddOperator(EXPONENTIAL_ALLOWED, functionLibrary, exponential);
    199       ConditionalAddOperator(GREATERTHAN_ALLOWED, functionLibrary, greaterThan);
    200       ConditionalAddOperator(IFTHENELSE_ALLOWED, functionLibrary, ifThenElse);
    201       ConditionalAddOperator(LESSTHAN_ALLOWED, functionLibrary, lessThan);
    202       ConditionalAddOperator(LOGARTIHM_ALLOWED, functionLibrary, logarithm);
    203       ConditionalAddOperator(MULTIPLICATION_ALLOWED, functionLibrary, multiplication);
    204       ConditionalAddOperator(NOT_ALLOWED, functionLibrary, not);
    205       ConditionalAddOperator(POWER_ALLOWED, functionLibrary, power);
    206       ConditionalAddOperator(OR_ALLOWED, functionLibrary, or);
    207       ConditionalAddOperator(SIGNUM_ALLOWED, functionLibrary, signum);
    208       ConditionalAddOperator(SINUS_ALLOWED, functionLibrary, sinus);
    209       ConditionalAddOperator(SQRT_ALLOWED, functionLibrary, sqrt);
    210       ConditionalAddOperator(SUBTRACTION_ALLOWED, functionLibrary, subtraction);
    211       ConditionalAddOperator(TANGENS_ALLOWED, functionLibrary, tangens);
    212       ConditionalAddOperator(XOR_ALLOWED, functionLibrary, xor);
     113      doubleFunctions.ForEach(fun => functionLibrary.AddFunction(fun));
    213114
    214115      variable.SetConstraints(minTimeOffset, maxTimeOffset);
Note: See TracChangeset for help on using the changeset viewer.