Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.LinqExpressionTreeInterpreter/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Plugin.cs.frame @ 13141

Last change on this file since 13141 was 13141, checked in by bburlacu, 8 years ago

#2442: Merged files from trunk and updated project file. Implemented missing operations in the CompiledTreeInterpreter: Integral, Derivative, Lag, TimeLag. Adapted lambda signature to accept an array of List<double> in order to make it easier to work with compiled trees. Changed value parameters to fixed value parameters and adjusted interpreter constructors and after serialization hooks. Removed function symbol.

From the performance point of view, compiling the tree into a lambda accepting a double[][] parameter (an array of arrays for the values of each double variable), accessed with Expression.ArrayIndex is the fastest, but it can be cumbersome to provide the data as a double[][]. Therefore the variant with List<double>[] was chosen. Internally, for each variable node the List's underlying double array is used, result in an overall decent speed compromise.

File size: 2.2 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System;
23using System.Collections.Generic;
24using System.Text;
25using HeuristicLab.PluginInfrastructure;
26
27namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
28  [Plugin("HeuristicLab.Problems.DataAnalysis.Symbolic","Provides base classes for symbolic data analysis tasks.", "3.4.8.$WCREV$")]
29  [PluginFile("HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll", PluginFileType.Assembly)]
30  [PluginDependency("HeuristicLab.ALGLIB", "3.7.0")]
31  [PluginDependency("HeuristicLab.Analysis", "3.3")]
32  [PluginDependency("HeuristicLab.Collections", "3.3")]
33  [PluginDependency("HeuristicLab.Common", "3.3")]
34  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
35  [PluginDependency("HeuristicLab.Core", "3.3")]
36  [PluginDependency("HeuristicLab.Data", "3.3")]
37  [PluginDependency("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding", "3.4")]
38  [PluginDependency("HeuristicLab.Operators", "3.3")]
39  [PluginDependency("HeuristicLab.Optimization", "3.3")]
40  [PluginDependency("HeuristicLab.Optimization.Operators", "3.3")]
41  [PluginDependency("HeuristicLab.Parameters", "3.3")]
42  [PluginDependency("HeuristicLab.Persistence", "3.3")]
43  [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4")]
44  [PluginDependency("HeuristicLab.Problems.Instances", "3.3")]
45  [PluginDependency("HeuristicLab.Random", "3.3")]
46  public class HeuristicLabProblemsDataAnalysisSymbolicPlugin : PluginBase {
47  }
48}
Note: See TracBrowser for help on using the repository browser.