GNU PROLOG with UTF8 support
Data Structures | Macros | Functions | Variables
arith_inl_c.c File Reference
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "engine_pl.h"
#include "bips_pl.h"
Include dependency graph for arith_inl_c.c:

Data Structures

struct  ArithInf
 

Macros

#define OBJ_INIT   Arith_Initializer
 
#define M_PI   3.1415926535897932384
 
#define M_E   2.7182818284590452354
 
#define DBL_EPSILON   2.2204460492503131e-16 /* C double (64 bits IEEE encoding) */
 
#define START_ARITH_TBL_SIZE   64
 
#define ADD_ARITH_OPER(atom_str, arity, f)
 
#define C_Neg(x)   (- (x))
 
#define C_Add(x, y)   ((x) + (y))
 
#define C_Sub(x, y)   ((x) - (y))
 
#define C_Mul(x, y)   ((x) * (y))
 
#define C_Div(x, y)   ((y) != 0 ? (x) / (y) : (Pl_Err_Evaluation(pl_evluation_zero_divisor), 0))
 
#define Identity(x)   (x)
 
#define DInc(x)   ((x) + 1)
 
#define DDec(x)   ((x) - 1)
 
#define DSign(x)   ((x) < 0.0 ? -1.0 : (x) > 0.0 ? 1.0 : 0.0)
 
#define DInteg(x)   (((x) > 0) ? floor(x) : ceil(x))
 
#define DFract(x)   ((x) - DInteg(x))
 
#define Log_Radix(b, x)   (log(x) / log(b))
 
#define X_and_Y_are_INT(x, y)   Tag_Is_INT(x & y)
 
#define IFxIFtoIF(x, y, c_op, fast_op)
 
#define IFxIFtoF(x, y, c_op)   return Make_Tagged_Float(c_op(To_Double(x), To_Double(y)))
 
#define IxItoI(x, y, fast_op)
 
#define IFtoIF(x, c_op, fast_op)
 
#define ItoI(x, fast_op)
 
#define IFtoF(x, c_op)   return Make_Tagged_Float(c_op(To_Double(x)))
 
#define FtoI(x, c_op)
 
#define FtoF(x, c_op)
 
#define Cmp_IFxIF(x, y, c_op, fast_op)
 

Functions

static WamWord Make_Tagged_Float (double d)
 
static double To_Double (WamWord x)
 
static WamWord Load_Math_Expression (WamWord exp)
 
static void Arith_Initializer (void)
 
void Pl_Define_Math_Bip_2 (WamWord func_word, WamWord arity_word)
 
void FC Pl_Math_Load_Value (WamWord start_word, WamWord *word_adr)
 
void FC Pl_Math_Fast_Load_Value (WamWord start_word, WamWord *word_adr)
 
Bool Pl_Arith_Eval_2 (WamWord exp_word, WamWord x_word)
 
Bool Pl_Succ_2 (WamWord x_word, WamWord y_word)
 
WamWord FC Pl_Fct_Fast_Neg (WamWord x)
 
WamWord FC Pl_Fct_Fast_Inc (WamWord x)
 
WamWord FC Pl_Fct_Fast_Dec (WamWord x)
 
WamWord FC Pl_Fct_Fast_Add (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Sub (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Mul (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Div (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Rem (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Mod (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Div2 (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_And (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Or (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Xor (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Not (WamWord x)
 
WamWord FC Pl_Fct_Fast_Shl (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Shr (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_LSB (WamWord x)
 
WamWord FC Pl_Fct_Fast_MSB (WamWord x)
 
WamWord FC Pl_Fct_Fast_Popcount (WamWord x)
 
WamWord FC Pl_Fct_Fast_Abs (WamWord x)
 
WamWord FC Pl_Fct_Fast_Sign (WamWord x)
 
WamWord FC Pl_Fct_Fast_GCD (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Fast_Integer_Pow (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Neg (WamWord x)
 
WamWord FC Pl_Fct_Inc (WamWord x)
 
WamWord FC Pl_Fct_Dec (WamWord x)
 
WamWord FC Pl_Fct_Add (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Sub (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Mul (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Div (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Float_Div (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Rem (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Mod (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Div2 (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_And (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Or (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Xor (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Not (WamWord x)
 
WamWord FC Pl_Fct_Shl (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Shr (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_LSB (WamWord x)
 
WamWord FC Pl_Fct_MSB (WamWord x)
 
WamWord FC Pl_Fct_Popcount (WamWord x)
 
WamWord FC Pl_Fct_Abs (WamWord x)
 
WamWord FC Pl_Fct_Sign (WamWord x)
 
WamWord FC Pl_Fct_GCD (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Min (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Max (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Integer_Pow (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Pow (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Sqrt (WamWord x)
 
WamWord FC Pl_Fct_Tan (WamWord x)
 
WamWord FC Pl_Fct_Atan (WamWord x)
 
WamWord FC Pl_Fct_Atan2 (WamWord x, WamWord y)
 
WamWord FC Pl_Fct_Cos (WamWord x)
 
WamWord FC Pl_Fct_Acos (WamWord x)
 
WamWord FC Pl_Fct_Sin (WamWord x)
 
WamWord FC Pl_Fct_Asin (WamWord x)
 
WamWord FC Pl_Fct_Tanh (WamWord x)
 
WamWord FC Pl_Fct_Atanh (WamWord x)
 
WamWord FC Pl_Fct_Cosh (WamWord x)
 
WamWord FC Pl_Fct_Acosh (WamWord x)
 
WamWord FC Pl_Fct_Sinh (WamWord x)
 
WamWord FC Pl_Fct_Asinh (WamWord x)
 
WamWord FC Pl_Fct_Exp (WamWord x)
 
WamWord FC Pl_Fct_Log (WamWord x)
 
WamWord FC Pl_Fct_Log10 (WamWord x)
 
WamWord FC Pl_Fct_Log_Radix (WamWord b, WamWord x)
 
WamWord FC Pl_Fct_Float (WamWord x)
 
WamWord FC Pl_Fct_Ceiling (WamWord x)
 
WamWord FC Pl_Fct_Floor (WamWord x)
 
WamWord FC Pl_Fct_Round (WamWord x)
 
WamWord FC Pl_Fct_Truncate (WamWord x)
 
WamWord FC Pl_Fct_Float_Fract_Part (WamWord x)
 
WamWord FC Pl_Fct_Float_Integ_Part (WamWord x)
 
WamWord FC Pl_Fct_PI (void)
 
WamWord FC Pl_Fct_E (void)
 
WamWord FC Pl_Fct_Epsilon (void)
 
WamWord FC Pl_Fct_Identity (WamWord x)
 
Bool FC Pl_Blt_Fast_Eq (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Fast_Neq (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Fast_Lt (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Fast_Lte (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Fast_Gt (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Fast_Gte (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Eq (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Neq (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Lt (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Lte (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Gt (WamWord x, WamWord y)
 
Bool FC Pl_Blt_Gte (WamWord x, WamWord y)
 

Variables

static char * arith_tbl
 
static int atom_pi
 
static int atom_e
 
static int atom_epsilon
 

Macro Definition Documentation

#define ADD_ARITH_OPER (   atom_str,
  arity,
  f 
)
Value:
arith_info.f_n = Functor_Arity(Pl_Create_Atom(atom_str), arity); \
arith_info.fct = f; \
Pl_Hash_Insert(arith_tbl, (char *) &arith_info, FALSE)
static char * arith_tbl
Definition: arith_inl_c.c:103
#define FALSE
Definition: bool.h:49
char * Pl_Hash_Insert(char *tbl, char *elem, int replace)
Definition: hash.c:262
#define Functor_Arity(f, n)
Definition: wam_inst.h:138
FILE * f
Definition: sparc64-setx.c:6
int Pl_Create_Atom(char *name)
Definition: atom.c:219
#define C_Add (   x,
  y 
)    ((x) + (y))
#define C_Div (   x,
  y 
)    ((y) != 0 ? (x) / (y) : (Pl_Err_Evaluation(pl_evluation_zero_divisor), 0))
#define C_Mul (   x,
  y 
)    ((x) * (y))
#define C_Neg (   x)    (- (x))
#define C_Sub (   x,
  y 
)    ((x) - (y))
#define Cmp_IFxIF (   x,
  y,
  c_op,
  fast_op 
)
Value:
return (X_and_Y_are_INT(x, y)) \
? fast_op(x, y) \
: (To_Double(x) c_op To_Double(y))
static double To_Double(WamWord x)
Definition: arith_inl_c.c:285
int y
Definition: asm_inst.c:44
PlLong x
Definition: chkma.c:99
#define X_and_Y_are_INT(x, y)
Definition: arith_inl_c.c:441
#define DBL_EPSILON   2.2204460492503131e-16 /* C double (64 bits IEEE encoding) */
#define DDec (   x)    ((x) - 1)
#define DFract (   x)    ((x) - DInteg(x))
#define DInc (   x)    ((x) + 1)
#define DInteg (   x)    (((x) > 0) ? floor(x) : ceil(x))
#define DSign (   x)    ((x) < 0.0 ? -1.0 : (x) > 0.0 ? 1.0 : 0.0)
#define FtoF (   x,
  c_op 
)
Value:
double d; \
if (Tag_Is_INT(x)) /* error case */ \
{ \
\
return x; /* for clang (avoid d uninit) */ \
} \
d = Pl_Obtain_Float(UnTag_FLT(x)); \
return Make_Tagged_Float(c_op(d))
double d
Definition: asm.c:27
static WamWord Make_Tagged_Float(double d)
Definition: arith_inl_c.c:268
void Pl_Err_Type(int atom_type, WamWord term)
Definition: error_supp.c:561
PlLong x
Definition: chkma.c:99
int pl_type_float
double FC Pl_Obtain_Float(WamWord *adr)
Definition: wam_inst.c:1255
#define FtoI (   x,
  c_op 
)
Value:
double d; \
if (Tag_Is_INT(x)) /* error case */ \
{ \
if (Flag_Value(strict_iso)) \
\
return x; \
} \
d = Pl_Obtain_Float(UnTag_FLT(x)); \
return Tag_INT((PlLong) c_op(d))
intptr_t PlLong
Definition: gprolog.h:88
double d
Definition: asm.c:27
void Pl_Err_Type(int atom_type, WamWord term)
Definition: error_supp.c:561
PlLong x
Definition: chkma.c:99
int pl_type_float
double FC Pl_Obtain_Float(WamWord *adr)
Definition: wam_inst.c:1255
#define Flag_Value(f)
Definition: flag_supp.h:139
#define Identity (   x)    (x)
#define IFtoF (   x,
  c_op 
)    return Make_Tagged_Float(c_op(To_Double(x)))
#define IFtoIF (   x,
  c_op,
  fast_op 
)
Value:
return (Tag_Is_INT(x)) ? fast_op(x) : \
static double To_Double(WamWord x)
Definition: arith_inl_c.c:285
static WamWord Make_Tagged_Float(double d)
Definition: arith_inl_c.c:268
PlLong x
Definition: chkma.c:99
#define IFxIFtoF (   x,
  y,
  c_op 
)    return Make_Tagged_Float(c_op(To_Double(x), To_Double(y)))
#define IFxIFtoIF (   x,
  y,
  c_op,
  fast_op 
)
Value:
return (X_and_Y_are_INT(x, y)) \
? fast_op(x, y) \
static double To_Double(WamWord x)
Definition: arith_inl_c.c:285
static WamWord Make_Tagged_Float(double d)
Definition: arith_inl_c.c:268
int y
Definition: asm_inst.c:44
PlLong x
Definition: chkma.c:99
#define X_and_Y_are_INT(x, y)
Definition: arith_inl_c.c:441
#define ItoI (   x,
  fast_op 
)
Value:
if (Tag_Is_FLT(x)) /* error case */ \
return fast_op(x)
int pl_type_integer
void Pl_Err_Type(int atom_type, WamWord term)
Definition: error_supp.c:561
PlLong x
Definition: chkma.c:99
#define IxItoI (   x,
  y,
  fast_op 
)
Value:
if (Tag_Is_FLT(x)) /* error case */ \
if (Tag_Is_FLT(y)) /* error case */ \
return fast_op(x, y)
int pl_type_integer
void Pl_Err_Type(int atom_type, WamWord term)
Definition: error_supp.c:561
int y
Definition: asm_inst.c:44
PlLong x
Definition: chkma.c:99
#define Log_Radix (   b,
  x 
)    (log(x) / log(b))
#define M_E   2.7182818284590452354
#define M_PI   3.1415926535897932384
#define OBJ_INIT   Arith_Initializer
#define START_ARITH_TBL_SIZE   64
#define X_and_Y_are_INT (   x,
  y 
)    Tag_Is_INT(x & y)

Function Documentation

static void Arith_Initializer ( void  )
static
static WamWord Load_Math_Expression ( WamWord  exp)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static WamWord Make_Tagged_Float ( double  d)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Bool Pl_Arith_Eval_2 ( WamWord  exp_word,
WamWord  x_word 
)

Here is the call graph for this function:

Bool FC Pl_Blt_Eq ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool FC Pl_Blt_Fast_Eq ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

Bool FC Pl_Blt_Fast_Gt ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

Bool FC Pl_Blt_Fast_Gte ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

Bool FC Pl_Blt_Fast_Lt ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

Bool FC Pl_Blt_Fast_Lte ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

Bool FC Pl_Blt_Fast_Neq ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

Bool FC Pl_Blt_Gt ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool FC Pl_Blt_Gte ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool FC Pl_Blt_Lt ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool FC Pl_Blt_Lte ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool FC Pl_Blt_Neq ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void Pl_Define_Math_Bip_2 ( WamWord  func_word,
WamWord  arity_word 
)

Here is the call graph for this function:

WamWord FC Pl_Fct_Abs ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Acos ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Acosh ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Add ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_And ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Asin ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Asinh ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Atan ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Atan2 ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Atanh ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Ceiling ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Cos ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Cosh ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Dec ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Div ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Div2 ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_E ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Epsilon ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Exp ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Abs ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Add ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_And ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Dec ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Div ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Div2 ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_GCD ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Inc ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Integer_Pow ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_LSB ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Mod ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_MSB ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Mul ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Neg ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Not ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Or ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Popcount ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Rem ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Shl ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Shr ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Sign ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Sub ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Fast_Xor ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Float ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Float_Div ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Float_Fract_Part ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Float_Integ_Part ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Floor ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_GCD ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Identity ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Inc ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Integer_Pow ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Log ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Log10 ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Log_Radix ( WamWord  b,
WamWord  x 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_LSB ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Max ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Min ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Mod ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_MSB ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Mul ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Neg ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Not ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Or ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_PI ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Popcount ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Pow ( WamWord  x,
WamWord  y 
)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Rem ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Round ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Shl ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Shr ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Sign ( WamWord  x)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Sin ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Sinh ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Sqrt ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Sub ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WamWord FC Pl_Fct_Tan ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Tanh ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Truncate ( WamWord  x)

Here is the caller graph for this function:

WamWord FC Pl_Fct_Xor ( WamWord  x,
WamWord  y 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void FC Pl_Math_Fast_Load_Value ( WamWord  start_word,
WamWord word_adr 
)
void FC Pl_Math_Load_Value ( WamWord  start_word,
WamWord word_adr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Bool Pl_Succ_2 ( WamWord  x_word,
WamWord  y_word 
)

Here is the call graph for this function:

static double To_Double ( WamWord  x)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

char* arith_tbl
static
int atom_e
static
int atom_epsilon
static
int atom_pi
static