Empirical
Classes | Namespaces
AvidaGP.h File Reference

This is a simple, efficient CPU for and applied version of Avida. More...

#include <fstream>
#include <iostream>
#include <map>
#include "../base/array.h"
#include "../base/Ptr.h"
#include "../base/vector.h"
#include "../tools/File.h"
#include "../tools/map_utils.h"
#include "../tools/Random.h"
#include "../tools/string_utils.h"
#include "AvidaCPU_InstLib.h"

Go to the source code of this file.

Classes

class  emp::AvidaCPU_Base< HARDWARE >
 
struct  emp::AvidaCPU_Base< HARDWARE >::Instruction
 
struct  emp::AvidaCPU_Base< HARDWARE >::Genome
 
struct  emp::AvidaCPU_Base< HARDWARE >::Genome::hash_t
 
struct  emp::AvidaCPU_Base< HARDWARE >::ScopeInfo
 
struct  emp::AvidaCPU_Base< HARDWARE >::RegBackup
 
class  emp::AvidaGP
 

Namespaces

 emp
 If we are in emscripten, make sure to include the header.
 

Detailed Description

This is a simple, efficient CPU for and applied version of Avida.

A simple, efficient hardware for use as a basis for organisms in Avida or AvidaGP.

Note
This file is part of Empirical, https://github.com/devosoft/Empirical
Date
2017
Todo:

Should we save a copy of the original genome? (or create a new "memory" member)

We should clean up how we handle scope; the root scope is zero, so the arg-based scopes are 1-16 (or however many). Right now we increment the value in various places and should be more consistent.

How should Avida-GP organisms take an action? Options include sending ALL outputs and picking the maximum field; sending a single output and using its value; having specialized commands...

Note
This file is part of Empirical, https://github.com/devosoft/Empirical
Date
2017
Todo:
We should clean up how we handle scope; the root scope is zero, so the arg-based scopes are 1-16 (or however many). Right now we increment the value in various places and should be more consistent.