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; |