![]() |
GNU PROLOG with UTF8 support
|
#include <stdlib.h>#include <stdarg.h>#include <string.h>#include "engine_pl.h"#include "bips_pl.h"#include "engine_fd.h"#include "bips_fd.h"
Data Structures | |
| struct | Monom |
| struct | Poly |
| struct | NonLin |
Functions | |
| static Bool | Load_Left_Right_Rec (Bool optim_eq, WamWord le_word, WamWord re_word, int *mask, WamWord *c_word, WamWord *l_word, WamWord *r_word) |
| static int | Compar_Monom (Monom *m1, Monom *m2) |
| static Bool | Load_Term_Into_Word (WamWord e_word, WamWord *load_word) |
| static WamWord | Push_Delayed_Cstr (int cstr, WamWord a1, WamWord a2, WamWord a3) |
| static void | Add_Monom (Poly *p, int sign, PlLong a, WamWord x_word) |
| static Bool | Add_Multiply_Monom (Poly *p, int sign, Monom *m1, Monom *m2) |
| static Bool | Normalize (WamWord e_word, int sign, Poly *p) |
| static Bool | Load_Poly (int nb_monom, Monom *m, WamWord pref_load_word, WamWord *load_word) |
| static Bool | Load_Poly_Rec (int nb_monom, Monom *m, WamWord load_word) |
| static Bool | Load_Delay_Cstr_Part (void) |
| static void | Math_Supp_Initializer (void) |
| Bool | Pl_Load_Left_Right (Bool optim_eq, WamWord le_word, WamWord re_word, int *mask, PlLong *c, WamWord *l_word, WamWord *r_word) |
| Bool | Pl_Term_Math_Loading (WamWord l_word, WamWord r_word) |
| static Bool | Load_Left_Right_Rec (Bool optim_eq, WamWord le_word, WamWord re_word, int *mask, PlLong *c, WamWord *l_word, WamWord *r_word) |
| Bool | Pl_Fd_Math_Unify_X_Y (WamWord x, WamWord y) |
| Bool | pl_x_eq_c (WamWord x, WamWord c) |
Variables | |
| static WamWord | arith_tbl [NB_OF_OP] |
| static NonLin | delay_cstr_stack [DELAY_CSTR_STACK_SIZE] |
| static NonLin * | delay_sp |
| static WamWord | vars_tbl [VARS_STACK_SIZE] |
| static WamWord * | vars_sp |
| static Bool | sort |
| #define Add_Cst_To_Poly | ( | p, | |
| s, | |||
| w | |||
| ) | (p->c += s * w) |
| #define DC_A_POWER_N_EQ_Y 6 |
| #define DC_ABS_X_MINUS_A_EQ_Z 12 |
| #define DC_ABS_X_MINUS_Y_EQ_Z 13 |
| #define DC_DIV_A_Y_EQ_Z 2 |
| #define DC_DIV_X_A_EQ_Z 3 |
| #define DC_DIV_X_Y_EQ_Z 4 |
| #define DC_MAX_X_A_EQ_Z 10 |
| #define DC_MAX_X_Y_EQ_Z 11 |
| #define DC_MIN_X_A_EQ_Z 8 |
| #define DC_MIN_X_Y_EQ_Z 9 |
| #define DC_QUOT_REM_A_Y_R_EQ_Z 14 |
| #define DC_QUOT_REM_X_A_R_EQ_Z 15 |
| #define DC_QUOT_REM_X_Y_R_EQ_Z 16 |
| #define DC_X2_EQ_Y 0 |
| #define DC_X_POWER_A_EQ_Y 7 |
| #define DC_XY_EQ_Z 1 |
| #define DC_ZERO_POWER_N_EQ_Y 5 |
| #define DELAY_CSTR_STACK_SIZE 1000 |
| #define DEVELOP_TIMES_2 |
| #define DIST_2 9 |
| #define DIV_2 5 |
| #define MATH_SUPP_FILE |
| #define MAX_2 8 |
| #define MAX_COEF_FOR_SORT 100 |
| #define MAX_MONOMS 2000 |
| #define MIN_2 7 |
| #define MINUS_1 2 |
| #define MINUS_2 3 |
| #define NB_OF_OP 13 |
| #define New_Poly | ( | p | ) | ((p).c = (p).nb_monom = 0) |
| #define New_Tagged_Fd_Variable (Tag_REF(Pl_Fd_New_Variable())) |
| #define OBJ_INIT Math_Supp_Initializer |
| #define PLUS_1 0 |
| #define PLUS_2 1 |
| #define POWER_2 6 |
| #define QUOT_2 10 |
| #define QUOT_REM_3 12 |
| #define REM_2 11 |
| #define TIMES_2 4 |
| #define VARS_STACK_SIZE 100000 |





|
static |


|
static |

|
static |

|
static |






|
static |





| Bool Pl_Load_Left_Right | ( | Bool | optim_eq, |
| WamWord | le_word, | ||
| WamWord | re_word, | ||
| int * | mask, | ||
| PlLong * | c, | ||
| WamWord * | l_word, | ||
| WamWord * | r_word | ||
| ) |








|
static |
|
static |
|
static |
|
static |
|
static |
1.8.11