1 2#include <dlfcn.h> 3 4extern void p_get_threshold(); 5extern void p_set_threshold(); 6extern void create_ic_attr(); 7extern void make_ic_var_attr(); 8extern void get_var_info(); 9extern void make_var_info(); 10extern void get_var_info_from_attr(); 11extern void set_type_integral(); 12extern void ic_lwb(); 13extern void p_ic_impose_min(); 14extern void ic_upb(); 15extern void p_ic_impose_max(); 16extern void p_ic_impose_bounds(); 17extern void make_constrained_ic_var(); 18extern void p_make_bool(); 19extern void set_integral(); 20extern void p_set_var_integer(); 21extern void set_up_exclude_delayed_goal(); 22extern void ic_exclude(); 23extern void p_ic_exclude(); 24extern void set_up_exclude_range_delayed_goal(); 25extern void ic_exclude_range(); 26extern void p_ic_exclude_range(); 27extern void impose_coef_bounds(); 28extern void solve_equal(); 29extern void solve_not_equal(); 30extern void update_con_data_buf(); 31extern void con_struct_vec_to_con_info(); 32extern void finish_setting_up_con_struct(); 33extern void swap_entries(); 34extern void update_ef(); 35extern void evaluate_reified(); 36extern void check_ic_0v_con(); 37extern void prop_ic_1v_con(); 38extern void prop_pass_1(); 39extern void prop_pass_2(); 40extern void prop_ic_neq_con(); 41extern void short_cuts(); 42extern void sync_attr_with_new_bitmap(); 43extern void p_ac_eq_init(); 44extern void p_ac_eq_prop(); 45extern void p_prop_ic_con(); 46extern void type_check_lin_terms(); 47extern void setup_pass_1(); 48extern void process_lin_terms_to_vectors_and_prop(); 49extern void setup_1v_con(); 50extern void p_set_up_ic_con(); 51extern void p_get_print_info(); 52extern void p_ic_init(); 53extern void p_ic_constraints_init(); 54extern void p_get_ic_attr(); 55extern void unify_integer_bounds(); 56extern void p_get_bounds(); 57extern void p_get_integer_bounds1(); 58extern void p_get_domain_size(); 59extern void unify_number_ic(); 60extern void unify_ic_ic(); 61extern void p_unify_ic(); 62extern void p_indomain_init(); 63extern void p_indomain_try(); 64extern void bit_count(); 65extern void lsb(); 66extern void msb(); 67extern void p_create_bitmap(); 68extern void create_bitmap(); 69extern void p_set_bitmap_lwb(); 70extern void set_bitmap_lwb(); 71extern void p_set_bitmap_upb(); 72extern void set_bitmap_upb(); 73extern void p_remove_bitmap_element(); 74extern void remove_bitmap_element(); 75extern void p_remove_bitmap_range(); 76extern void remove_bitmap_range(); 77extern void p_bitmap_intersect_into(); 78extern void bitmap_intersect_into(); 79extern void p_bitmap_shifted_intersect_into(); 80extern void bitmap_shifted_intersect_into(); 81extern void p_bitmaps_have_non_empty_intersection(); 82extern void bitmaps_have_non_empty_intersection(); 83extern void p_bitmap_union(); 84extern void bitmap_union(); 85extern void p_copy_bitmap(); 86extern void copy_bitmap(); 87extern void p_copy_bitmap_shifted(); 88extern void copy_bitmap_shifted(); 89extern void p_bitmap_range(); 90extern void bitmap_range(); 91extern void p_get_bitmap_lwb(); 92extern void get_bitmap_lwb(); 93extern void p_get_bitmap_upb(); 94extern void get_bitmap_upb(); 95extern void p_next_greater_member(); 96extern void next_greater_member(); 97extern void p_next_smaller_member(); 98extern void next_smaller_member(); 99extern void p_next_greater_non_member(); 100extern void next_greater_non_member(); 101extern void p_next_smaller_non_member(); 102extern void next_smaller_non_member(); 103extern void p_bitmap_size(); 104extern void bitmap_size(); 105extern void p_bitmap_contains(); 106extern void bitmap_contains(); 107extern void p_bitmap_contains_range(); 108extern void bitmap_contains_range(); 109extern void p_compare_bitmaps(); 110extern void compare_bitmaps(); 111extern void ec_init_ef(); 112extern void ec_init_task(); 113extern void ec_ef_disj(); 114extern void ec_ef_cum(); 115extern void ec_ef_quad(); 116extern void ec_regcomp(); 117extern void ec_regmatch(); 118extern void ec_regmatch4(); 119extern void ec_regmatchsub(); 120extern void ec_regmatchall(); 121extern void ec_regsplit(); 122 123 124struct function_entry funcs[] = { 125 126{.name="p_get_threshold",.f=p_get_threshold}, 127{.name="p_set_threshold",.f=p_set_threshold}, 128{.name="create_ic_attr",.f=create_ic_attr}, 129{.name="make_ic_var_attr",.f=make_ic_var_attr}, 130{.name="get_var_info",.f=get_var_info}, 131{.name="make_var_info",.f=make_var_info}, 132{.name="get_var_info_from_attr",.f=get_var_info_from_attr}, 133{.name="set_type_integral",.f=set_type_integral}, 134{.name="ic_lwb",.f=ic_lwb}, 135{.name="p_ic_impose_min",.f=p_ic_impose_min}, 136{.name="ic_upb",.f=ic_upb}, 137{.name="p_ic_impose_max",.f=p_ic_impose_max}, 138{.name="p_ic_impose_bounds",.f=p_ic_impose_bounds}, 139{.name="make_constrained_ic_var",.f=make_constrained_ic_var}, 140{.name="p_make_bool",.f=p_make_bool}, 141{.name="set_integral",.f=set_integral}, 142{.name="p_set_var_integer",.f=p_set_var_integer}, 143{.name="set_up_exclude_delayed_goal",.f=set_up_exclude_delayed_goal}, 144{.name="ic_exclude",.f=ic_exclude}, 145{.name="p_ic_exclude",.f=p_ic_exclude}, 146{.name="set_up_exclude_range_delayed_goal",.f=set_up_exclude_range_delayed_goal}, 147{.name="ic_exclude_range",.f=ic_exclude_range}, 148{.name="p_ic_exclude_range",.f=p_ic_exclude_range}, 149{.name="impose_coef_bounds",.f=impose_coef_bounds}, 150{.name="solve_equal",.f=solve_equal}, 151{.name="solve_not_equal",.f=solve_not_equal}, 152{.name="update_con_data_buf",.f=update_con_data_buf}, 153{.name="con_struct_vec_to_con_info",.f=con_struct_vec_to_con_info}, 154{.name="finish_setting_up_con_struct",.f=finish_setting_up_con_struct}, 155{.name="swap_entries",.f=swap_entries}, 156{.name="update_ef",.f=update_ef}, 157{.name="evaluate_reified",.f=evaluate_reified}, 158{.name="check_ic_0v_con",.f=check_ic_0v_con}, 159{.name="prop_ic_1v_con",.f=prop_ic_1v_con}, 160{.name="prop_pass_1",.f=prop_pass_1}, 161{.name="prop_pass_2",.f=prop_pass_2}, 162{.name="prop_ic_neq_con",.f=prop_ic_neq_con}, 163{.name="short_cuts",.f=short_cuts}, 164{.name="sync_attr_with_new_bitmap",.f=sync_attr_with_new_bitmap}, 165{.name="p_ac_eq_init",.f=p_ac_eq_init}, 166{.name="p_ac_eq_prop",.f=p_ac_eq_prop}, 167{.name="p_prop_ic_con",.f=p_prop_ic_con}, 168{.name="type_check_lin_terms",.f=type_check_lin_terms}, 169{.name="setup_pass_1",.f=setup_pass_1}, 170{.name="process_lin_terms_to_vectors_and_prop",.f=process_lin_terms_to_vectors_and_prop}, 171{.name="setup_1v_con",.f=setup_1v_con}, 172{.name="p_set_up_ic_con",.f=p_set_up_ic_con}, 173{.name="p_get_print_info",.f=p_get_print_info}, 174{.name="p_ic_init",.f=p_ic_init}, 175{.name="p_ic_constraints_init",.f=p_ic_constraints_init}, 176{.name="p_get_ic_attr",.f=p_get_ic_attr}, 177{.name="unify_integer_bounds",.f=unify_integer_bounds}, 178{.name="p_get_bounds",.f=p_get_bounds}, 179{.name="p_get_integer_bounds1",.f=p_get_integer_bounds1}, 180{.name="p_get_domain_size",.f=p_get_domain_size}, 181{.name="unify_number_ic",.f=unify_number_ic}, 182{.name="unify_ic_ic",.f=unify_ic_ic}, 183{.name="p_unify_ic",.f=p_unify_ic}, 184{.name="p_indomain_init",.f=p_indomain_init}, 185{.name="p_indomain_try",.f=p_indomain_try}, 186{.name="bit_count",.f=bit_count}, 187{.name="lsb",.f=lsb}, 188{.name="msb",.f=msb}, 189{.name="p_create_bitmap",.f=p_create_bitmap}, 190{.name="create_bitmap",.f=create_bitmap}, 191{.name="p_set_bitmap_lwb",.f=p_set_bitmap_lwb}, 192{.name="set_bitmap_lwb",.f=set_bitmap_lwb}, 193{.name="p_set_bitmap_upb",.f=p_set_bitmap_upb}, 194{.name="set_bitmap_upb",.f=set_bitmap_upb}, 195{.name="p_remove_bitmap_element",.f=p_remove_bitmap_element}, 196{.name="remove_bitmap_element",.f=remove_bitmap_element}, 197{.name="p_remove_bitmap_range",.f=p_remove_bitmap_range}, 198{.name="remove_bitmap_range",.f=remove_bitmap_range}, 199{.name="p_bitmap_intersect_into",.f=p_bitmap_intersect_into}, 200{.name="bitmap_intersect_into",.f=bitmap_intersect_into}, 201{.name="p_bitmap_shifted_intersect_into",.f=p_bitmap_shifted_intersect_into}, 202{.name="bitmap_shifted_intersect_into",.f=bitmap_shifted_intersect_into}, 203{.name="p_bitmaps_have_non_empty_intersection",.f=p_bitmaps_have_non_empty_intersection}, 204{.name="bitmaps_have_non_empty_intersection",.f=bitmaps_have_non_empty_intersection}, 205{.name="p_bitmap_union",.f=p_bitmap_union}, 206{.name="bitmap_union",.f=bitmap_union}, 207{.name="p_copy_bitmap",.f=p_copy_bitmap}, 208{.name="copy_bitmap",.f=copy_bitmap}, 209{.name="p_copy_bitmap_shifted",.f=p_copy_bitmap_shifted}, 210{.name="copy_bitmap_shifted",.f=copy_bitmap_shifted}, 211{.name="p_bitmap_range",.f=p_bitmap_range}, 212{.name="bitmap_range",.f=bitmap_range}, 213{.name="p_get_bitmap_lwb",.f=p_get_bitmap_lwb}, 214{.name="get_bitmap_lwb",.f=get_bitmap_lwb}, 215{.name="p_get_bitmap_upb",.f=p_get_bitmap_upb}, 216{.name="get_bitmap_upb",.f=get_bitmap_upb}, 217{.name="p_next_greater_member",.f=p_next_greater_member}, 218{.name="next_greater_member",.f=next_greater_member}, 219{.name="p_next_smaller_member",.f=p_next_smaller_member}, 220{.name="next_smaller_member",.f=next_smaller_member}, 221{.name="p_next_greater_non_member",.f=p_next_greater_non_member}, 222{.name="next_greater_non_member",.f=next_greater_non_member}, 223{.name="p_next_smaller_non_member",.f=p_next_smaller_non_member}, 224{.name="next_smaller_non_member",.f=next_smaller_non_member}, 225{.name="p_bitmap_size",.f=p_bitmap_size}, 226{.name="bitmap_size",.f=bitmap_size}, 227{.name="p_bitmap_contains",.f=p_bitmap_contains}, 228{.name="bitmap_contains",.f=bitmap_contains}, 229{.name="p_bitmap_contains_range",.f=p_bitmap_contains_range}, 230{.name="bitmap_contains_range",.f=bitmap_contains_range}, 231{.name="p_compare_bitmaps",.f=p_compare_bitmaps}, 232{.name="compare_bitmaps",.f=compare_bitmaps}, 233{.name="ec_init_ef",.f=ec_init_ef}, 234{.name="ec_init_task",.f=ec_init_task}, 235{.name="ec_ef_disj",.f=ec_ef_disj}, 236{.name="ec_ef_cum",.f=ec_ef_cum}, 237{.name="ec_ef_quad",.f=ec_ef_quad}, 238{.name="ec_regcomp",.f=ec_regcomp}, 239{.name="ec_regmatch",.f=ec_regmatch}, 240{.name="ec_regmatch4",.f=ec_regmatch4}, 241{.name="ec_regmatchsub",.f=ec_regmatchsub}, 242{.name="ec_regmatchall",.f=ec_regmatchall}, 243{.name="ec_regsplit",.f=ec_regsplit}, 244}; 245