Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

decide.c File Reference

Go to the source code of this file.

Functions

preferenceprobabilistically_select (slot *s, preference *candidates)
void print_candidates (preference *candidates)
void soar_ecGDSPrint ()
void remove_existing_attribute_impasse_for_slot (slot *s)
void post_link_addition (Symbol *from, Symbol *to)
void post_link_removal (Symbol *from, Symbol *to)
void elaborate_gds (void)
void gds_invalid_so_remove_goal (wme *w)
void free_parent_list (void)
void uniquely_add_to_head_of_dll (instantiation *inst)
void create_gds_for_goal (Symbol *goal)
void remove_operator_if_necessary (slot *s, wme *w)
void mark_context_slot_as_acceptable_preference_changed (slot *s)
void do_acceptable_preference_wme_changes_for_slot (slot *s)
void do_buffered_acceptable_preference_wme_changes (void)
void promote_id_and_tc (Symbol *id, goal_stack_level new_level)
void do_promotion (void)
void garbage_collect_id (Symbol *id)
void mark_id_and_tc_as_unknown_level (Symbol *id)
void walk_and_update_levels (Symbol *id)
void do_demotion (void)
void do_buffered_link_changes (void)
byte require_preference_semantics (slot *s, preference **result_candidates)
byte run_preference_semantics (slot *s, preference **result_candidates)


Function Documentation

void create_gds_for_goal Symbol goal  ) 
 

Referenced by run_preference_semantics().

void do_acceptable_preference_wme_changes_for_slot slot s  ) 
 

Definition at line 179 of file decide.c.

References slot_struct::acceptable_preference_wmes, add_wme_to_wm(), preference_struct::attr, preference_struct::id, make_wme(), preference_struct::next, wme_struct::next, wme_struct::preference, preference, slot_struct::preferences, remove_operator_if_necessary(), remove_wme_from_wm(), slot, preference_struct::value, wme_struct::value, and wme.

Referenced by do_buffered_acceptable_preference_wme_changes().

void do_buffered_acceptable_preference_wme_changes void   ) 
 

Definition at line 257 of file decide.c.

References slot_struct::acceptable_preference_changed, dl_cons, do_acceptable_preference_wme_changes_for_slot(), dl_cons_struct::item, dl_cons_struct::next, and slot.

Referenced by run_preference_semantics().

void do_buffered_link_changes void   ) 
 

Definition at line 764 of file decide.c.

References do_demotion(), do_promotion(), start_timer(), and stop_timer().

Referenced by run_preference_semantics().

void do_demotion void   ) 
 

Definition at line 684 of file decide.c.

References dl_cons, garbage_collect_id(), get_new_tc_number(), symbol_union::id, dl_cons_struct::item, identifier_struct::level, identifier_struct::link_count, identifier_struct::lower_goal, mark_id_and_tc_as_unknown_level(), dl_cons_struct::next, Symbol, identifier_struct::unknown_level, and walk_and_update_levels().

Referenced by do_buffered_link_changes().

void do_promotion void   ) 
 

Definition at line 403 of file decide.c.

References cons, cons_struct::first, symbol_union::id, promote_id_and_tc(), identifier_struct::promotion_level, and Symbol.

Referenced by do_buffered_link_changes().

void elaborate_gds void   ) 
 

Referenced by run_preference_semantics().

void free_parent_list void   ) 
 

Referenced by run_preference_semantics().

void garbage_collect_id Symbol id  ) 
 

Definition at line 514 of file decide.c.

References preference_struct::all_of_slot_next, slot_struct::all_preferences, symbol_union::id, slot_struct::impasse_type, identifier_struct::input_wmes, mark_slot_for_possible_removal(), slot_struct::next, preference, print_with_symbols(), remove_existing_attribute_impasse_for_slot(), remove_preference_from_tm(), remove_wme_list_from_wm(), slot, identifier_struct::slots, Symbol, and slot_struct::wmes.

Referenced by do_demotion().

void gds_invalid_so_remove_goal wme w  ) 
 

void mark_context_slot_as_acceptable_preference_changed slot s  ) 
 

Definition at line 166 of file decide.c.

References slot_struct::acceptable_preference_changed, dl_cons, dl_cons_struct::item, and slot.

Referenced by add_preference_to_tm(), and remove_preference_from_tm().

void mark_id_and_tc_as_unknown_level Symbol id  ) 
 

Definition at line 573 of file decide.c.

References preference_struct::all_of_slot_next, slot_struct::all_preferences, identifier_struct::could_be_a_link_from_below, dl_cons, symbol_union::id, slot_struct::impasse_id, identifier_struct::input_wmes, dl_cons_struct::item, identifier_struct::level, slot_struct::next, wme_struct::next, preference, preference_struct::referent, slot, identifier_struct::slots, Symbol, identifier_struct::tc_num, preference_struct::type, identifier_struct::unknown_level, preference_struct::value, wme_struct::value, wme, and slot_struct::wmes.

Referenced by do_demotion().

void post_link_addition Symbol from,
Symbol to
 

Definition at line 313 of file decide.c.

References identifier_struct::could_be_a_link_from_below, symbol_union::id, identifier_struct::isa_goal, identifier_struct::isa_impasse, identifier_struct::link_count, print(), print_with_symbols(), identifier_struct::promotion_level, and Symbol.

void post_link_removal Symbol from,
Symbol to
 

Definition at line 453 of file decide.c.

References dl_cons, symbol_union::id, identifier_struct::isa_goal, identifier_struct::isa_impasse, dl_cons_struct::item, identifier_struct::level, identifier_struct::link_count, print(), print_with_symbols(), Symbol, and identifier_struct::unknown_level.

void print_candidates preference candidates  ) 
 

Definition at line 69 of file decide.c.

References preference_struct::attr, preference_struct::id, preference_struct::next_candidate, preference, print(), print_with_symbols(), and preference_struct::value.

preference* probabilistically_select slot s,
preference candidates
 

Referenced by run_preference_semantics().

void promote_id_and_tc Symbol id,
goal_stack_level  new_level
 

Definition at line 358 of file decide.c.

References abort_with_fatal_error(), preference_struct::all_of_slot_next, slot_struct::all_preferences, identifier_struct::could_be_a_link_from_below, goal_stack_level, symbol_union::id, identifier_struct::input_wmes, identifier_struct::isa_goal, identifier_struct::isa_impasse, identifier_struct::level, slot_struct::next, wme_struct::next, preference, identifier_struct::promotion_level, preference_struct::referent, slot, identifier_struct::slots, Symbol, preference_struct::type, preference_struct::value, wme_struct::value, wme, and slot_struct::wmes.

Referenced by do_promotion().

void remove_existing_attribute_impasse_for_slot slot s  ) 
 

Referenced by garbage_collect_id(), and run_preference_semantics().

void remove_operator_if_necessary slot s,
wme w
 

Referenced by do_acceptable_preference_wme_changes_for_slot().

byte require_preference_semantics slot s,
preference **  result_candidates
 

Definition at line 823 of file decide.c.

References byte, preference_struct::next, preference_struct::next_candidate, preference, slot_struct::preferences, slot, Symbol, and preference_struct::value.

Referenced by run_preference_semantics().

byte run_preference_semantics slot s,
preference **  result_candidates
 

Definition at line 857 of file decide.c.

References abort_with_fatal_error(), slot_struct::acceptable_preference_wmes, add_wme_to_wm(), slot_struct::all_preferences, allocate_memory(), identifier_struct::allow_bottom_up_chunks, ASK_CALLBACK, wme_struct::attr, preference_struct::attr, slot_struct::attr, three_field_tests_struct::attr_test, attribute_of_existing_impasse(), instantiation_struct::backtrace_number, instantiation_struct::bottom_of_instantiated_conditions, condition_struct::bt, byte, ask_cb_data_st::candidates, slot_struct::changed, clear_goal_stack(), float_constant_struct::common_symbol_info, condition, create_gds_for_goal(), CREATE_NEW_ATTRIBUTE_IMPASSE_CALLBACK, CREATE_NEW_CONTEXT_CALLBACK, create_top_goal(), condition_struct::data, dl_cons, do_buffered_acceptable_preference_wme_changes(), do_buffered_link_changes(), do_buffered_wm_and_ownership_changes(), do_buffered_wm_changes(), do_decision_phase(), do_input_cycle(), do_output_cycle(), do_working_memory_phase(), elaborate_gds(), symbol_union::fc, find_slot(), free_memory(), free_parent_list(), identifier_struct::gds, wme_struct::gds, instantiation_struct::GDS_evaluated_already, gds_invalid_so_remove_goal(), wme_struct::gds_prev, ms_change_struct::goal, gds_struct::goal, goal_dependency_set, goal_stack_level, identifier_struct::higher_goal, symbol_union::ic, wme_struct::id, preference_struct::id, slot_struct::id, symbol_union::id, three_field_tests_struct::id_test, slot_struct::impasse_id, slot_struct::impasse_type, identifier_struct::impasse_wmes, instantiation_struct::in_ms, preference_struct::in_tm, init_decider(), init_memory_pool(), pi_struct::inst, preference_struct::inst, preference_struct::inst_next, preference_struct::inst_prev, instantiation, slot_struct::isa_context_slot, identifier_struct::isa_goal, identifier_struct::isa_impasse, dl_cons_struct::item, bt_info_struct::level, identifier_struct::level, identifier_struct::lower_goal, make_new_identifier(), make_preference(), make_slot(), make_wme(), mark_slot_for_possible_removal(), preference_struct::match_goal, instantiation_struct::match_goal, preference_struct::match_goal_level, instantiation_struct::match_goal_level, ms_change, identifier_struct::ms_retractions, production_struct::name, pi_struct::next, condition_struct::next, instantiation_struct::next, wme_struct::next, preference_struct::next, preference_struct::next_candidate, ms_change_struct::next_in_level, instantiation_struct::nots, NUMERIC_INDIFFERENT_MODE_AVG, NUMERIC_INDIFFERENT_MODE_SUM, preference_struct::o_supported, instantiation_struct::okay_to_variablize, preference_struct::on_goal_list, identifier_struct::operator_slot, parent_inst, POP_CONTEXT_STACK_CALLBACK, post_link_addition(), post_link_removal(), wme_struct::preference, preference, slot_struct::preferences, identifier_struct::preferences_from_goal, instantiation_struct::preferences_generated, pi_struct::prev, condition_struct::prev, instantiation_struct::prev, print(), print_instantiation_with_wmes(), print_lowest_slot_in_context_stack(), print_preference(), print_stack_trace(), print_with_symbols(), print_wme(), probabilistically_select(), instantiation_struct::prod, bt_info_struct::prohibits, preference_struct::referent, REMOVE_ATTRIBUTE_IMPASSE_CALLBACK, remove_existing_attribute_impasse_for_slot(), remove_existing_context_and_descendents(), remove_garbage_slots(), remove_preference_from_clones(), remove_preference_from_tm(), remove_wme_from_wm(), remove_wme_list_from_wm(), remove_wmes_for_context_slot(), require_preference_semantics(), instantiation_struct::rete_token, instantiation_struct::rete_wme, run_preference_semantics_for_consistency_check(), ask_cb_data_st::selection, set_sysparam(), preference_struct::slot, slot, soar_agent, soar_apiAskCallbackData, soar_call_data, soar_ecGDSPrint(), soar_exists_callback(), soar_invoke_callbacks(), soar_invoke_first_callback(), start_timer(), stop_timer(), preference_struct::sum_of_probability, Symbol, symbol_common_data_struct::symbol_type, condition_struct::test_for_acceptable_preference, condition_struct::condition_main_data_union::tests, instantiation_struct::top_of_instantiated_conditions, preference_struct::total_preferences_for_candidate, bt_info_struct::trace, condition_struct::type, type_of_existing_impasse(), uniquely_add_to_head_of_dll(), int_constant_struct::value, float_constant_struct::value, wme_struct::value, preference_struct::value, three_field_tests_struct::value_test, WAIT_CALLBACK, bt_info_struct::wme, wme, slot_struct::wmes, and gds_struct::wmes_in_gds.

void soar_ecGDSPrint  ) 
 

Definition at line 346 of file soar_ecore_api.c.

Referenced by run_preference_semantics(), and soar_GDSPrint().

void uniquely_add_to_head_of_dll instantiation inst  ) 
 

Referenced by run_preference_semantics().

void walk_and_update_levels Symbol id  ) 
 

Definition at line 639 of file decide.c.

References preference_struct::all_of_slot_next, slot_struct::all_preferences, dl_cons, symbol_union::id, slot_struct::impasse_id, identifier_struct::input_wmes, identifier_struct::level, slot_struct::next, wme_struct::next, preference, identifier_struct::promotion_level, preference_struct::referent, slot, identifier_struct::slots, Symbol, identifier_struct::tc_num, preference_struct::type, identifier_struct::unknown_level, preference_struct::value, wme_struct::value, wme, and slot_struct::wmes.

Referenced by do_demotion().


Generated on Thu Dec 11 13:00:26 2003 for Soar Kernel by doxygen 1.3.5