GNU PROLOG with UTF8 support
Macros | Functions | Variables
fd_bool_c.c File Reference
#include "engine_pl.h"
#include "bips_pl.h"
#include "engine_fd.h"
#include "bips_fd.h"
Include dependency graph for fd_bool_c.c:

Macros

#define OBJ_INIT   Fd_Bool_Initializer
 
#define BOOL_STACK_SIZE   100000
 
#define VARS_STACK_SIZE   100000
 
#define NOT   0
 
#define EQUIV   1
 
#define NEQUIV   2
 
#define IMPLY   3
 
#define NIMPLY   4
 
#define AND   5
 
#define NAND   6
 
#define OR   7
 
#define NOR   8
 
#define EQ   9 /* warning EQ must have same */
 
#define NEQ   10 /* parity than EQ_F and ZERO */
 
#define LT   11
 
#define GTE   12
 
#define GT   13
 
#define LTE   14
 
#define EQ_F   15
 
#define NEQ_F   16
 
#define LT_F   17
 
#define GTE_F   18
 
#define GT_F   19
 
#define LTE_F   20
 
#define ZERO   21
 
#define ONE   22 /* must be last */
 
#define IsVar(op)   ((op)>=ONE)
 
#define NB_OF_OP   ZERO
 
#define BOOL_CSTR_2(f, a1, a2)
 
#define BOOL_CSTR_3(f, a1, a2, a3)
 

Functions

static WamWordSimplify (int sign, WamWord e_word)
 
static void Add_Fd_Variables (WamWord e_word)
 
static Bool Load_Bool_Into_Word (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Var (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Not (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Equiv (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Nequiv (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Imply (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Nimply (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_And (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Nand (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Or (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Nor (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Eq (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Neq (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Lt (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Lte (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_Zero (WamWord *exp, int result, WamWord *load_word)
 
static Bool Set_One (WamWord *exp, int result, WamWord *load_word)
 
Bool Pl_Fd_Eq_2 (WamWord le_word, WamWord re_word)
 
Bool Pl_Fd_Neq_2 (WamWord le_word, WamWord re_word)
 
Bool Pl_Fd_Lt_2 (WamWord le_word, WamWord re_word)
 
Bool Pl_Fd_Lte_2 (WamWord le_word, WamWord re_word)
 
static void Fd_Bool_Initializer (void)
 
Bool Pl_Fd_Bool_Meta_3 (WamWord le_word, WamWord re_word, WamWord op_word)
 
Bool Pl_Fd_Reified_In (WamWord x_word, WamWord l_word, WamWord u_word, WamWord b_word)
 

Variables

static WamWord bool_tbl [NB_OF_OP]
 
static WamWord bool_xor
 
static WamWord stack [BOOL_STACK_SIZE]
 
static WamWordsp
 
static WamWord vars_tbl [VARS_STACK_SIZE]
 
static WamWordvars_sp
 
static Bool(* func_tbl [NB_OF_OP+2])(WamWord *exp, int result, WamWord *load_word)
 

Macro Definition Documentation

#define AND   5
#define BOOL_CSTR_2 (   f,
  a1,
  a2 
)
Value:
do \
{ \
return FALSE; \
return FALSE; \
PRIM_CSTR_2(f, a1, a2); \
} \
while (0)
#define FALSE
Definition: bool.h:49
#define PRIM_CSTR_2(f, a1, a2)
Definition: math_supp.h:348
Bool Pl_Fd_Check_For_Bool_Var(WamWord x_word)
Definition: fd_inst.c:1597
FILE * f
Definition: sparc64-setx.c:6
#define BOOL_CSTR_3 (   f,
  a1,
  a2,
  a3 
)
Value:
do \
{ \
return FALSE; \
return FALSE; \
/* a3 is OK */ \
PRIM_CSTR_3(f, a1, a2, a3); \
} \
while (0)
#define FALSE
Definition: bool.h:49
Bool Pl_Fd_Check_For_Bool_Var(WamWord x_word)
Definition: fd_inst.c:1597
FILE * f
Definition: sparc64-setx.c:6
#define PRIM_CSTR_3(f, a1, a2, a3)
Definition: math_supp.h:357
#define BOOL_STACK_SIZE   100000
#define EQ   9 /* warning EQ must have same */
#define EQ_F   15
#define EQUIV   1
#define GT   13
#define GT_F   19
#define GTE   12
#define GTE_F   18
#define IMPLY   3
#define IsVar (   op)    ((op)>=ONE)
#define LT   11
#define LT_F   17
#define LTE   14
#define LTE_F   20
#define NAND   6
#define NB_OF_OP   ZERO
#define NEQ   10 /* parity than EQ_F and ZERO */
#define NEQ_F   16
#define NEQUIV   2
#define NIMPLY   4
#define NOR   8
#define NOT   0
#define OBJ_INIT   Fd_Bool_Initializer
#define ONE   22 /* must be last */
#define OR   7
#define VARS_STACK_SIZE   100000
#define ZERO   21

Function Documentation

static void Add_Fd_Variables ( WamWord  e_word)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void Fd_Bool_Initializer ( void  )
static

Here is the call graph for this function:

static Bool Load_Bool_Into_Word ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Bool Pl_Fd_Bool_Meta_3 ( WamWord  le_word,
WamWord  re_word,
WamWord  op_word 
)

Here is the call graph for this function:

Bool Pl_Fd_Eq_2 ( WamWord  le_word,
WamWord  re_word 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool Pl_Fd_Lt_2 ( WamWord  le_word,
WamWord  re_word 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool Pl_Fd_Lte_2 ( WamWord  le_word,
WamWord  re_word 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool Pl_Fd_Neq_2 ( WamWord  le_word,
WamWord  re_word 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool Pl_Fd_Reified_In ( WamWord  x_word,
WamWord  l_word,
WamWord  u_word,
WamWord  b_word 
)

Here is the call graph for this function:

static Bool Set_And ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Eq ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Equiv ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Imply ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Lt ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Lte ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Nand ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Neq ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Nequiv ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Nimply ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Nor ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Not ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_One ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Or ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Var ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Set_Zero ( WamWord exp,
int  result,
WamWord load_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static WamWord * Simplify ( int  sign,
WamWord  e_word 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

WamWord bool_tbl[NB_OF_OP]
static
WamWord bool_xor
static
Bool(* func_tbl[NB_OF_OP + 2])(WamWord *exp, int result, WamWord *load_word)
static
WamWord* sp
static
WamWord stack[BOOL_STACK_SIZE]
static
WamWord* vars_sp
static
WamWord vars_tbl[VARS_STACK_SIZE]
static