working on sub func
parent
ed97bdef3e
commit
9cad754f02
|
@ -1,5 +1,5 @@
|
||||||
cmake_minimum_required(VERSION 3.25)
|
cmake_minimum_required(VERSION 3.25)
|
||||||
project(image-gp-6 VERSION 0.0.37)
|
project(image-gp-6 VERSION 0.0.38)
|
||||||
|
|
||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 552b150402450c94d983b4df00191a65a947b806
|
Subproject commit 6e45ea3d6de5c3686c969f9fdd706c527560cd8c
|
|
@ -332,7 +332,10 @@ namespace blt::gp
|
||||||
// other arguments are generated.
|
// other arguments are generated.
|
||||||
|
|
||||||
// get a replacement which returns the same type.
|
// get a replacement which returns the same type.
|
||||||
operator_id random_replacement = program.get_random().select(program.get_type_non_terminals(current_func_info.return_type.id));
|
auto& non_terminals = program.get_type_non_terminals(current_func_info.return_type.id);
|
||||||
|
if (non_terminals.empty())
|
||||||
|
continue;
|
||||||
|
operator_id random_replacement = program.get_random().select(non_terminals);
|
||||||
blt::size_t arg_position = 0;
|
blt::size_t arg_position = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -350,8 +353,11 @@ namespace blt::gp
|
||||||
exit:
|
exit:
|
||||||
auto& replacement_func_info = program.get_operator_info(random_replacement);
|
auto& replacement_func_info = program.get_operator_info(random_replacement);
|
||||||
// replacement function should be valid. let's make a copy of us.
|
// replacement function should be valid. let's make a copy of us.
|
||||||
blt::size_t for_bytes = 0;
|
auto current_end = c.find_endpoint(program, static_cast<blt::ptrdiff_t>(c_node));
|
||||||
blt::size_t after_bytes = 0;
|
blt::size_t for_bytes = c.total_value_bytes(c_node, current_end);
|
||||||
|
blt::size_t after_bytes = c.total_value_bytes(current_end);
|
||||||
|
|
||||||
|
auto after_data =
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case mutation_operator::JUMP_FUNC:
|
case mutation_operator::JUMP_FUNC:
|
||||||
|
|
Loading…
Reference in New Issue