diff options
| author | Paul Oliver <contact@pauloliver.dev> | 2024-02-29 02:29:14 +0100 | 
|---|---|---|
| committer | Paul Oliver <contact@pauloliver.dev> | 2024-02-29 02:29:14 +0100 | 
| commit | 8998e2eb104c0965b0c9f190705b70abc16b62d7 (patch) | |
| tree | eba03070b21b85b736458e591886b6f38330d39b /include | |
| parent | 80c0e6579302a0df9cee4899c52742b1fde582f9 (diff) | |
Removed information EAT-ing.
[#16] Allowing organisms to EAT information is causing huge reefs to
form too early and occupy most memory space. Here we replace EATB/F
with the old shift left/right. This is done to compare simulation
stability.
Diffstat (limited to 'include')
| -rw-r--r-- | include/evolver.h | 3 | ||||
| -rw-r--r-- | include/instset.h | 6 | ||||
| -rw-r--r-- | include/process.h | 5 | 
3 files changed, 5 insertions, 9 deletions
| diff --git a/include/evolver.h b/include/evolver.h index b2ead10..457cd9a 100644 --- a/include/evolver.h +++ b/include/evolver.h @@ -4,8 +4,7 @@  *  * This module controls all random events in Salis. At its heart lies a  * XOR-Shift pseudo-random number generator with 128 bits of state. It controls -* cosmic rays and rises simulation entropy whenever organisms 'eat' -* information. +* cosmic rays and slowly rises simulation entropy.  */  #ifndef SALIS_EVOLVER_H diff --git a/include/instset.h b/include/instset.h index ab7bab0..eeb4600 100644 --- a/include/instset.h +++ b/include/instset.h @@ -32,6 +32,8 @@ enum {  	SALIS_INST SPLT, /**< $ Split child memory block */  	SALIS_INST INCN, /**< ^ Increment register */  	SALIS_INST DECN, /**< v Decrement register */ +	SALIS_INST SHFL, /**< < Shift-left register */ +	SALIS_INST SHFR, /**< > Shift-right register */  	SALIS_INST ZERO, /**< 0 Zero out register */  	SALIS_INST UNIT, /**< 1 Place 1 on register */  	SALIS_INST NOTN, /**< ! Negation operator */ @@ -45,9 +47,7 @@ enum {  	SALIS_INST SEND, /**< S Send instruction to common pipe */  	SALIS_INST RECV, /**< R Receive instruction from common pipe */  	SALIS_INST PSHN, /**< # Push value to stack */ -	SALIS_INST POPN, /**< ~ Pop value from stack */ -	SALIS_INST EATB, /**< < Eat backwards */ -	SALIS_INST EATF  /**< > Eat forward */ +	SALIS_INST POPN  /**< ~ Pop value from stack */  };  /** Determine if an unsigned integer contains a valid instruction. diff --git a/include/process.h b/include/process.h index 3723ad6..bd46462 100644 --- a/include/process.h +++ b/include/process.h @@ -5,8 +5,7 @@  * This module allows access to Salis processes, or procs. Procs are the actual  * organisms in the simulation. They consist of a virtual CPU with 4 registers  * and a stack of 8. The instruction pointer (IP) and seeker pointer (SP) -* coordinate the execution of all instructions. Organisms get rewarded or -* punished, depending on certain conditions. +* coordinate the execution of all instructions.  */  #ifndef SALIS_PROCESS_H @@ -21,8 +20,6 @@ struct Process  	SALIS_PROC_ELEMENT uint32 mb1s;  	SALIS_PROC_ELEMENT uint32 mb2a;  	SALIS_PROC_ELEMENT uint32 mb2s; -	SALIS_PROC_ELEMENT uint32 reward; -	SALIS_PROC_ELEMENT uint32 punish;  	SALIS_PROC_ELEMENT uint32 ip;  	SALIS_PROC_ELEMENT uint32 sp;  	SALIS_PROC_ELEMENT uint32 rax; | 
