![]() |
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 |