nudge 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/Rakefile +11 -7
- data/VERSION +1 -1
- data/lib/instructions/bool/bool_and.rb +19 -0
- data/lib/instructions/bool/bool_define.rb +6 -0
- data/lib/instructions/bool/bool_depth.rb +6 -0
- data/lib/instructions/bool/bool_duplicate.rb +6 -0
- data/lib/instructions/bool/bool_equal_q.rb +19 -0
- data/lib/instructions/bool/bool_flush.rb +6 -0
- data/lib/instructions/bool/bool_not.rb +18 -0
- data/lib/instructions/bool/bool_or.rb +19 -0
- data/lib/instructions/bool/bool_pop.rb +6 -0
- data/lib/instructions/bool/bool_random.rb +13 -0
- data/lib/instructions/bool/bool_rotate.rb +6 -0
- data/lib/instructions/bool/bool_shove.rb +6 -0
- data/lib/instructions/bool/bool_swap.rb +6 -0
- data/lib/instructions/bool/bool_xor.rb +19 -0
- data/lib/instructions/bool/bool_yank.rb +6 -0
- data/lib/instructions/bool/bool_yankdup.rb +6 -0
- data/lib/instructions/code/code_atom_q.rb +16 -0
- data/lib/instructions/code/code_backbone_points.rb +24 -0
- data/lib/instructions/code/code_car.rb +20 -0
- data/lib/instructions/code/code_cdr.rb +20 -0
- data/lib/instructions/code/code_concatenate.rb +31 -0
- data/lib/instructions/code/code_cons.rb +25 -0
- data/lib/instructions/code/code_container.rb +28 -0
- data/lib/instructions/code/code_contains_q.rb +22 -0
- data/lib/instructions/code/code_define.rb +21 -0
- data/lib/instructions/code/code_depth.rb +6 -0
- data/lib/instructions/code/code_discrepancy.rb +29 -0
- data/lib/instructions/code/code_do_count.rb +27 -0
- data/lib/instructions/code/code_do_range.rb +42 -0
- data/lib/instructions/code/code_do_times.rb +38 -0
- data/lib/instructions/code/code_duplicate.rb +6 -0
- data/lib/instructions/code/code_equal_q.rb +17 -0
- data/lib/instructions/code/code_execute.rb +19 -0
- data/lib/instructions/code/code_execute_then_pop.rb +20 -0
- data/lib/instructions/code/code_flush.rb +6 -0
- data/lib/instructions/code/code_gsub.rb +35 -0
- data/lib/instructions/code/code_if.rb +22 -0
- data/lib/instructions/code/code_instructions.rb +15 -0
- data/lib/instructions/code/code_list.rb +19 -0
- data/lib/instructions/code/code_member_q.rb +26 -0
- data/lib/instructions/code/code_name_lookup.rb +19 -0
- data/lib/instructions/code/code_nth.rb +24 -0
- data/lib/instructions/code/code_nth_cdr.rb +30 -0
- data/lib/instructions/code/code_nth_point.rb +21 -0
- data/lib/instructions/code/code_null_q.rb +15 -0
- data/lib/instructions/code/code_parses_q.rb +15 -0
- data/lib/instructions/code/code_points.rb +19 -0
- data/lib/instructions/code/code_pop.rb +6 -0
- data/lib/instructions/code/code_position.rb +22 -0
- data/lib/instructions/code/code_quote.rb +14 -0
- data/lib/instructions/code/code_replace_nth_point.rb +30 -0
- data/lib/instructions/code/code_rotate.rb +6 -0
- data/lib/instructions/code/code_shove.rb +6 -0
- data/lib/instructions/code/code_swap.rb +6 -0
- data/lib/instructions/code/code_yank.rb +6 -0
- data/lib/instructions/code/code_yankdup.rb +6 -0
- data/lib/instructions/conversion/bool_from_float.rb +14 -0
- data/lib/instructions/conversion/bool_from_int.rb +14 -0
- data/lib/instructions/conversion/code_from_bool.rb +16 -0
- data/lib/instructions/conversion/code_from_float.rb +16 -0
- data/lib/instructions/conversion/code_from_int.rb +17 -0
- data/lib/instructions/conversion/code_from_name.rb +16 -0
- data/lib/instructions/conversion/float_from_bool.rb +14 -0
- data/lib/instructions/conversion/float_from_int.rb +14 -0
- data/lib/instructions/conversion/int_from_bool.rb +14 -0
- data/lib/instructions/conversion/int_from_float.rb +14 -0
- data/lib/instructions/exec/exec_define.rb +6 -0
- data/lib/instructions/exec/exec_depth.rb +6 -0
- data/lib/instructions/exec/exec_do_count.rb +23 -0
- data/lib/instructions/exec/exec_do_range.rb +36 -0
- data/lib/instructions/exec/exec_do_times.rb +34 -0
- data/lib/instructions/exec/exec_duplicate.rb +6 -0
- data/lib/instructions/exec/exec_equal_q.rb +17 -0
- data/lib/instructions/exec/exec_flush.rb +6 -0
- data/lib/instructions/exec/exec_if.rb +8 -0
- data/lib/instructions/exec/exec_k.rb +14 -0
- data/lib/instructions/exec/exec_pop.rb +6 -0
- data/lib/instructions/exec/exec_rotate.rb +6 -0
- data/lib/instructions/exec/exec_s.rb +18 -0
- data/lib/instructions/exec/exec_shove.rb +6 -0
- data/lib/instructions/exec/exec_swap.rb +6 -0
- data/lib/instructions/exec/exec_y.rb +15 -0
- data/lib/instructions/exec/exec_yank.rb +6 -0
- data/lib/instructions/exec/exec_yankdup.rb +6 -0
- data/lib/instructions/float/float_abs.rb +14 -0
- data/lib/instructions/float/float_add.rb +15 -0
- data/lib/instructions/float/float_cosine.rb +14 -0
- data/lib/instructions/float/float_define.rb +6 -0
- data/lib/instructions/float/float_depth.rb +6 -0
- data/lib/instructions/float/float_divide.rb +20 -0
- data/lib/instructions/float/float_duplicate.rb +6 -0
- data/lib/instructions/float/float_equal_q.rb +15 -0
- data/lib/instructions/float/float_flush.rb +6 -0
- data/lib/instructions/float/float_greater_than_q.rb +15 -0
- data/lib/instructions/float/float_if.rb +8 -0
- data/lib/instructions/float/float_less_than_q.rb +15 -0
- data/lib/instructions/float/float_max.rb +15 -0
- data/lib/instructions/float/float_min.rb +15 -0
- data/lib/instructions/float/float_modulo.rb +20 -0
- data/lib/instructions/float/float_multiply.rb +15 -0
- data/lib/instructions/float/float_negative.rb +14 -0
- data/lib/instructions/float/float_pop.rb +6 -0
- data/lib/instructions/float/float_power.rb +20 -0
- data/lib/instructions/float/float_random.rb +13 -0
- data/lib/instructions/float/float_rotate.rb +6 -0
- data/lib/instructions/float/float_shove.rb +6 -0
- data/lib/instructions/float/float_sine.rb +14 -0
- data/lib/instructions/float/float_sqrt.rb +18 -0
- data/lib/instructions/float/float_subtract.rb +15 -0
- data/lib/instructions/float/float_swap.rb +6 -0
- data/lib/instructions/float/float_tangent.rb +14 -0
- data/lib/instructions/float/float_yank.rb +6 -0
- data/lib/instructions/float/float_yankdup.rb +6 -0
- data/lib/instructions/infrastructure.rb +335 -17
- data/lib/instructions/int/int_abs.rb +14 -0
- data/lib/instructions/int/int_add.rb +15 -0
- data/lib/instructions/int/int_define.rb +6 -0
- data/lib/instructions/int/int_depth.rb +6 -0
- data/lib/instructions/int/int_divide.rb +20 -0
- data/lib/instructions/int/int_duplicate.rb +6 -0
- data/lib/instructions/int/int_equal_q.rb +15 -0
- data/lib/instructions/int/int_flush.rb +6 -0
- data/lib/instructions/int/int_greater_than_q.rb +15 -0
- data/lib/instructions/int/int_if.rb +8 -0
- data/lib/instructions/int/int_less_than_q.rb +15 -0
- data/lib/instructions/int/int_max.rb +16 -0
- data/lib/instructions/int/int_min.rb +16 -0
- data/lib/instructions/int/int_modulo.rb +20 -0
- data/lib/instructions/int/int_multiply.rb +15 -0
- data/lib/instructions/int/int_negative.rb +14 -0
- data/lib/instructions/int/int_pop.rb +6 -0
- data/lib/instructions/int/int_power.rb +16 -0
- data/lib/instructions/int/int_random.rb +13 -0
- data/lib/instructions/int/int_rotate.rb +6 -0
- data/lib/instructions/int/int_shove.rb +6 -0
- data/lib/instructions/int/int_subtract.rb +16 -0
- data/lib/instructions/int/int_swap.rb +6 -0
- data/lib/instructions/int/int_yank.rb +6 -0
- data/lib/instructions/int/int_yankdup.rb +6 -0
- data/lib/instructions/name/name_depth.rb +6 -0
- data/lib/instructions/name/name_disable_lookup.rb +12 -0
- data/lib/instructions/name/name_duplicate.rb +6 -0
- data/lib/instructions/name/name_equal_q.rb +15 -0
- data/lib/instructions/name/name_flush.rb +6 -0
- data/lib/instructions/name/name_next.rb +14 -0
- data/lib/instructions/name/name_pop.rb +6 -0
- data/lib/instructions/name/name_random_bound.rb +14 -0
- data/lib/instructions/name/name_rotate.rb +6 -0
- data/lib/instructions/name/name_shove.rb +6 -0
- data/lib/instructions/name/name_swap.rb +6 -0
- data/lib/instructions/name/name_unbind.rb +17 -0
- data/lib/instructions/name/name_yank.rb +6 -0
- data/lib/instructions/name/name_yankdup.rb +6 -0
- data/lib/interpreter/grammars/nudge_codeblock.treetop +17 -0
- data/lib/interpreter/grammars/nudge_codeblock_helpers.rb +19 -0
- data/lib/interpreter/grammars/nudge_common.treetop +15 -0
- data/lib/interpreter/grammars/nudge_instruction.treetop +14 -0
- data/lib/interpreter/grammars/nudge_instruction_helpers.rb +14 -0
- data/lib/interpreter/grammars/nudge_reference.treetop +9 -0
- data/lib/interpreter/grammars/nudge_reference_helpers.rb +14 -0
- data/lib/interpreter/grammars/nudge_value.treetop +14 -0
- data/lib/interpreter/grammars/nudge_value_helpers.rb +19 -0
- data/lib/interpreter/interpreter.rb +74 -23
- data/lib/interpreter/nudge_program.rb +253 -0
- data/lib/interpreter/parse.tab.rb +264 -0
- data/lib/interpreter/programPoints.rb +119 -98
- data/lib/interpreter/types/codeType.rb +114 -89
- data/lib/interpreter/types/pushTypes.rb +33 -20
- data/lib/nudge.rb +25 -26
- data/readme.md +13 -10
- data/spec/fixtures/long_arithmetic.example +7 -4
- data/spec/instructions/bool/bool_and_spec.rb +61 -0
- data/spec/instructions/bool/bool_define_spec.rb +69 -0
- data/spec/instructions/bool/bool_depth_spec.rb +39 -0
- data/spec/instructions/bool/bool_equal_q_spec.rb +61 -0
- data/spec/instructions/bool/bool_flush_spec.rb +37 -0
- data/spec/instructions/bool/bool_not_spec.rb +61 -0
- data/spec/instructions/bool/bool_or_spec.rb +61 -0
- data/spec/instructions/bool/bool_random_spec.rb +39 -0
- data/spec/instructions/bool/bool_shove_spec.rb +69 -0
- data/spec/instructions/bool/bool_xor_spec.rb +61 -0
- data/spec/instructions/bool/bool_yank_spec.rb +71 -0
- data/spec/instructions/bool/bool_yankdup_spec.rb +70 -0
- data/spec/instructions/code/code_atom_q_spec.rb +44 -0
- data/spec/instructions/code/code_backbone_points_spec.rb +57 -0
- data/spec/instructions/code/code_car_spec.rb +50 -0
- data/spec/instructions/code/code_cdr_spec.rb +51 -0
- data/spec/instructions/code/code_concatenate_spec.rb +81 -0
- data/spec/instructions/code/code_cons_spec.rb +63 -0
- data/spec/instructions/code/code_container_spec.rb +77 -0
- data/spec/instructions/code/code_contains_q_spec.rb +82 -0
- data/spec/instructions/code/code_define_spec.rb +76 -0
- data/spec/instructions/code/code_discrepancy_spec.rb +81 -0
- data/spec/instructions/code/code_do_count_spec.rb +83 -0
- data/spec/instructions/code/code_do_range_spec.rb +113 -0
- data/spec/instructions/code/code_do_times_spec.rb +116 -0
- data/spec/instructions/code/code_equal_q_spec.rb +49 -0
- data/spec/instructions/code/code_execute_spec.rb +52 -0
- data/spec/instructions/code/code_execute_then_pop_spec.rb +61 -0
- data/spec/instructions/code/code_fromname_spec.rb +37 -0
- data/spec/instructions/code/code_gsub_spec.rb +112 -0
- data/spec/instructions/code/code_if_spec.rb +53 -0
- data/spec/instructions/code/code_instructions_spec.rb +42 -0
- data/spec/instructions/code/code_list_spec.rb +49 -0
- data/spec/instructions/code/code_member_q_spec.rb +77 -0
- data/spec/instructions/code/code_name_lookup_spec.rb +65 -0
- data/spec/instructions/code/code_noop_spec.rb +38 -0
- data/spec/instructions/code/code_nth_cdr_spec.rb +77 -0
- data/spec/instructions/code/code_nth_point_spec.rb +67 -0
- data/spec/instructions/code/code_nth_spec.rb +62 -0
- data/spec/instructions/code/code_null_q_spec.rb +44 -0
- data/spec/instructions/code/code_parses_q_spec.rb +73 -0
- data/spec/instructions/code/code_points_spec.rb +49 -0
- data/spec/instructions/code/code_position_spec.rb +74 -0
- data/spec/instructions/code/code_quote_spec.rb +53 -0
- data/spec/instructions/code/code_replace_nth_point_spec.rb +115 -0
- data/spec/instructions/code/code_stack_spec.rb +386 -0
- data/spec/instructions/exec/exec_define_spec.rb +70 -0
- data/spec/instructions/exec/exec_depth_spec.rb +39 -0
- data/spec/instructions/exec/exec_do_count_spec.rb +79 -0
- data/spec/instructions/exec/exec_do_range_spec.rb +98 -0
- data/spec/instructions/exec/exec_do_times_spec.rb +105 -0
- data/spec/instructions/exec/exec_duplicate_spec.rb +44 -0
- data/spec/instructions/exec/exec_equal_q_spec.rb +50 -0
- data/spec/instructions/exec/exec_flush_spec.rb +37 -0
- data/spec/instructions/exec/exec_if_spec.rb +51 -0
- data/spec/instructions/exec/exec_k_spec.rb +39 -0
- data/spec/instructions/exec/exec_pop_spec.rb +38 -0
- data/spec/instructions/exec/exec_rotate_spec.rb +40 -0
- data/spec/instructions/exec/exec_s_spec.rb +41 -0
- data/spec/instructions/exec/exec_shove_spec.rb +68 -0
- data/spec/instructions/exec/exec_swap_spec.rb +41 -0
- data/spec/instructions/exec/exec_y_spec.rb +41 -0
- data/spec/instructions/exec/exec_yank_spec.rb +66 -0
- data/spec/instructions/exec/exec_yankdup_spec.rb +69 -0
- data/spec/instructions/float/float_abs_spec.rb +50 -0
- data/spec/instructions/float/float_add_spec.rb +50 -0
- data/spec/instructions/float/float_cosine_spec.rb +61 -0
- data/spec/instructions/float/float_define_spec.rb +69 -0
- data/spec/instructions/float/float_depth_spec.rb +39 -0
- data/spec/instructions/float/float_divide_spec.rb +59 -0
- data/spec/instructions/float/float_equal_q_spec.rb +53 -0
- data/spec/instructions/float/float_flush_spec.rb +37 -0
- data/spec/instructions/float/float_greater_than_q_spec.rb +59 -0
- data/spec/instructions/float/float_if_spec.rb +49 -0
- data/spec/instructions/float/float_less_than_q_spec.rb +59 -0
- data/spec/instructions/float/float_max_spec.rb +51 -0
- data/spec/instructions/float/float_min_spec.rb +51 -0
- data/spec/instructions/float/float_modulo_spec.rb +59 -0
- data/spec/instructions/float/float_multiply_spec.rb +51 -0
- data/spec/instructions/float/float_negative_spec.rb +51 -0
- data/spec/instructions/float/float_power_spec.rb +59 -0
- data/spec/instructions/float/float_random_spec.rb +36 -0
- data/spec/instructions/float/float_shove_spec.rb +67 -0
- data/spec/instructions/float/float_sine_spec.rb +61 -0
- data/spec/instructions/float/float_sqrt_spec.rb +60 -0
- data/spec/instructions/float/float_subtract_spec.rb +51 -0
- data/spec/instructions/float/float_tangent_spec.rb +62 -0
- data/spec/instructions/float/float_yank_spec.rb +65 -0
- data/spec/instructions/float/float_yankdup_spec.rb +70 -0
- data/spec/instructions/instruction_class_spec.rb +31 -0
- data/spec/instructions/int/int_abs_spec.rb +61 -0
- data/spec/instructions/int/int_add_spec.rb +60 -0
- data/spec/instructions/int/int_define_spec.rb +73 -0
- data/spec/instructions/int/int_depth_spec.rb +37 -0
- data/spec/instructions/int/int_divide_spec.rb +69 -0
- data/spec/instructions/int/int_equal_q_spec.rb +52 -0
- data/spec/instructions/int/int_flush_spec.rb +37 -0
- data/spec/instructions/int/int_greater_than_q_spec.rb +59 -0
- data/spec/instructions/int/int_if_spec.rb +48 -0
- data/spec/instructions/int/int_less_than_q_spec.rb +59 -0
- data/spec/instructions/int/int_max_spec.rb +61 -0
- data/spec/instructions/int/int_min_spec.rb +61 -0
- data/spec/instructions/int/int_modulo_spec.rb +69 -0
- data/spec/instructions/int/int_multiply_spec.rb +61 -0
- data/spec/instructions/int/int_negative_spec.rb +61 -0
- data/spec/instructions/int/int_power_spec.rb +73 -0
- data/spec/instructions/int/int_random_spec.rb +36 -0
- data/spec/instructions/int/int_shove_spec.rb +67 -0
- data/spec/instructions/int/int_subtract_spec.rb +61 -0
- data/spec/instructions/int/int_yank_spec.rb +85 -0
- data/spec/instructions/int/int_yankdup_spec.rb +70 -0
- data/spec/instructions/name/name_depth_spec.rb +39 -0
- data/spec/instructions/name/name_disable_lookup_spec.rb +47 -0
- data/spec/instructions/name/name_equal_q_spec.rb +38 -0
- data/spec/instructions/name/name_flush_spec.rb +37 -0
- data/spec/instructions/name/name_next_spec.rb +39 -0
- data/spec/instructions/name/name_random_bound_spec.rb +57 -0
- data/spec/instructions/name/name_shove_spec.rb +67 -0
- data/spec/instructions/name/name_unbind_spec.rb +62 -0
- data/spec/instructions/name/name_yank_spec.rb +65 -0
- data/spec/instructions/name/name_yankdup_spec.rb +69 -0
- data/spec/instructions/split_these/bool_stack_spec.rb +95 -0
- data/spec/instructions/split_these/conversions_spec.rb +103 -0
- data/spec/instructions/split_these/float_stack_spec.rb +92 -0
- data/spec/instructions/split_these/int_stack_spec.rb +81 -0
- data/spec/instructions/split_these/name_stack_spec.rb +84 -0
- data/spec/interpreter/codeblock_point_spec.rb +164 -0
- data/spec/interpreter/codetype_spec.rb +219 -185
- data/spec/interpreter/instruction_spec.rb +87 -25
- data/spec/interpreter/interpreter_spec.rb +230 -36
- data/spec/interpreter/nil_point_spec.rb +32 -0
- data/spec/interpreter/nudge_program_spec.rb +774 -0
- data/spec/interpreter/reference_point_spec.rb +73 -0
- data/spec/interpreter/stack_spec.rb +1 -1
- data/spec/interpreter/treetophelpers.rb +94 -1
- data/spec/interpreter/types_spec.rb +125 -77
- data/spec/interpreter/value_point_spec.rb +173 -0
- data/spec/parsers/nudge_program_parser_spec.rb +86 -0
- data/spec/spec_helper.rb +26 -2
- metadata +464 -664
- data/_spikes/couch_document_spike.rb +0 -24
- data/_spikes/nested_parsing/nested.treetop +0 -6
- data/_spikes/nudge3_syntax_spike.txt +0 -23
- data/_spikes/nudgeview/init.rb +0 -19
- data/_spikes/nudgeview/public/javascripts/app.js +0 -12
- data/_spikes/nudgeview/public/javascripts/jquery.js +0 -4376
- data/_spikes/nudgeview/public/javascripts/jquery.svg.js +0 -1325
- data/_spikes/nudgeview/views/index.erb +0 -18
- data/_spikes/nudgeview/views/index.haml +0 -8
- data/_spikes/simplestWeb/simplest.rb +0 -44
- data/_spikes/simplestWeb/views/main.erb +0 -19
- data/_spikes/sketches/nudgecode_spike.rb +0 -146
- data/_spikes/sketches/searchDSL_spike.rb +0 -25
- data/_spikes/sketches/search_operator_sketch_spike.txt +0 -287
- data/_spikes/sketches/searchspace_spike.rb +0 -96
- data/_spikes/symbolic_regression/activate.rb +0 -35
- data/_spikes/symbolic_regression/config/environment.rb +0 -340
- data/_spikes/symbolic_regression/config/environments/deployment.rb +0 -0
- data/_spikes/symbolic_regression/config/environments/development.rb +0 -0
- data/_spikes/symbolic_regression/experiment/objectives/programLength.rb +0 -2
- data/_spikes/symbolic_regression/experiment/objectives/summedSquaredError.rb +0 -2
- data/_spikes/symbolic_regression/lib/tasks/run.rake +0 -0
- data/app_generators/nudge/USAGE +0 -5
- data/app_generators/nudge/nudge_generator.rb +0 -73
- data/app_generators/nudge/templates/activate.rb +0 -0
- data/bin/nudge +0 -17
- data/doc/classes/BlockNode.html +0 -146
- data/doc/classes/BlockNode.src/M000246.html +0 -18
- data/doc/classes/BoolAndInstruction.html +0 -218
- data/doc/classes/BoolAndInstruction.src/M000003.html +0 -15
- data/doc/classes/BoolAndInstruction.src/M000004.html +0 -16
- data/doc/classes/BoolAndInstruction.src/M000005.html +0 -15
- data/doc/classes/BoolAndInstruction.src/M000006.html +0 -15
- data/doc/classes/BoolEqualQInstruction.html +0 -218
- data/doc/classes/BoolEqualQInstruction.src/M000015.html +0 -15
- data/doc/classes/BoolEqualQInstruction.src/M000016.html +0 -16
- data/doc/classes/BoolEqualQInstruction.src/M000017.html +0 -15
- data/doc/classes/BoolEqualQInstruction.src/M000018.html +0 -15
- data/doc/classes/BoolFromFloatInstruction.html +0 -218
- data/doc/classes/BoolFromFloatInstruction.src/M000071.html +0 -15
- data/doc/classes/BoolFromFloatInstruction.src/M000072.html +0 -15
- data/doc/classes/BoolFromFloatInstruction.src/M000073.html +0 -15
- data/doc/classes/BoolFromFloatInstruction.src/M000074.html +0 -15
- data/doc/classes/BoolFromIntInstruction.html +0 -218
- data/doc/classes/BoolFromIntInstruction.src/M000067.html +0 -15
- data/doc/classes/BoolFromIntInstruction.src/M000068.html +0 -15
- data/doc/classes/BoolFromIntInstruction.src/M000069.html +0 -15
- data/doc/classes/BoolFromIntInstruction.src/M000070.html +0 -15
- data/doc/classes/BoolNotInstruction.html +0 -218
- data/doc/classes/BoolNotInstruction.src/M000019.html +0 -15
- data/doc/classes/BoolNotInstruction.src/M000020.html +0 -15
- data/doc/classes/BoolNotInstruction.src/M000021.html +0 -15
- data/doc/classes/BoolNotInstruction.src/M000022.html +0 -15
- data/doc/classes/BoolOrInstruction.html +0 -218
- data/doc/classes/BoolOrInstruction.src/M000007.html +0 -15
- data/doc/classes/BoolOrInstruction.src/M000008.html +0 -16
- data/doc/classes/BoolOrInstruction.src/M000009.html +0 -15
- data/doc/classes/BoolOrInstruction.src/M000010.html +0 -15
- data/doc/classes/BoolRandomInstruction.html +0 -218
- data/doc/classes/BoolRandomInstruction.src/M000187.html +0 -15
- data/doc/classes/BoolRandomInstruction.src/M000188.html +0 -14
- data/doc/classes/BoolRandomInstruction.src/M000189.html +0 -15
- data/doc/classes/BoolRandomInstruction.src/M000190.html +0 -15
- data/doc/classes/BoolType.html +0 -196
- data/doc/classes/BoolType.src/M000240.html +0 -16
- data/doc/classes/BoolType.src/M000241.html +0 -15
- data/doc/classes/BoolType.src/M000242.html +0 -15
- data/doc/classes/BoolXorInstruction.html +0 -218
- data/doc/classes/BoolXorInstruction.src/M000011.html +0 -15
- data/doc/classes/BoolXorInstruction.src/M000012.html +0 -16
- data/doc/classes/BoolXorInstruction.src/M000013.html +0 -15
- data/doc/classes/BoolXorInstruction.src/M000014.html +0 -15
- data/doc/classes/ChannelNode.html +0 -161
- data/doc/classes/ChannelNode.src/M000249.html +0 -15
- data/doc/classes/ChannelNode.src/M000250.html +0 -16
- data/doc/classes/CodeType.html +0 -269
- data/doc/classes/CodeType.src/M000219.html +0 -38
- data/doc/classes/CodeType.src/M000220.html +0 -16
- data/doc/classes/CodeType.src/M000221.html +0 -16
- data/doc/classes/CodeType.src/M000222.html +0 -16
- data/doc/classes/CodeType.src/M000223.html +0 -24
- data/doc/classes/CodeType.src/M000224.html +0 -42
- data/doc/classes/ERCNode.html +0 -183
- data/doc/classes/ERCNode.src/M000254.html +0 -15
- data/doc/classes/ERCNode.src/M000255.html +0 -16
- data/doc/classes/ERCNode.src/M000256.html +0 -16
- data/doc/classes/ExecPopInstruction.html +0 -218
- data/doc/classes/ExecPopInstruction.src/M000075.html +0 -15
- data/doc/classes/ExecPopInstruction.src/M000076.html +0 -14
- data/doc/classes/ExecPopInstruction.src/M000077.html +0 -15
- data/doc/classes/ExecPopInstruction.src/M000078.html +0 -14
- data/doc/classes/FloatAbsInstruction.html +0 -218
- data/doc/classes/FloatAbsInstruction.src/M000107.html +0 -15
- data/doc/classes/FloatAbsInstruction.src/M000108.html +0 -15
- data/doc/classes/FloatAbsInstruction.src/M000109.html +0 -15
- data/doc/classes/FloatAbsInstruction.src/M000110.html +0 -15
- data/doc/classes/FloatAddInstruction.html +0 -218
- data/doc/classes/FloatAddInstruction.src/M000079.html +0 -15
- data/doc/classes/FloatAddInstruction.src/M000080.html +0 -16
- data/doc/classes/FloatAddInstruction.src/M000081.html +0 -15
- data/doc/classes/FloatAddInstruction.src/M000082.html +0 -15
- data/doc/classes/FloatCosineInstruction.html +0 -218
- data/doc/classes/FloatCosineInstruction.src/M000123.html +0 -15
- data/doc/classes/FloatCosineInstruction.src/M000124.html +0 -15
- data/doc/classes/FloatCosineInstruction.src/M000125.html +0 -15
- data/doc/classes/FloatCosineInstruction.src/M000126.html +0 -15
- data/doc/classes/FloatDivideInstruction.html +0 -218
- data/doc/classes/FloatDivideInstruction.src/M000091.html +0 -15
- data/doc/classes/FloatDivideInstruction.src/M000092.html +0 -16
- data/doc/classes/FloatDivideInstruction.src/M000093.html +0 -20
- data/doc/classes/FloatDivideInstruction.src/M000094.html +0 -15
- data/doc/classes/FloatFromBoolInstruction.html +0 -218
- data/doc/classes/FloatFromBoolInstruction.src/M000055.html +0 -15
- data/doc/classes/FloatFromBoolInstruction.src/M000056.html +0 -15
- data/doc/classes/FloatFromBoolInstruction.src/M000057.html +0 -15
- data/doc/classes/FloatFromBoolInstruction.src/M000058.html +0 -15
- data/doc/classes/FloatFromIntInstruction.html +0 -218
- data/doc/classes/FloatFromIntInstruction.src/M000063.html +0 -15
- data/doc/classes/FloatFromIntInstruction.src/M000064.html +0 -15
- data/doc/classes/FloatFromIntInstruction.src/M000065.html +0 -15
- data/doc/classes/FloatFromIntInstruction.src/M000066.html +0 -15
- data/doc/classes/FloatGreaterThanQInstruction.html +0 -218
- data/doc/classes/FloatGreaterThanQInstruction.src/M000035.html +0 -15
- data/doc/classes/FloatGreaterThanQInstruction.src/M000036.html +0 -16
- data/doc/classes/FloatGreaterThanQInstruction.src/M000037.html +0 -15
- data/doc/classes/FloatGreaterThanQInstruction.src/M000038.html +0 -15
- data/doc/classes/FloatIfInstruction.html +0 -218
- data/doc/classes/FloatIfInstruction.src/M000047.html +0 -16
- data/doc/classes/FloatIfInstruction.src/M000048.html +0 -15
- data/doc/classes/FloatIfInstruction.src/M000049.html +0 -14
- data/doc/classes/FloatIfInstruction.src/M000050.html +0 -17
- data/doc/classes/FloatLessThanQInstruction.html +0 -218
- data/doc/classes/FloatLessThanQInstruction.src/M000039.html +0 -15
- data/doc/classes/FloatLessThanQInstruction.src/M000040.html +0 -16
- data/doc/classes/FloatLessThanQInstruction.src/M000041.html +0 -15
- data/doc/classes/FloatLessThanQInstruction.src/M000042.html +0 -15
- data/doc/classes/FloatMaxInstruction.html +0 -218
- data/doc/classes/FloatMaxInstruction.src/M000095.html +0 -15
- data/doc/classes/FloatMaxInstruction.src/M000096.html +0 -16
- data/doc/classes/FloatMaxInstruction.src/M000097.html +0 -15
- data/doc/classes/FloatMaxInstruction.src/M000098.html +0 -15
- data/doc/classes/FloatMinInstruction.html +0 -218
- data/doc/classes/FloatMinInstruction.src/M000099.html +0 -15
- data/doc/classes/FloatMinInstruction.src/M000100.html +0 -16
- data/doc/classes/FloatMinInstruction.src/M000101.html +0 -15
- data/doc/classes/FloatMinInstruction.src/M000102.html +0 -15
- data/doc/classes/FloatMultiplyInstruction.html +0 -218
- data/doc/classes/FloatMultiplyInstruction.src/M000083.html +0 -15
- data/doc/classes/FloatMultiplyInstruction.src/M000084.html +0 -16
- data/doc/classes/FloatMultiplyInstruction.src/M000085.html +0 -15
- data/doc/classes/FloatMultiplyInstruction.src/M000086.html +0 -15
- data/doc/classes/FloatNegativeInstruction.html +0 -218
- data/doc/classes/FloatNegativeInstruction.src/M000103.html +0 -15
- data/doc/classes/FloatNegativeInstruction.src/M000104.html +0 -15
- data/doc/classes/FloatNegativeInstruction.src/M000105.html +0 -15
- data/doc/classes/FloatNegativeInstruction.src/M000106.html +0 -15
- data/doc/classes/FloatPowerInstruction.html +0 -218
- data/doc/classes/FloatPowerInstruction.src/M000111.html +0 -15
- data/doc/classes/FloatPowerInstruction.src/M000112.html +0 -16
- data/doc/classes/FloatPowerInstruction.src/M000113.html +0 -20
- data/doc/classes/FloatPowerInstruction.src/M000114.html +0 -15
- data/doc/classes/FloatRandomInstruction.html +0 -218
- data/doc/classes/FloatRandomInstruction.src/M000191.html +0 -15
- data/doc/classes/FloatRandomInstruction.src/M000192.html +0 -14
- data/doc/classes/FloatRandomInstruction.src/M000193.html +0 -15
- data/doc/classes/FloatRandomInstruction.src/M000194.html +0 -15
- data/doc/classes/FloatSineInstruction.html +0 -218
- data/doc/classes/FloatSineInstruction.src/M000119.html +0 -15
- data/doc/classes/FloatSineInstruction.src/M000120.html +0 -15
- data/doc/classes/FloatSineInstruction.src/M000121.html +0 -15
- data/doc/classes/FloatSineInstruction.src/M000122.html +0 -15
- data/doc/classes/FloatSqrtInstruction.html +0 -218
- data/doc/classes/FloatSqrtInstruction.src/M000115.html +0 -15
- data/doc/classes/FloatSqrtInstruction.src/M000116.html +0 -15
- data/doc/classes/FloatSqrtInstruction.src/M000117.html +0 -19
- data/doc/classes/FloatSqrtInstruction.src/M000118.html +0 -15
- data/doc/classes/FloatSubtractInstruction.html +0 -218
- data/doc/classes/FloatSubtractInstruction.src/M000087.html +0 -15
- data/doc/classes/FloatSubtractInstruction.src/M000088.html +0 -16
- data/doc/classes/FloatSubtractInstruction.src/M000089.html +0 -15
- data/doc/classes/FloatSubtractInstruction.src/M000090.html +0 -15
- data/doc/classes/FloatTangentInstruction.html +0 -218
- data/doc/classes/FloatTangentInstruction.src/M000127.html +0 -15
- data/doc/classes/FloatTangentInstruction.src/M000128.html +0 -15
- data/doc/classes/FloatTangentInstruction.src/M000129.html +0 -15
- data/doc/classes/FloatTangentInstruction.src/M000130.html +0 -15
- data/doc/classes/FloatType.html +0 -196
- data/doc/classes/FloatType.src/M000243.html +0 -19
- data/doc/classes/FloatType.src/M000244.html +0 -15
- data/doc/classes/FloatType.src/M000245.html +0 -15
- data/doc/classes/Helpers.html +0 -161
- data/doc/classes/Helpers.src/M000343.html +0 -21
- data/doc/classes/Helpers.src/M000344.html +0 -24
- data/doc/classes/Instruction/InstructionMethodError.html +0 -110
- data/doc/classes/Instruction/NaNResultError.html +0 -110
- data/doc/classes/Instruction/NotEnoughStackItems.html +0 -110
- data/doc/classes/Instruction.html +0 -500
- data/doc/classes/Instruction.src/M000131.html +0 -17
- data/doc/classes/Instruction.src/M000132.html +0 -15
- data/doc/classes/Instruction.src/M000133.html +0 -15
- data/doc/classes/Instruction.src/M000134.html +0 -15
- data/doc/classes/Instruction.src/M000135.html +0 -15
- data/doc/classes/Instruction.src/M000136.html +0 -15
- data/doc/classes/Instruction.src/M000137.html +0 -15
- data/doc/classes/Instruction.src/M000138.html +0 -15
- data/doc/classes/Instruction.src/M000139.html +0 -22
- data/doc/classes/Instruction.src/M000140.html +0 -15
- data/doc/classes/Instruction.src/M000141.html +0 -25
- data/doc/classes/Instruction.src/M000142.html +0 -15
- data/doc/classes/Instruction.src/M000143.html +0 -15
- data/doc/classes/Instruction.src/M000144.html +0 -15
- data/doc/classes/Instruction.src/M000145.html +0 -15
- data/doc/classes/Instruction.src/M000146.html +0 -15
- data/doc/classes/InstructionNode.html +0 -161
- data/doc/classes/InstructionNode.src/M000247.html +0 -15
- data/doc/classes/InstructionNode.src/M000248.html +0 -16
- data/doc/classes/IntAbsInstruction.html +0 -218
- data/doc/classes/IntAbsInstruction.src/M000175.html +0 -15
- data/doc/classes/IntAbsInstruction.src/M000176.html +0 -15
- data/doc/classes/IntAbsInstruction.src/M000177.html +0 -15
- data/doc/classes/IntAbsInstruction.src/M000178.html +0 -15
- data/doc/classes/IntAddInstruction.html +0 -218
- data/doc/classes/IntAddInstruction.src/M000147.html +0 -15
- data/doc/classes/IntAddInstruction.src/M000148.html +0 -16
- data/doc/classes/IntAddInstruction.src/M000149.html +0 -15
- data/doc/classes/IntAddInstruction.src/M000150.html +0 -15
- data/doc/classes/IntDepthInstruction.html +0 -218
- data/doc/classes/IntDepthInstruction.src/M000211.html +0 -15
- data/doc/classes/IntDepthInstruction.src/M000212.html +0 -14
- data/doc/classes/IntDepthInstruction.src/M000213.html +0 -15
- data/doc/classes/IntDepthInstruction.src/M000214.html +0 -15
- data/doc/classes/IntDivideInstruction.html +0 -218
- data/doc/classes/IntDivideInstruction.src/M000155.html +0 -15
- data/doc/classes/IntDivideInstruction.src/M000156.html +0 -16
- data/doc/classes/IntDivideInstruction.src/M000157.html +0 -20
- data/doc/classes/IntDivideInstruction.src/M000158.html +0 -15
- data/doc/classes/IntDuplicateInstruction.html +0 -218
- data/doc/classes/IntDuplicateInstruction.src/M000203.html +0 -15
- data/doc/classes/IntDuplicateInstruction.src/M000204.html +0 -15
- data/doc/classes/IntDuplicateInstruction.src/M000205.html +0 -15
- data/doc/classes/IntDuplicateInstruction.src/M000206.html +0 -15
- data/doc/classes/IntEqualQInstruction.html +0 -218
- data/doc/classes/IntEqualQInstruction.src/M000023.html +0 -15
- data/doc/classes/IntEqualQInstruction.src/M000024.html +0 -16
- data/doc/classes/IntEqualQInstruction.src/M000025.html +0 -15
- data/doc/classes/IntEqualQInstruction.src/M000026.html +0 -15
- data/doc/classes/IntFlushInstruction.html +0 -218
- data/doc/classes/IntFlushInstruction.src/M000215.html +0 -15
- data/doc/classes/IntFlushInstruction.src/M000216.html +0 -14
- data/doc/classes/IntFlushInstruction.src/M000217.html +0 -14
- data/doc/classes/IntFlushInstruction.src/M000218.html +0 -15
- data/doc/classes/IntFromBoolInstruction.html +0 -218
- data/doc/classes/IntFromBoolInstruction.src/M000051.html +0 -15
- data/doc/classes/IntFromBoolInstruction.src/M000052.html +0 -15
- data/doc/classes/IntFromBoolInstruction.src/M000053.html +0 -15
- data/doc/classes/IntFromBoolInstruction.src/M000054.html +0 -15
- data/doc/classes/IntFromFloatInstruction.html +0 -218
- data/doc/classes/IntFromFloatInstruction.src/M000059.html +0 -15
- data/doc/classes/IntFromFloatInstruction.src/M000060.html +0 -15
- data/doc/classes/IntFromFloatInstruction.src/M000061.html +0 -15
- data/doc/classes/IntFromFloatInstruction.src/M000062.html +0 -15
- data/doc/classes/IntGreaterThanQInstruction.html +0 -218
- data/doc/classes/IntGreaterThanQInstruction.src/M000031.html +0 -15
- data/doc/classes/IntGreaterThanQInstruction.src/M000032.html +0 -16
- data/doc/classes/IntGreaterThanQInstruction.src/M000033.html +0 -15
- data/doc/classes/IntGreaterThanQInstruction.src/M000034.html +0 -15
- data/doc/classes/IntIfInstruction.html +0 -218
- data/doc/classes/IntIfInstruction.src/M000043.html +0 -16
- data/doc/classes/IntIfInstruction.src/M000044.html +0 -15
- data/doc/classes/IntIfInstruction.src/M000045.html +0 -14
- data/doc/classes/IntIfInstruction.src/M000046.html +0 -17
- data/doc/classes/IntLessThanQInstruction.html +0 -218
- data/doc/classes/IntLessThanQInstruction.src/M000027.html +0 -15
- data/doc/classes/IntLessThanQInstruction.src/M000028.html +0 -16
- data/doc/classes/IntLessThanQInstruction.src/M000029.html +0 -15
- data/doc/classes/IntLessThanQInstruction.src/M000030.html +0 -15
- data/doc/classes/IntMaxInstruction.html +0 -218
- data/doc/classes/IntMaxInstruction.src/M000167.html +0 -15
- data/doc/classes/IntMaxInstruction.src/M000168.html +0 -16
- data/doc/classes/IntMaxInstruction.src/M000169.html +0 -16
- data/doc/classes/IntMaxInstruction.src/M000170.html +0 -15
- data/doc/classes/IntMinInstruction.html +0 -218
- data/doc/classes/IntMinInstruction.src/M000171.html +0 -15
- data/doc/classes/IntMinInstruction.src/M000172.html +0 -16
- data/doc/classes/IntMinInstruction.src/M000173.html +0 -16
- data/doc/classes/IntMinInstruction.src/M000174.html +0 -15
- data/doc/classes/IntModuloInstruction.html +0 -218
- data/doc/classes/IntModuloInstruction.src/M000163.html +0 -15
- data/doc/classes/IntModuloInstruction.src/M000164.html +0 -16
- data/doc/classes/IntModuloInstruction.src/M000165.html +0 -20
- data/doc/classes/IntModuloInstruction.src/M000166.html +0 -15
- data/doc/classes/IntMultiplyInstruction.html +0 -218
- data/doc/classes/IntMultiplyInstruction.src/M000151.html +0 -15
- data/doc/classes/IntMultiplyInstruction.src/M000152.html +0 -16
- data/doc/classes/IntMultiplyInstruction.src/M000153.html +0 -15
- data/doc/classes/IntMultiplyInstruction.src/M000154.html +0 -15
- data/doc/classes/IntNegativeInstruction.html +0 -218
- data/doc/classes/IntNegativeInstruction.src/M000179.html +0 -15
- data/doc/classes/IntNegativeInstruction.src/M000180.html +0 -15
- data/doc/classes/IntNegativeInstruction.src/M000181.html +0 -15
- data/doc/classes/IntNegativeInstruction.src/M000182.html +0 -15
- data/doc/classes/IntPopInstruction.html +0 -218
- data/doc/classes/IntPopInstruction.src/M000195.html +0 -15
- data/doc/classes/IntPopInstruction.src/M000196.html +0 -15
- data/doc/classes/IntPopInstruction.src/M000197.html +0 -14
- data/doc/classes/IntPopInstruction.src/M000198.html +0 -14
- data/doc/classes/IntRandomInstruction.html +0 -218
- data/doc/classes/IntRandomInstruction.src/M000183.html +0 -15
- data/doc/classes/IntRandomInstruction.src/M000184.html +0 -14
- data/doc/classes/IntRandomInstruction.src/M000185.html +0 -15
- data/doc/classes/IntRandomInstruction.src/M000186.html +0 -15
- data/doc/classes/IntRotateInstruction.html +0 -218
- data/doc/classes/IntRotateInstruction.src/M000207.html +0 -15
- data/doc/classes/IntRotateInstruction.src/M000208.html +0 -17
- data/doc/classes/IntRotateInstruction.src/M000209.html +0 -14
- data/doc/classes/IntRotateInstruction.src/M000210.html +0 -17
- data/doc/classes/IntSubtractInstruction.html +0 -218
- data/doc/classes/IntSubtractInstruction.src/M000159.html +0 -15
- data/doc/classes/IntSubtractInstruction.src/M000160.html +0 -16
- data/doc/classes/IntSubtractInstruction.src/M000161.html +0 -16
- data/doc/classes/IntSubtractInstruction.src/M000162.html +0 -15
- data/doc/classes/IntSwapInstruction.html +0 -218
- data/doc/classes/IntSwapInstruction.src/M000199.html +0 -15
- data/doc/classes/IntSwapInstruction.src/M000200.html +0 -16
- data/doc/classes/IntSwapInstruction.src/M000201.html +0 -14
- data/doc/classes/IntSwapInstruction.src/M000202.html +0 -16
- data/doc/classes/IntType.html +0 -240
- data/doc/classes/IntType.src/M000235.html +0 -15
- data/doc/classes/IntType.src/M000236.html +0 -15
- data/doc/classes/IntType.src/M000237.html +0 -18
- data/doc/classes/IntType.src/M000238.html +0 -15
- data/doc/classes/IntType.src/M000239.html +0 -15
- data/doc/classes/LiteralNode.html +0 -183
- data/doc/classes/LiteralNode.src/M000251.html +0 -15
- data/doc/classes/LiteralNode.src/M000252.html +0 -16
- data/doc/classes/LiteralNode.src/M000253.html +0 -16
- data/doc/classes/Nudge/Channel.html +0 -437
- data/doc/classes/Nudge/Channel.src/M000286.html +0 -15
- data/doc/classes/Nudge/Channel.src/M000287.html +0 -19
- data/doc/classes/Nudge/Channel.src/M000288.html +0 -15
- data/doc/classes/Nudge/Channel.src/M000289.html +0 -15
- data/doc/classes/Nudge/Channel.src/M000290.html +0 -15
- data/doc/classes/Nudge/Channel.src/M000291.html +0 -19
- data/doc/classes/Nudge/Channel.src/M000292.html +0 -19
- data/doc/classes/Nudge/Channel.src/M000293.html +0 -17
- data/doc/classes/Nudge/Channel.src/M000294.html +0 -15
- data/doc/classes/Nudge/Channel.src/M000295.html +0 -20
- data/doc/classes/Nudge/Channel.src/M000296.html +0 -15
- data/doc/classes/Nudge/Channel.src/M000297.html +0 -17
- data/doc/classes/Nudge/Channel.src/M000298.html +0 -15
- data/doc/classes/Nudge/CodeBlock.html +0 -331
- data/doc/classes/Nudge/CodeBlock.src/M000263.html +0 -15
- data/doc/classes/Nudge/CodeBlock.src/M000264.html +0 -15
- data/doc/classes/Nudge/CodeBlock.src/M000265.html +0 -15
- data/doc/classes/Nudge/CodeBlock.src/M000266.html +0 -15
- data/doc/classes/Nudge/CodeBlock.src/M000267.html +0 -15
- data/doc/classes/Nudge/CodeBlock.src/M000268.html +0 -17
- data/doc/classes/Nudge/CodeBlock.src/M000269.html +0 -20
- data/doc/classes/Nudge/CodeBlock.src/M000270.html +0 -15
- data/doc/classes/Nudge/CodeBlock.src/M000271.html +0 -19
- data/doc/classes/Nudge/DeadLocation.html +0 -152
- data/doc/classes/Nudge/DeadLocation.src/M000334.html +0 -17
- data/doc/classes/Nudge/Erc.html +0 -335
- data/doc/classes/Nudge/Erc.src/M000278.html +0 -16
- data/doc/classes/Nudge/Erc.src/M000279.html +0 -15
- data/doc/classes/Nudge/Erc.src/M000280.html +0 -15
- data/doc/classes/Nudge/Erc.src/M000281.html +0 -15
- data/doc/classes/Nudge/Erc.src/M000282.html +0 -18
- data/doc/classes/Nudge/Erc.src/M000283.html +0 -15
- data/doc/classes/Nudge/Erc.src/M000284.html +0 -17
- data/doc/classes/Nudge/Erc.src/M000285.html +0 -15
- data/doc/classes/Nudge/Individual.html +0 -313
- data/doc/classes/Nudge/Individual.src/M000314.html +0 -21
- data/doc/classes/Nudge/Individual.src/M000315.html +0 -15
- data/doc/classes/Nudge/Individual.src/M000316.html +0 -15
- data/doc/classes/Nudge/Individual.src/M000317.html +0 -17
- data/doc/classes/Nudge/Individual.src/M000318.html +0 -25
- data/doc/classes/Nudge/InstructionPoint/InstructionNotFoundError.html +0 -110
- data/doc/classes/Nudge/InstructionPoint.html +0 -350
- data/doc/classes/Nudge/InstructionPoint.src/M000299.html +0 -15
- data/doc/classes/Nudge/InstructionPoint.src/M000300.html +0 -15
- data/doc/classes/Nudge/InstructionPoint.src/M000301.html +0 -17
- data/doc/classes/Nudge/InstructionPoint.src/M000302.html +0 -15
- data/doc/classes/Nudge/InstructionPoint.src/M000303.html +0 -17
- data/doc/classes/Nudge/InstructionPoint.src/M000304.html +0 -17
- data/doc/classes/Nudge/InstructionPoint.src/M000305.html +0 -17
- data/doc/classes/Nudge/InstructionPoint.src/M000306.html +0 -15
- data/doc/classes/Nudge/Interpreter.html +0 -369
- data/doc/classes/Nudge/Interpreter.src/M000257.html +0 -20
- data/doc/classes/Nudge/Interpreter.src/M000258.html +0 -19
- data/doc/classes/Nudge/Interpreter.src/M000259.html +0 -15
- data/doc/classes/Nudge/Interpreter.src/M000260.html +0 -19
- data/doc/classes/Nudge/Interpreter.src/M000261.html +0 -17
- data/doc/classes/Nudge/LiteralPoint.html +0 -291
- data/doc/classes/Nudge/LiteralPoint.src/M000272.html +0 -16
- data/doc/classes/Nudge/LiteralPoint.src/M000273.html +0 -15
- data/doc/classes/Nudge/LiteralPoint.src/M000274.html +0 -15
- data/doc/classes/Nudge/LiteralPoint.src/M000275.html +0 -18
- data/doc/classes/Nudge/LiteralPoint.src/M000276.html +0 -17
- data/doc/classes/Nudge/LiteralPoint.src/M000277.html +0 -15
- data/doc/classes/Nudge/Location.html +0 -525
- data/doc/classes/Nudge/Location.src/M000319.html +0 -19
- data/doc/classes/Nudge/Location.src/M000320.html +0 -15
- data/doc/classes/Nudge/Location.src/M000321.html +0 -26
- data/doc/classes/Nudge/Location.src/M000322.html +0 -15
- data/doc/classes/Nudge/Location.src/M000323.html +0 -20
- data/doc/classes/Nudge/Location.src/M000324.html +0 -16
- data/doc/classes/Nudge/Location.src/M000325.html +0 -25
- data/doc/classes/Nudge/Location.src/M000326.html +0 -15
- data/doc/classes/Nudge/Location.src/M000327.html +0 -21
- data/doc/classes/Nudge/Location.src/M000328.html +0 -16
- data/doc/classes/Nudge/Location.src/M000329.html +0 -15
- data/doc/classes/Nudge/Location.src/M000330.html +0 -16
- data/doc/classes/Nudge/Location.src/M000331.html +0 -20
- data/doc/classes/Nudge/Location.src/M000332.html +0 -17
- data/doc/classes/Nudge/Location.src/M000333.html +0 -17
- data/doc/classes/Nudge/NondominatedSubset.html +0 -196
- data/doc/classes/Nudge/NondominatedSubset.src/M000005.html +0 -19
- data/doc/classes/Nudge/NondominatedSubset.src/M000006.html +0 -19
- data/doc/classes/Nudge/NondominatedSubset.src/M000007.html +0 -25
- data/doc/classes/Nudge/NondominatedSubset.src/M000339.html +0 -19
- data/doc/classes/Nudge/NondominatedSubset.src/M000340.html +0 -19
- data/doc/classes/Nudge/NondominatedSubset.src/M000341.html +0 -25
- data/doc/classes/Nudge/PopulationResample.html +0 -175
- data/doc/classes/Nudge/PopulationResample.src/M000003.html +0 -22
- data/doc/classes/Nudge/PopulationResample.src/M000337.html +0 -22
- data/doc/classes/Nudge/ProgramPoint.html +0 -148
- data/doc/classes/Nudge/ProgramPoint.src/M000262.html +0 -15
- data/doc/classes/Nudge/RandomGuess.html +0 -176
- data/doc/classes/Nudge/RandomGuess.src/M000002.html +0 -21
- data/doc/classes/Nudge/RandomGuess.src/M000336.html +0 -21
- data/doc/classes/Nudge/ResampleValues.html +0 -169
- data/doc/classes/Nudge/ResampleValues.src/M000004.html +0 -36
- data/doc/classes/Nudge/ResampleValues.src/M000338.html +0 -36
- data/doc/classes/Nudge/SearchOperator.html +0 -175
- data/doc/classes/Nudge/SearchOperator.src/M000001.html +0 -15
- data/doc/classes/Nudge/SearchOperator.src/M000335.html +0 -15
- data/doc/classes/Nudge/Stack.html +0 -350
- data/doc/classes/Nudge/Stack.src/M000307.html +0 -15
- data/doc/classes/Nudge/Stack.src/M000308.html +0 -15
- data/doc/classes/Nudge/Stack.src/M000309.html +0 -18
- data/doc/classes/Nudge/Stack.src/M000310.html +0 -15
- data/doc/classes/Nudge/Stack.src/M000311.html +0 -15
- data/doc/classes/Nudge/Stack.src/M000312.html +0 -15
- data/doc/classes/Nudge/Stack.src/M000313.html +0 -15
- data/doc/classes/Nudge/UniformBackboneCrossover.html +0 -152
- data/doc/classes/Nudge/UniformBackboneCrossover.src/M000008.html +0 -35
- data/doc/classes/Nudge/UniformBackboneCrossover.src/M000342.html +0 -35
- data/doc/classes/Nudge.html +0 -174
- data/doc/classes/NudgeType.html +0 -363
- data/doc/classes/NudgeType.src/M000225.html +0 -17
- data/doc/classes/NudgeType.src/M000226.html +0 -15
- data/doc/classes/NudgeType.src/M000227.html +0 -15
- data/doc/classes/NudgeType.src/M000228.html +0 -15
- data/doc/classes/NudgeType.src/M000229.html +0 -15
- data/doc/classes/NudgeType.src/M000230.html +0 -15
- data/doc/classes/NudgeType.src/M000231.html +0 -15
- data/doc/classes/NudgeType.src/M000232.html +0 -15
- data/doc/classes/NudgeType.src/M000233.html +0 -15
- data/doc/classes/NudgeType.src/M000234.html +0 -15
- data/doc/created.rid +0 -1
- data/doc/files/lib/instructions/bool_basics_rb.html +0 -90
- data/doc/files/lib/instructions/comparisons_rb.html +0 -90
- data/doc/files/lib/instructions/conditionals_rb.html +0 -90
- data/doc/files/lib/instructions/conversions_rb.html +0 -90
- data/doc/files/lib/instructions/exec_rb.html +0 -90
- data/doc/files/lib/instructions/float_arithmetic_rb.html +0 -90
- data/doc/files/lib/instructions/float_transcendental_rb.html +0 -90
- data/doc/files/lib/instructions/infrastructure_rb.html +0 -100
- data/doc/files/lib/instructions/int_arithmetic_rb.html +0 -90
- data/doc/files/lib/instructions/random_value_rb.html +0 -90
- data/doc/files/lib/instructions/stack_manipulation_rb.html +0 -90
- data/doc/files/lib/interpreter/grammars/nudge_language_helpers_rb.html +0 -97
- data/doc/files/lib/interpreter/grammars/nudge_language_treetop.html +0 -180
- data/doc/files/lib/interpreter/interpreter_rb.html +0 -90
- data/doc/files/lib/interpreter/programPoints_rb.html +0 -90
- data/doc/files/lib/interpreter/stack_rb.html +0 -90
- data/doc/files/lib/interpreter/types/codeType_rb.html +0 -157
- data/doc/files/lib/interpreter/types/codeType_rb.src/M000001.html +0 -15
- data/doc/files/lib/interpreter/types/codeType_rb.src/M000002.html +0 -15
- data/doc/files/lib/interpreter/types/pushTypes_rb.html +0 -107
- data/doc/files/lib/nudge_rb.html +0 -152
- data/doc/files/lib/search/evaluators/structural_complexity_rb.html +0 -90
- data/doc/files/lib/search/helpers_rb.html +0 -90
- data/doc/files/lib/search/individual/individual_rb.html +0 -90
- data/doc/files/lib/search/locations/location_rb.html +0 -100
- data/doc/files/lib/search/operators/basic_operators_rb.html +0 -90
- data/doc/fr_class_index.html +0 -191
- data/doc/fr_file_index.html +0 -71
- data/doc/fr_method_index.html +0 -711
- data/doc/index.html +0 -21
- data/doc/rdoc-style.css +0 -299
- data/features/parser_recognizes_nudge_language.feature +0 -9
- data/lib/instructions/bool_basics.rb +0 -85
- data/lib/instructions/comparisons.rb +0 -152
- data/lib/instructions/conditionals.rb +0 -44
- data/lib/instructions/conversions.rb +0 -94
- data/lib/instructions/exec.rb +0 -154
- data/lib/instructions/float_arithmetic.rb +0 -201
- data/lib/instructions/float_transcendental.rb +0 -47
- data/lib/instructions/int_arithmetic.rb +0 -160
- data/lib/instructions/name_basics.rb +0 -44
- data/lib/instructions/name_bindings.rb +0 -65
- data/lib/instructions/random_value.rb +0 -43
- data/lib/instructions/stack_manipulation.rb +0 -739
- data/lib/interpreter/grammars/nudge_language.treetop +0 -83
- data/lib/interpreter/grammars/nudge_language_helpers.rb +0 -64
- data/lib/search/experiments/experiment.rb +0 -53
- data/lib/search/helpers.rb +0 -22
- data/lib/search/individual/batch.rb +0 -25
- data/lib/search/individual/individual.rb +0 -145
- data/lib/search/operators/basic_operators.rb +0 -230
- data/lib/search/operators/evaluators.rb +0 -107
- data/lib/search/operators/samplers_and_selectors.rb +0 -123
- data/lib/search/stations/station.rb +0 -147
- data/nudge.gemspec +0 -706
- data/push_language_coverage.md +0 -177
- data/script/console +0 -10
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/spec/data/couchdb_spec.rb +0 -2
- data/spec/instructions/bool_basics_spec.rb +0 -97
- data/spec/instructions/bool_stack_spec.rb +0 -391
- data/spec/instructions/code_basics_spec.rb +0 -43
- data/spec/instructions/code_stack_spec.rb +0 -382
- data/spec/instructions/comparisons_spec.rb +0 -486
- data/spec/instructions/conditionals_spec.rb +0 -162
- data/spec/instructions/conversions_spec.rb +0 -92
- data/spec/instructions/exec_spec.rb +0 -883
- data/spec/instructions/float_calculations_spec.rb +0 -148
- data/spec/instructions/float_stack_spec.rb +0 -382
- data/spec/instructions/float_transcendental_spec.rb +0 -89
- data/spec/instructions/int_calculations_spec.rb +0 -125
- data/spec/instructions/int_stack_spec.rb +0 -398
- data/spec/instructions/name_basics_spec.rb +0 -158
- data/spec/instructions/name_bindings_spec.rb +0 -257
- data/spec/instructions/name_stack_spec.rb +0 -382
- data/spec/instructions/random_values_spec.rb +0 -68
- data/spec/integration/search_integration.rb +0 -67
- data/spec/interpreter/channel_spec.rb +0 -92
- data/spec/interpreter/codeblock_spec.rb +0 -135
- data/spec/interpreter/erc_spec.rb +0 -130
- data/spec/interpreter/literal_spec.rb +0 -94
- data/spec/interpreter/parser_spec.rb +0 -324
- data/spec/search/batch_spec.rb +0 -30
- data/spec/search/experiments/experiment_spec.rb +0 -101
- data/spec/search/helpers_spec.rb +0 -59
- data/spec/search/individual_spec.rb +0 -356
- data/spec/search/operators/any_one_sampler_spec.rb +0 -40
- data/spec/search/operators/dominated_quantile_spec.rb +0 -111
- data/spec/search/operators/duplicate_genomes_spec.rb +0 -35
- data/spec/search/operators/evaluators/program_point_evaluator_spec.rb +0 -43
- data/spec/search/operators/evaluators/test_case_evaluator_spec.rb +0 -133
- data/spec/search/operators/infrastructure_spec.rb +0 -47
- data/spec/search/operators/most_dominated_subset_spec.rb +0 -47
- data/spec/search/operators/nondominated_subset_spec.rb +0 -97
- data/spec/search/operators/pointCrossover_spec.rb +0 -55
- data/spec/search/operators/pointDeletion_spec.rb +0 -57
- data/spec/search/operators/pointMutation_spec.rb +0 -71
- data/spec/search/operators/random_guess_spec.rb +0 -51
- data/spec/search/operators/resample_and_clone_spec.rb +0 -50
- data/spec/search/operators/resample_values_spec.rb +0 -126
- data/spec/search/operators/sizePreservingMutation_spec.rb +0 -2
- data/spec/search/operators/uniformBackboneCrossover_spec.rb +0 -63
- data/spec/search/stations/station_spec.rb +0 -496
- data/test/test_generator_helper.rb +0 -29
- data/test/test_nudge_generator.rb +0 -43
- /data/lib/instructions/{code_basics.rb → code/code_noop.rb} +0 -0
- /data/{_spikes/nested_parsing/nested.rb → spec/support/shared_examples.rb} +0 -0
@@ -1,18 +0,0 @@
|
|
1
|
-
<!DOCTYPE HTML>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title></title>
|
5
|
-
<link href="css/reset.css" rel="stylesheet" type="text/css" />
|
6
|
-
<link href="css/layout.css" rel="stylesheet" type="text/css" />
|
7
|
-
<link href="css/style.css" rel="stylesheet" type="text/css" />
|
8
|
-
<script src="/javascripts/jquery.js" type="text/javascript" ></script>
|
9
|
-
<script src="/javascripts/jquery.svg.js" type="text/javascript" ></script>
|
10
|
-
</head>
|
11
|
-
<body>
|
12
|
-
<div id="target" ></div>
|
13
|
-
<svg id="svginline">
|
14
|
-
<circle id="circ11" class="area" cx="75" cy="75" r="50" stroke="none" stroke-width="2" fill="red"/>
|
15
|
-
</svg>
|
16
|
-
<div id="result" >ffff</div>
|
17
|
-
</body>
|
18
|
-
</html>
|
@@ -1,8 +0,0 @@
|
|
1
|
-
!!!
|
2
|
-
%html
|
3
|
-
%head
|
4
|
-
%script{:src => "/javascripts/jquery.js", :type => "text/javascript", :charset=>"utf-8"}
|
5
|
-
%script{:src => "/javascripts/jquery.svg.js", :type => "text/javascript", :charset=>"utf-8"}
|
6
|
-
%script{:src => "/javascripts/app.js", :type => "text/javascript", :charset=>"utf-8"}
|
7
|
-
%body
|
8
|
-
#inside{:style => 'width:400px; height:400px;'}
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'sinatra'
|
2
|
-
require '../../lib/nudge'
|
3
|
-
|
4
|
-
include Nudge
|
5
|
-
|
6
|
-
Spike = Experiment.new(name:"spiker")
|
7
|
-
|
8
|
-
Spike.instructions = []
|
9
|
-
Spike.types = []
|
10
|
-
Spike.station_names = []
|
11
|
-
|
12
|
-
|
13
|
-
get '/' do
|
14
|
-
erb :main
|
15
|
-
end
|
16
|
-
|
17
|
-
get '/instructions' do
|
18
|
-
Spike.instructions = Instruction.all_instructions
|
19
|
-
redirect '/'
|
20
|
-
end
|
21
|
-
|
22
|
-
get '/types' do
|
23
|
-
Spike.types = [IntType, BoolType, FloatType]
|
24
|
-
redirect '/'
|
25
|
-
end
|
26
|
-
|
27
|
-
get '/stations' do
|
28
|
-
redirect '/'
|
29
|
-
end
|
30
|
-
|
31
|
-
get '/go' do
|
32
|
-
# run 10 steps
|
33
|
-
10.times do
|
34
|
-
Spike.station_names.each {|name| puts "running #{name}"; Station.stations[name].core_cycle}
|
35
|
-
end
|
36
|
-
redirect '/'
|
37
|
-
end
|
38
|
-
|
39
|
-
get '/reset' do
|
40
|
-
Spike.instructions = []
|
41
|
-
Spike.types = []
|
42
|
-
Spike.station_names = []
|
43
|
-
redirect '/'
|
44
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
|
4
|
-
<html>
|
5
|
-
<head>
|
6
|
-
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
7
|
-
<title>Don't expect too much</title>
|
8
|
-
</head>
|
9
|
-
|
10
|
-
<body id="main" onload="">
|
11
|
-
<table border="1" width="100%" cellspacing="5" cellpadding="5">
|
12
|
-
<tr><td><a href="/instructions">Instructions</a></td><td><%= Spike.instructions %></td></tr>
|
13
|
-
<tr><td><a href="/types">Types</a></td><td><%= Spike.types %></td></tr>
|
14
|
-
<tr><td><a href="/stations">Stations</a></td><td><%= Spike.station_names %></td></tr>
|
15
|
-
<tr><td><a href="/go">Go</a></td></tr>
|
16
|
-
<tr><a href="/reset">RESET</a></tr>
|
17
|
-
</table>
|
18
|
-
</body>
|
19
|
-
</html>
|
@@ -1,146 +0,0 @@
|
|
1
|
-
# this will be the "native" code for the Nudge2 language interpreter:
|
2
|
-
|
3
|
-
# here's a program, with the four point types shown (block, literal, erc, instruction, binding):
|
4
|
-
|
5
|
-
block
|
6
|
-
literal :int, -133
|
7
|
-
instr :int_add
|
8
|
-
block
|
9
|
-
erc :bool, false
|
10
|
-
instr :int_sub
|
11
|
-
instr :bool_and
|
12
|
-
instr :code_quote
|
13
|
-
binding 'x1'
|
14
|
-
literal :int, 800
|
15
|
-
instr :code_quote
|
16
|
-
block
|
17
|
-
instr :int_neg
|
18
|
-
instr :int_dup
|
19
|
-
block
|
20
|
-
block
|
21
|
-
instr :bool_xor
|
22
|
-
erc :bool, true
|
23
|
-
instr :code_if
|
24
|
-
|
25
|
-
# here's a "flat" multiline program in Nudge2
|
26
|
-
|
27
|
-
block
|
28
|
-
instr :exec_dup
|
29
|
-
erc :int, 4
|
30
|
-
instr :int_rand
|
31
|
-
instr :int_dup
|
32
|
-
instr :int_shove
|
33
|
-
literal :int, -99
|
34
|
-
|
35
|
-
# and here's a one-line program (without an initial block):
|
36
|
-
|
37
|
-
literal :int, 66
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
# This suggests representations for other interpreters, too
|
43
|
-
# here's one for Koza-style S-expressions:
|
44
|
-
|
45
|
-
arity2 :add
|
46
|
-
arity2 :subtract
|
47
|
-
arity1 :negative
|
48
|
-
binding 'x'
|
49
|
-
arity2 :add
|
50
|
-
erc :int, 12
|
51
|
-
arity2 :multiply
|
52
|
-
erc :float, 9.12
|
53
|
-
binding 'y'
|
54
|
-
erc :float, -18.91
|
55
|
-
# (-x - ( 12 + 9.12 * y ) ) + -18.91
|
56
|
-
# the syntax check is: every arityX line must have X lines at the next-higher indent
|
57
|
-
|
58
|
-
|
59
|
-
#here's a more complex example, just to explore more:
|
60
|
-
|
61
|
-
arity2 :multiply
|
62
|
-
arity2 :multiply
|
63
|
-
arity2 :multiply
|
64
|
-
binding 'profit'
|
65
|
-
arity2 :add
|
66
|
-
erc :int, 12
|
67
|
-
binding 'drawdown'
|
68
|
-
binding 'profit'
|
69
|
-
arity4 :if_LTE
|
70
|
-
binding 'volatility'
|
71
|
-
erc :int, 8100
|
72
|
-
arity2 :add
|
73
|
-
binding 'profit'
|
74
|
-
binding 'drawdown'
|
75
|
-
arity2 :multiply
|
76
|
-
erc :proportion, 0.71
|
77
|
-
erc :int, 100
|
78
|
-
# (profit * (12 + drawdown)) * profit * \
|
79
|
-
# (IF volatility ≤ 8100 THEN (profit + drawdown) ELSE (0.71 * 100))
|
80
|
-
|
81
|
-
|
82
|
-
# how far can this go? How about a linear GP interpreter?
|
83
|
-
# based on Langdon & Banzhaf, GECCO 2004 "Repeated Sequences in Liner GP Genomes"
|
84
|
-
# there are 8 registers r0-r7, initialized to input values
|
85
|
-
# each instruction has
|
86
|
-
# a register to write the result,
|
87
|
-
# a register as 1st operand,
|
88
|
-
# an opcode, and
|
89
|
-
# a register or integer in [0,127]
|
90
|
-
# result is found in r0 at the end of serial execution
|
91
|
-
|
92
|
-
|
93
|
-
into r0
|
94
|
-
arity2 :add
|
95
|
-
register r0
|
96
|
-
register r1
|
97
|
-
into r3
|
98
|
-
arity2 :multiply
|
99
|
-
register r0
|
100
|
-
literal 3
|
101
|
-
into r2
|
102
|
-
arity2 :subtract
|
103
|
-
register r1
|
104
|
-
erc :int, 71
|
105
|
-
into r1
|
106
|
-
arity2 :subtract
|
107
|
-
register r0
|
108
|
-
register r3
|
109
|
-
into r0
|
110
|
-
arity2 :add
|
111
|
-
register r3
|
112
|
-
register r2
|
113
|
-
|
114
|
-
|
115
|
-
# And how about a DataPageant interpreter version?
|
116
|
-
# each node has
|
117
|
-
# an opcode
|
118
|
-
# a set of input ports for arguments,
|
119
|
-
# referenced by absolute or relative order in program [modulo length]
|
120
|
-
|
121
|
-
|
122
|
-
[1]
|
123
|
-
arity1 :read
|
124
|
-
channel 'price'
|
125
|
-
[2]
|
126
|
-
arity1 :read
|
127
|
-
channel 'volatility'
|
128
|
-
[3]
|
129
|
-
arity1 :read
|
130
|
-
channel 'mass'
|
131
|
-
[4]
|
132
|
-
arity1 :read
|
133
|
-
relative +2
|
134
|
-
[5]
|
135
|
-
arity2 :add
|
136
|
-
relative -2
|
137
|
-
relative -5
|
138
|
-
[6]
|
139
|
-
arity3 :min
|
140
|
-
relative +3
|
141
|
-
absolute -2 # second value from the end of program
|
142
|
-
relative +121
|
143
|
-
[7]
|
144
|
-
arity1 :neg
|
145
|
-
relative -2
|
146
|
-
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# won't hurt to sketch the search definition DSL, too
|
2
|
-
|
3
|
-
minimize "point count" do
|
4
|
-
before running do
|
5
|
-
measure :code_points from My.code.points
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
|
10
|
-
minimize "average NOOPs encountered" do
|
11
|
-
after running(:each) do
|
12
|
-
collect @NOOPs from My.NOOPs
|
13
|
-
end
|
14
|
-
|
15
|
-
measure :avg_NOOPs as @NOOPs.mean
|
16
|
-
end
|
17
|
-
|
18
|
-
|
19
|
-
minimize "maximum absolute deviation" do
|
20
|
-
after running(:each) do
|
21
|
-
collect @absDiffs from My.absDiff
|
22
|
-
end
|
23
|
-
|
24
|
-
measure :max_deviation as @absDiffs.max
|
25
|
-
end
|
@@ -1,287 +0,0 @@
|
|
1
|
-
Thinking about the structure of search operator objects:
|
2
|
-
|
3
|
-
Random sampler operator:
|
4
|
-
Looks at the current ontology and configuration
|
5
|
-
Creates a new genome at random
|
6
|
-
Returns a new Individual with that genome
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
Nondominated selection operator:
|
11
|
-
Looks at a set of Individuals
|
12
|
-
Makes sure they're all evaluated
|
13
|
-
Returns an array containing all nondominated ones
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
Fair point mutation operator:
|
18
|
-
Takes one Individual
|
19
|
-
Picks a random point in its genome
|
20
|
-
Replaces it with a new (random) program point of the same depth
|
21
|
-
Returns a new Individual with that genome
|
22
|
-
|
23
|
-
block {
|
24
|
-
-> block { depth=6
|
25
|
-
instr int_subtract
|
26
|
-
instr int_max
|
27
|
-
instr int_max
|
28
|
-
instr int_multiply
|
29
|
-
instr int_min}
|
30
|
-
sample int, 835
|
31
|
-
instr int_divide
|
32
|
-
channel x
|
33
|
-
channel x}
|
34
|
-
|
35
|
-
RETURNS:
|
36
|
-
block {
|
37
|
-
-> block { depth=6
|
38
|
-
-> channel x
|
39
|
-
-> block {
|
40
|
-
-> sample int, 2
|
41
|
-
-> channel x}
|
42
|
-
-> sample int, -3}
|
43
|
-
sample int, 835
|
44
|
-
instr int_divide
|
45
|
-
channel x
|
46
|
-
channel x}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
Fair crossover operator:
|
51
|
-
Takes two individuals ("mom" and "dad")
|
52
|
-
Picks a random program point in "mom" and measures its depth
|
53
|
-
Finds a random program point in "dad" the same depth
|
54
|
-
if there isn't a match, repeat (since there's always at least one match)
|
55
|
-
Creates a new genome which copies "mom's" genome, replacing the one point with code from "dad"
|
56
|
-
Returns a new Individual with that genome
|
57
|
-
|
58
|
-
block { block {
|
59
|
-
block { instr int_divide
|
60
|
-
instr int_subtract -> channel x
|
61
|
-
instr int_max channel x
|
62
|
-
-> instr int_max instr int_subtract
|
63
|
-
instr int_multiply instr int_divide
|
64
|
-
instr int_min} instr int_add
|
65
|
-
sample int, 835 block {
|
66
|
-
instr int_divide instr int_max
|
67
|
-
channel x instr int_divide
|
68
|
-
channel x} instr int_add
|
69
|
-
instr int_multiply
|
70
|
-
instr int_modulo
|
71
|
-
instr int_divide
|
72
|
-
instr int_modulo
|
73
|
-
instr int_modulo
|
74
|
-
channel x}}
|
75
|
-
|
76
|
-
RETURNS:
|
77
|
-
block {
|
78
|
-
block {
|
79
|
-
instr int_subtract
|
80
|
-
instr int_max
|
81
|
-
-> channel x
|
82
|
-
instr int_multiply
|
83
|
-
instr int_min}
|
84
|
-
sample int, 835
|
85
|
-
instr int_divide
|
86
|
-
channel x
|
87
|
-
channel x}
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
Point flatten operator:
|
92
|
-
Takes one individual
|
93
|
-
Picks a random program point
|
94
|
-
If that point is itself a codeblock, replaces it with its contents
|
95
|
-
Otherwise, removes the enclosing codeblock
|
96
|
-
Returns an Individual with the new genome
|
97
|
-
[if the genome is one point, it does nothing]
|
98
|
-
|
99
|
-
block {
|
100
|
-
block {
|
101
|
-
channel x
|
102
|
-
-> block {
|
103
|
-
sample int, 2
|
104
|
-
channel x}
|
105
|
-
sample int, -3}
|
106
|
-
sample int, 835
|
107
|
-
instr int_divide
|
108
|
-
channel x
|
109
|
-
channel x}
|
110
|
-
|
111
|
-
RETURNS:
|
112
|
-
block {
|
113
|
-
block {
|
114
|
-
channel x
|
115
|
-
sample int, 2
|
116
|
-
channel x
|
117
|
-
sample int, -3}
|
118
|
-
sample int, 835
|
119
|
-
instr int_divide
|
120
|
-
channel x
|
121
|
-
channel x}
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
Deepen operator:
|
126
|
-
Takes one individual
|
127
|
-
Picks two random program points
|
128
|
-
Inserts a "block {" before the first one and a "}" after the second
|
129
|
-
Returns a new Individual with the resulting genome
|
130
|
-
|
131
|
-
block {
|
132
|
-
instr int_divide
|
133
|
-
channel x
|
134
|
-
-> channel x
|
135
|
-
instr int_subtract
|
136
|
-
instr int_divide
|
137
|
-
instr int_add
|
138
|
-
block {
|
139
|
-
instr int_max
|
140
|
-
instr int_divide
|
141
|
-
instr int_add
|
142
|
-
-> instr int_multiply
|
143
|
-
instr int_modulo
|
144
|
-
instr int_divide
|
145
|
-
instr int_modulo
|
146
|
-
instr int_modulo
|
147
|
-
channel x}}
|
148
|
-
|
149
|
-
RETURNS:
|
150
|
-
block {
|
151
|
-
instr int_divide
|
152
|
-
channel x
|
153
|
-
block {
|
154
|
-
channel x
|
155
|
-
instr int_subtract
|
156
|
-
instr int_divide
|
157
|
-
instr int_add
|
158
|
-
block {
|
159
|
-
instr int_max
|
160
|
-
instr int_divide
|
161
|
-
instr int_add
|
162
|
-
instr int_multiply}
|
163
|
-
instr int_modulo
|
164
|
-
instr int_divide
|
165
|
-
instr int_modulo
|
166
|
-
instr int_modulo
|
167
|
-
channel x}}
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
Uniform root crossover operator:
|
172
|
-
Takes two individuals ("mom" and "dad"), and a probability p
|
173
|
-
For each point in the ROOT block of a randomly chosen parent (measured at root also)
|
174
|
-
with probability p, copy over that program point into the ROOT of the genome from other template parent
|
175
|
-
Returns a new Individual with that new genome
|
176
|
-
|
177
|
-
block { block {
|
178
|
-
1 block { 1 instr int_divide
|
179
|
-
instr int_subtract 2 channel x
|
180
|
-
instr int_max 3 channel x
|
181
|
-
instr int_max 4 instr int_subtract
|
182
|
-
instr int_multiply 5 instr int_divide
|
183
|
-
instr int_min} 6 instr int_add
|
184
|
-
2 sample int, 835 7 block {
|
185
|
-
3 instr int_divide instr int_max
|
186
|
-
4 channel x instr int_divide
|
187
|
-
5 channel x} instr int_add
|
188
|
-
instr int_multiply
|
189
|
-
instr int_modulo
|
190
|
-
instr int_divide
|
191
|
-
instr int_modulo
|
192
|
-
instr int_modulo
|
193
|
-
channel x}}
|
194
|
-
|
195
|
-
given we choose the left one as a framework, and overwrite points 2 & 4, the result is:
|
196
|
-
block {
|
197
|
-
block {
|
198
|
-
instr int_subtract
|
199
|
-
instr int_max
|
200
|
-
instr int_max
|
201
|
-
instr int_multiply
|
202
|
-
instr int_min}
|
203
|
-
channel x
|
204
|
-
instr int_divide
|
205
|
-
instr int_subtract
|
206
|
-
channel x}
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
Insert point operator:
|
211
|
-
Takes one individual
|
212
|
-
Picks one program point
|
213
|
-
Inserts a new program point (of any length) before that point
|
214
|
-
Returns a new Individual with that genome
|
215
|
-
[if the genome is one point only, it wraps it in "block {}" before adding the new point]
|
216
|
-
|
217
|
-
block {
|
218
|
-
instr int_divide
|
219
|
-
channel x
|
220
|
-
-> channel x
|
221
|
-
instr int_subtract
|
222
|
-
instr int_divide
|
223
|
-
instr int_add
|
224
|
-
block {
|
225
|
-
instr int_max
|
226
|
-
instr int_divide
|
227
|
-
instr int_add
|
228
|
-
instr int_multiply
|
229
|
-
instr int_modulo
|
230
|
-
instr int_divide
|
231
|
-
instr int_modulo
|
232
|
-
instr int_modulo
|
233
|
-
channel x}}
|
234
|
-
|
235
|
-
RETURNS:
|
236
|
-
block {
|
237
|
-
instr int_divide
|
238
|
-
channel x
|
239
|
-
block {
|
240
|
-
instr int_max}
|
241
|
-
channel x
|
242
|
-
instr int_subtract
|
243
|
-
instr int_divide
|
244
|
-
instr int_add
|
245
|
-
block {
|
246
|
-
instr int_max
|
247
|
-
instr int_divide
|
248
|
-
instr int_add
|
249
|
-
instr int_multiply
|
250
|
-
instr int_modulo
|
251
|
-
instr int_divide
|
252
|
-
instr int_modulo
|
253
|
-
instr int_modulo
|
254
|
-
channel x}}
|
255
|
-
|
256
|
-
Delete point operator:
|
257
|
-
Takes one individual
|
258
|
-
Deletes that program point
|
259
|
-
Returns a new Individual with the reduced genome
|
260
|
-
[if the genome is one point only, it returns an empty "block {}"]
|
261
|
-
|
262
|
-
block {
|
263
|
-
instr int_divide
|
264
|
-
channel x
|
265
|
-
channel x
|
266
|
-
instr int_subtract
|
267
|
-
instr int_divide
|
268
|
-
instr int_add
|
269
|
-
-> block {
|
270
|
-
instr int_max
|
271
|
-
instr int_divide
|
272
|
-
instr int_add
|
273
|
-
instr int_multiply
|
274
|
-
instr int_modulo
|
275
|
-
instr int_divide
|
276
|
-
instr int_modulo
|
277
|
-
instr int_modulo
|
278
|
-
channel x}}
|
279
|
-
|
280
|
-
RETURNS:
|
281
|
-
block {
|
282
|
-
instr int_divide
|
283
|
-
channel x
|
284
|
-
channel x
|
285
|
-
instr int_subtract
|
286
|
-
instr int_divide
|
287
|
-
instr int_add}
|
@@ -1,96 +0,0 @@
|
|
1
|
-
# classic generational GP
|
2
|
-
|
3
|
-
@params = # types, instructions, variable names, config settings for random code, &c
|
4
|
-
|
5
|
-
@guessOne = RandomGuess.new()
|
6
|
-
@selector = TournamentSelection.new()
|
7
|
-
@xover = FairCrossover.new()
|
8
|
-
@mutator = ErcHillclimb.new()
|
9
|
-
@elitism = ElitistClone.new()
|
10
|
-
|
11
|
-
|
12
|
-
initial_generator =
|
13
|
-
Proc.new do
|
14
|
-
newDude = @guessOne.generate(params, 1)
|
15
|
-
newDude.keep
|
16
|
-
end
|
17
|
-
|
18
|
-
|
19
|
-
generationalGP_generator =
|
20
|
-
Proc.new do
|
21
|
-
pop = self.population
|
22
|
-
@elitism.generate(pop).keep
|
23
|
-
# Clones the current best (nondominated) in pop; keeps them all; gen += 1
|
24
|
-
500.times do
|
25
|
-
parents = @selector.generate(pop,:tournament_size => 10, :collect => 1000) # Array of 1000 Individuals
|
26
|
-
kid = @xover.generate(parents) # Returns an Array of 500 kids (parents used pairwise)
|
27
|
-
polished = @mutator.generate(kid,:prob => 0.01, :steps => 10)
|
28
|
-
# Array with 500 individuals,
|
29
|
-
# 99% cloned, 1%
|
30
|
-
# the result of 10 steps of greedy hillclimbing
|
31
|
-
polished.keep # keeps all 500 kids, all with gen += 1
|
32
|
-
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
|
37
|
-
generationalGP_culler =
|
38
|
-
Proc.new do
|
39
|
-
min_age = (self.population.collect {|indiv| indiv.gen}).min
|
40
|
-
self.population.cull {indiv.gen <= min_age}
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
source = SearchDaemon.new(
|
46
|
-
:capacity => 0,
|
47
|
-
:promote => {true}
|
48
|
-
:activation => {true}
|
49
|
-
:generator => initial_generator,
|
50
|
-
:cull_by => {},
|
51
|
-
:connects_to => coreLooper)
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
coreLooper = SearchDaemon.new(
|
56
|
-
:activation => {self.population >= self.capacity},
|
57
|
-
:capacity => 500,
|
58
|
-
:cull_by => generationalGP_culler,
|
59
|
-
:generator => generationalGP_generator
|
60
|
-
# :connects_to nowhere else
|
61
|
-
)
|
62
|
-
|
63
|
-
=begin
|
64
|
-
The basic loop for a SearchDaemon is:
|
65
|
-
0. IF you are active per your rule, then:
|
66
|
-
1. cull per your rule, but only if you are over-capacity
|
67
|
-
2. run your generator
|
68
|
-
3. promote per your rules
|
69
|
-
0' if inactive, do nothing
|
70
|
-
|
71
|
-
So basically what will happen here is:
|
72
|
-
* The source daemon is active all the time.
|
73
|
-
* It generates one random guy every turn.
|
74
|
-
* It has no capacity, so it will first try its #promote method
|
75
|
-
* That will work; the guy will be "sent to" coreLooper
|
76
|
-
* It has an empty Proc for its #cull method, but should have no population anyway so this won't fire
|
77
|
-
|
78
|
-
* The coreLooper daemon is not active until 500 random guys have been added to it
|
79
|
-
* It isn't over-capacity (it just activated because it contains 500 dudes), so no cull
|
80
|
-
* runs its generator, which makes 500 new dudes with gen=1
|
81
|
-
* it keeps all those kids, plus the old generation
|
82
|
-
* it has nowhere to promote to
|
83
|
-
|
84
|
-
* the source makes one new dude, sends it to the coreLooper
|
85
|
-
* the coreLooper has pop = 1001; it culls until pop <= 500
|
86
|
-
** it iterates killing off the lowest-gen individuals: all the 501 gem=0 ones, this time
|
87
|
-
* with 500 gen = 1 kids, it runs its generator again
|
88
|
-
|
89
|
-
* the source makes one new dude, sends it to the coreLooper
|
90
|
-
* the coreLooper has pop = 1001; it culls until pop <= 500
|
91
|
-
** it iterates killing off the lowest-gen individuals: the one gem=0 one from the source
|
92
|
-
** then it kills the 500 leftover parents from the previous generation
|
93
|
-
* with 500 gen = 1 kids, it runs its generator again
|
94
|
-
|
95
|
-
and so on, forever...
|
96
|
-
=end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
APP_ROOT = File.dirname(__FILE__)
|
2
|
-
|
3
|
-
require '../../lib/nudge.rb'
|
4
|
-
require APP_ROOT + '/config/environment.rb'
|
5
|
-
|
6
|
-
include Nudge
|
7
|
-
|
8
|
-
spike_experiment = Experiment.new(name:"spike")
|
9
|
-
|
10
|
-
# couchDB crap
|
11
|
-
|
12
|
-
# launch web server
|
13
|
-
|
14
|
-
# run forever, checking config now and then
|
15
|
-
5.times do
|
16
|
-
50.times do
|
17
|
-
[Station.stations["generator1"],Station.stations["generator2"]].each {|station| station.core_cycle}
|
18
|
-
end
|
19
|
-
|
20
|
-
10.times do |gen|
|
21
|
-
puts "\nGeneration #{gen}\n"
|
22
|
-
Station.stations.each {|name, station| puts "#{name}"; station.core_cycle}
|
23
|
-
end
|
24
|
-
|
25
|
-
Station.stations.each {|name, station| puts "#{name} has population: #{station.population.length}"}
|
26
|
-
|
27
|
-
["level1","level2","level3","level4"].each do |station|
|
28
|
-
if Station.stations[station].population.length > 20
|
29
|
-
sorted = Station.stations[station].population.sort_by {|dude| dude.scores["errors"] || 100000}
|
30
|
-
(0..20).each {|i| puts "#{sorted[i].scores}:\n#{sorted[i].genome}"}
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
Station.stations["level1"].cull_all
|
35
|
-
end
|