-
76cc93ab22
Fit skeleton
master
Ian Gulliver
2021-11-27 06:27:00 +00:00
-
77a2fed2e0
Make pythag super slow
Ian Gulliver
2021-11-26 00:22:34 +00:00
-
4eb2ff6188
Make pythag really slow
Ian Gulliver
2021-11-24 20:46:48 -08:00
-
0bccd0c94b
Return to best program sometimes
Ian Gulliver
2021-11-24 20:08:47 -08:00
-
1c4cf25e34
Support multiple scoring criteria
Ian Gulliver
2021-11-24 19:52:22 -08:00
-
7c0a1e28e6
Lower instruction limit
Ian Gulliver
2021-11-24 15:49:59 -08:00
-
a9360aa8da
Parameterize ideal function size
Ian Gulliver
2021-11-23 20:45:03 -08:00
-
8a63bd3b3e
Minify only at new best program time
Ian Gulliver
2021-11-23 20:34:10 -08:00
-
f0f28dbd51
Pythagorean thereom definition
Ian Gulliver
2021-11-23 20:28:23 -08:00
-
352e1b90be
Thread safety for status updates, periodically minify
Ian Gulliver
2021-11-22 22:19:38 -08:00
-
44c6a26f9d
Minify program after hitting score
Ian Gulliver
2021-11-22 21:34:55 -08:00
-
677561938f
Constants for distribution
Ian Gulliver
2021-11-22 21:05:05 -08:00
-
c547abb296
Make divide-by-zero error, handle error gracefully in grow
Ian Gulliver
2021-11-22 20:46:20 -08:00
-
a5e44a7e07
Switch to add/remove instruction mutation
Ian Gulliver
2021-11-22 20:33:22 -08:00
-
8f712688b9
Fix crash on call as last instruction in function
Ian Gulliver
2021-11-22 20:32:46 -08:00
-
5ae34243b4
Add sqrt instruction
Ian Gulliver
2021-11-21 17:04:58 -08:00
-
05c62a92e1
Score on criteria count, not sample count
Ian Gulliver
2021-11-20 20:30:16 -10:00
-
6612523a52
Combine into definition file
Ian Gulliver
2021-11-20 20:17:56 -10:00
-
24db692859
Compact definition formats
Ian Gulliver
2021-11-20 20:14:35 -10:00
-
68ae25192e
Status channel in Grow()
Ian Gulliver
2021-11-20 20:02:16 -10:00
-
789e1e7333
Test for grow
Ian Gulliver
2021-11-20 19:44:57 -10:00
-
0850ada0c4
Split out CLI
Ian Gulliver
2021-11-20 19:38:31 -10:00
-
8097d6d24f
More working code generation
Ian Gulliver
2021-11-20 19:32:44 -10:00
-
a5a4c49e37
First program generation
Ian Gulliver
2021-11-20 19:25:16 -10:00
-
f6a598a559
Start exercising grow code, breaking the VM
Ian Gulliver
2021-11-20 19:17:35 -10:00
-
510680d6c5
Start of code growth
Ian Gulliver
2021-11-20 18:51:19 -10:00
-
5af90aa6ff
Make memory sizes parameters
Ian Gulliver
2021-11-20 18:27:06 -10:00
-
bd84a5b969
Restrict global and function references to memory size
Ian Gulliver
2021-11-20 18:12:17 -10:00
-
bdb6b17187
Generate random single instructions
Ian Gulliver
2021-11-20 17:59:22 -10:00
-
ae771823b0
Move operand type lists into the vm
Ian Gulliver
2021-11-20 17:26:58 -10:00
-
30ff003494
Parallelize slow tests
Ian Gulliver
2021-11-20 17:21:46 -10:00
-
56f61545ce
Signed biased distribution generator
Ian Gulliver
2021-11-20 16:56:07 -10:00
-
c12a546447
Biased random generator
Ian Gulliver
2021-11-20 15:20:42 -10:00
-
51f318c924
Execute code between assembly and disassembly
Ian Gulliver
2021-11-20 10:23:54 -10:00
-
3ced099a47
Remove broken loader
Ian Gulliver
2021-11-20 10:20:29 -10:00
-
c67028520c
Hex and binary literal support in hex
Ian Gulliver
2021-11-20 10:19:08 -10:00
-
c43836a9f0
Working disassembler
Ian Gulliver
2021-11-20 10:10:21 -10:00
-
b4a27cafd3
Make Operands an array
Ian Gulliver
2021-11-20 09:46:51 -10:00
-
579ddab2de
Disassembler skeleton
Ian Gulliver
2021-11-19 20:38:56 -10:00
-
5ccf6832c8
Program wrapper struct
Ian Gulliver
2021-11-19 20:16:01 -10:00
-
c536961df3
Bit shift operators
Ian Gulliver
2021-11-19 17:04:11 -10:00
-
e2dafcf21a
Better Not operation
Ian Gulliver
2021-11-19 16:45:39 -10:00
-
cc8e4a8ccb
Bitwise operators
Ian Gulliver
2021-11-19 16:43:59 -10:00
-
50f986fb13
Conditional return instructions
Ian Gulliver
2021-11-19 16:30:11 -10:00
-
7a24eee583
Add conditional call instructions
Ian Gulliver
2021-11-19 16:24:04 -10:00
-
6e36152b6a
Typed operands
Ian Gulliver
2021-11-19 16:14:38 -10:00
-
534c4fe513
Handle invalid function calls
Ian Gulliver
2021-11-19 15:45:51 -10:00
-
7da1ea96da
Jump tests
Ian Gulliver
2021-11-19 15:42:27 -10:00
-
007c56348c
Signed comparison tests
Ian Gulliver
2021-11-19 15:38:28 -10:00
-
4988893b10
More opcode tests
Ian Gulliver
2021-11-19 15:32:49 -10:00
-
cfec23f4e9
More opcode tests
Ian Gulliver
2021-11-19 07:24:16 -10:00
-
b0ee500304
Split test utils, add opcode tests
Ian Gulliver
2021-11-18 20:12:35 -10:00
-
4332632c77
Split out the loader from the VM
Ian Gulliver
2021-11-18 19:56:58 -10:00
-
941939da83
asm support for all opcodes
Ian Gulliver
2021-11-18 19:48:46 -10:00
-
8b502f940c
Split packages
Ian Gulliver
2021-11-18 19:35:24 -10:00
-
b1e27cce79
Rename for clarity
Ian Gulliver
2021-11-18 19:33:43 -10:00
-
eff0017fec
Fix assembly of second operand
Ian Gulliver
2021-11-18 19:33:09 -10:00
-
e99387beb4
Full test (which fails)
Ian Gulliver
2021-11-18 17:53:38 -10:00
-
8e34c67f11
Move go.mod to top level
Ian Gulliver
2021-11-18 17:44:40 -10:00
-
bacbcc38d8
Assembler working
Ian Gulliver
2021-11-18 17:43:13 -10:00
-
6de2e87342
Return state error code
Ian Gulliver
2021-11-18 15:34:10 -10:00
-
b8b13680ad
Naming
Ian Gulliver
2021-11-16 21:12:32 -10:00
-
6449d4762a
Basic parsing
Ian Gulliver
2021-11-16 21:08:46 -10:00
-
db33045391
Move vm into subdir
Ian Gulliver
2021-11-16 20:41:57 -10:00
-
cf33a52392
Use memory type for function memory
Ian Gulliver
2021-11-16 16:21:32 -10:00
-
012d5faecf
Make memory an object
Ian Gulliver
2021-11-16 16:15:46 -10:00
-
1fdeaaf4cc
Private members
Ian Gulliver
2021-11-16 15:39:12 -10:00
-
f2d552e076
More State constructors
Ian Gulliver
2021-11-16 15:36:34 -10:00
-
69e69acc6f
More private
Ian Gulliver
2021-11-16 15:33:03 -10:00
-
7ab0aba088
More private members
Ian Gulliver
2021-11-16 15:27:30 -10:00
-
f39a856361
Make private
Ian Gulliver
2021-11-16 15:13:30 -10:00
-
c52d6f5f9f
Start hiding members
Ian Gulliver
2021-11-15 20:49:54 -10:00
-
6b1da92a3a
Split files
Ian Gulliver
2021-11-15 20:44:26 -10:00
-
be6b726851
First test
Ian Gulliver
2021-11-15 20:36:02 -10:00
-
2c063e5382
Simplify main loop conditional
Ian Gulliver
2021-11-15 20:24:20 -10:00
-
b6d0828e3e
Pre-resolve handlers
Ian Gulliver
2021-11-15 16:46:37 -10:00
-
cf1a5884ab
Pre-decode byteCode
Ian Gulliver
2021-11-15 16:39:30 -10:00
-
3e07a3f99d
Catch range errors, add implicit return
Ian Gulliver
2021-11-14 20:54:53 -10:00
-
b6d7f66def
Common call and startup code
Ian Gulliver
2021-11-14 20:37:33 -10:00
-
f0411e9555
Initial commit
Ian Gulliver
2021-11-14 16:27:03 -08:00