Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/21/15 11:54:43 (9 years ago)
Author:
mkommend
Message:

#2174: Updated views and renamed programmable problem to basic problem and added individual extension methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/Individuals/Individual.cs

    r11737 r11813  
    4040
    4141    public abstract IItem this[string name] { get; set; }
     42    public abstract TEncoding GetEncoding<TEncoding>() where TEncoding : class, IEncoding;
    4243
    4344    public Individual Copy() {
     
    6263  #region extension methods
    6364  public static class IndividualExtensionMethods {
     65    public static BinaryVector BinaryVector(this Individual individual) {
     66      var encoding = individual.GetEncoding<BinaryEncoding>();
     67      return individual.BinaryVector(encoding.Name);
     68    }
    6469    public static BinaryVector BinaryVector(this Individual individual, string name) {
    6570      return (BinaryVector)individual[name];
     71    }
     72
     73    public static IntegerVector IntegerVector(this Individual individual) {
     74      var encoding = individual.GetEncoding<IntegerEncoding>();
     75      return individual.IntegerVector(encoding.Name);
    6676    }
    6777    public static IntegerVector IntegerVector(this Individual individual, string name) {
    6878      return (IntegerVector)individual[name];
    6979    }
     80
     81    public static Permutation Permutation(this Individual individual) {
     82      var encoding = individual.GetEncoding<PermutationEncoding>();
     83      return individual.Permutation(encoding.Name);
     84    }
    7085    public static Permutation Permutation(this Individual individual, string name) {
    7186      return (Permutation)individual[name];
     87    }
     88
     89    public static RealVector RealVector(this Individual individual) {
     90      var encoding = individual.GetEncoding<RealEncoding>();
     91      return individual.RealVector(encoding.Name);
    7292    }
    7393    public static RealVector RealVector(this Individual individual, string name) {
Note: See TracChangeset for help on using the changeset viewer.