Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/02/16 14:10:53 (8 years ago)
Author:
abeham
Message:

#2457:

  • Added stripped-down version of FLA branch
  • Added appropriate calculators
  • Fixed detecting maximization in RLD view
Location:
branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape
Files:
1 added
2 copied

Legend:

Unmodified
Added
Removed
  • branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape/3.3/Extensions.cs

    r13484 r13583  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2016 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 HeuristicLab.Core;
     23using System;
    224using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    525
    626namespace HeuristicLab.Analysis.FitnessLandscape {
    7   public static class ListExtensions {
     27  public static class IListExtensions {
    828    public static void DuplicateLast<T>(this IList<T> l) {
    9       l.Add(l[l.Count-1]);
     29      l.Add(l[l.Count - 1]);
    1030    }
    11     public static T Last<T>(this IList<T> l) {
    12       return l[l.Count - 1];
     31
     32    public static void Shuffle<T>(this IList<T> list, IRandom random) {
     33      int n = list.Count - 1;
     34      while (n > 0) {
     35        int k = random.Next(n + 1);
     36        T value = list[k];
     37        list[k] = list[n];
     38        list[n] = value;
     39        n--;
     40      }
     41    }
     42  }
     43
     44  public static class IDictionaryExtensions {
     45    public static TValue GetValueOrDefault<TKey, TValue>(this IDictionary<TKey, TValue> d, TKey key, Func<TValue> @default) {
     46      TValue value;
     47      return d.TryGetValue(key, out value) ? value : @default();
     48    }
     49
     50    public static TValue GetValueOrDefault<TKey, TValue>(this IDictionary<TKey, TValue> d, TKey key, TValue @default = default(TValue)) {
     51      TValue value;
     52      return d.TryGetValue(key, out value) ? value : @default;
    1353    }
    1454  }
Note: See TracChangeset for help on using the changeset viewer.