GNU PROLOG with UTF8 support
if_no_fd.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------*
2  * GNU Prolog *
3  * *
4  * Part : Prolog engine *
5  * File : if_no_fd.h *
6  * Descr.: FD interface for Prolog engine - header file *
7  * Author: Daniel Diaz *
8  * *
9  * Copyright (C) 1999-2015 Daniel Diaz *
10  * *
11  * This file is part of GNU Prolog *
12  * *
13  * GNU Prolog is free software: you can redistribute it and/or *
14  * modify it under the terms of either: *
15  * *
16  * - the GNU Lesser General Public License as published by the Free *
17  * Software Foundation; either version 3 of the License, or (at your *
18  * option) any later version. *
19  * *
20  * or *
21  * *
22  * - the GNU General Public License as published by the Free *
23  * Software Foundation; either version 2 of the License, or (at your *
24  * option) any later version. *
25  * *
26  * or both in parallel, as here. *
27  * *
28  * GNU Prolog is distributed in the hope that it will be useful, *
29  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
31  * General Public License for more details. *
32  * *
33  * You should have received copies of the GNU General Public License and *
34  * the GNU Lesser General Public License along with this program. If *
35  * not, see http://www.gnu.org/licenses/. *
36  *-------------------------------------------------------------------------*/
37 
38 
39 /*---------------------------------*
40  * Constants *
41  *---------------------------------*/
42 
43 /*---------------------------------*
44  * Type Definitions *
45  *---------------------------------*/
46 
47 /*---------------------------------*
48  * Global Variables *
49  *---------------------------------*/
50 
51 #ifdef IF_NO_FD_FILE
52 
53 
54 void (*pl_fd_init_solver) (); /* overwritten by FD if present */
55 void (*pl_fd_reset_solver) ();
56 
59 int (*pl_fd_variable_size) ();
60 int (*pl_fd_copy_variable) ();
61 char *(*pl_fd_variable_to_string) ();
62 
63 #else
64 
65 extern void (*pl_fd_init_solver) ();
66 extern void (*pl_fd_reset_solver) ();
67 extern Bool (*pl_fd_unify_with_integer) ();
68 extern Bool (*pl_fd_unify_with_fd_var) ();
69 extern int (*pl_fd_variable_size) ();
70 extern int (*pl_fd_copy_variable) ();
71 extern char *(*pl_fd_variable_to_string) ();
72 
73 #endif
74 
75 
76 
77 
78 /*---------------------------------*
79  * Function Prototypes *
80  *---------------------------------*/
81 
82 void Pl_Fd_Init_Solver(void);
83 
84 void Pl_Fd_Reset_Solver(void);
85 
86 #define Fd_Unify_With_Integer(f, n) ((*pl_fd_unify_with_integer)(f, n))
87 
88 #define Fd_Unify_With_Fd_Var(f1, f2)((*pl_fd_unify_with_fd_var)(f1, f2))
89 
90 #define Fd_Variable_Size(f) ((*pl_fd_variable_size)(f))
91 
92 #define Fd_Copy_Variable(dst_adr, f)((*pl_fd_copy_variable)(dst_adr, f))
93 
94 #define Fd_Variable_To_String(f) ((*pl_fd_variable_to_string)(f))
void Pl_Fd_Init_Solver(void)
Definition: if_no_fd.c:82
void Pl_Fd_Reset_Solver(void)
Definition: if_no_fd.c:105
void(* pl_fd_reset_solver)()
Definition: fd_inst.c:178
void(* pl_fd_init_solver)()
Definition: fd_inst.c:177
Bool(* pl_fd_unify_with_fd_var)()
int(* pl_fd_copy_variable)()
int(* pl_fd_variable_size)()
Bool(* pl_fd_unify_with_integer)()
int Bool
Definition: bool.h:65