source: cpp/frams/genetics/f9/f9_oper.h @ 1157

Last change on this file since 1157 was 1157, checked in by Maciej Komosinski, 2 years ago

Improved f9 mutation

  • Property svn:eol-style set to native
File size: 813 bytes
Line 
1// This file is a part of Framsticks SDK.  http://www.framsticks.com/
2// Copyright (C) 1999-2021  Maciej Komosinski and Szymon Ulatowski.
3// See LICENSE.txt for details.
4
5#ifndef _F9_OPER_H_
6#define _F9_OPER_H_
7
8#include "../genooperators.h"
9
10
11class GenoOper_f9 : public GenoOperators
12{
13public:
14        GenoOper_f9();
15        int checkValidity(const char *, const char *genoname);
16        int validate(char *&, const char *genoname);
17        int mutate(char *&g, float& chg, int &method);
18        int crossOver(char *&g1, char *&g2, float& chg1, float& chg2);
19        uint32_t style(const char *g, int pos);
20        const char* getSimplest() { return "R"; }
21
22        void mutate_replace(char *gene, int i); //helper for mutate()
23        void mutate_add_or_del(char *& gene, int len, int add_0_del_1); //helper for mutate()
24
25        double mut_prob; //mutation probability
26};
27
28#endif
Note: See TracBrowser for help on using the repository browser.