GENEIAL  0.2=/
 All Classes Pages
Smoothing.h
1 #pragma once
2 
3 #include <geneial/namespaces.h>
4 #include <geneial/core/population/chromosome/MultiValueChromosome.h>
5 
6 geneial_private_namespace(geneial)
7 {
8 geneial_private_namespace(utility)
9 {
10 using ::geneial::population::chromosome::MultiValueChromosome;
11 
12 geneial_export_namespace
13 {
14 //Library for some common smoothing operations
15 
16 class Smoothing
17 {
18 
19 private:
20  Smoothing()
21  {
22  }
23 
24  virtual ~Smoothing()
25  {
26  }
27 
28 public:
29 
30  //TODO (bewo): Docs!
31  template<typename VALUE_TYPE, typename FITNESS_TYPE>
32  static void restoreSmoothness(typename MultiValueChromosome<VALUE_TYPE, FITNESS_TYPE>::ptr chromosome,
33  VALUE_TYPE maxAbsElevation, VALUE_TYPE min, VALUE_TYPE max, bool hasStart, VALUE_TYPE start);
34 
35  //TODO (bewo): Docs!
36  template<typename VALUE_TYPE, typename FITNESS_TYPE>
37  static void peakAt(unsigned int pos, unsigned int epsLeft, unsigned int epsRight, VALUE_TYPE elevation,
38  typename MultiValueChromosome<VALUE_TYPE, FITNESS_TYPE>::ptr chromosome);
39 
40 };
41 
42 } /* geneial_export_namespace */
43 } /* private namespace utility */
44 } /* private namespace geneial */
45 
46 #include <geneial/utility/Smoothing.hpp>