Commit Graph

  • 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