Skip to content

Commit d51b558

Browse files
committed
Copy of the original Metric-FF-v2.1.
Downloaded and extracted from https://fai.cs.uni-saarland.de/hoffmann/ff/Metric-FF-v2.1.tgz Linked from https://fai.cs.uni-saarland.de/hoffmann/metric-ff.html
1 parent 82026eb commit d51b558

27 files changed

+27565
-0
lines changed

expressions.c

+2,623
Large diffs are not rendered by default.

expressions.h

+106
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
/*********************************************************************
2+
*
3+
* This program is free software; you can redistribute it and/or
4+
* modify it under the terms of the GNU General Public License
5+
* as published by the Free Software Foundation; either version 2
6+
* of the License, or (at your option) any later version.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program; if not, write to the Free Software
15+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
16+
*
17+
*********************************************************************/
18+
19+
20+
21+
22+
/*********************************************************************
23+
* File: expressions.h
24+
* Description: headers for handling numerical expressions
25+
*
26+
* Author: Joerg Hoffmann 2001
27+
*
28+
*********************************************************************/
29+
30+
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+
42+
43+
#ifndef _EXPRESSIONS_H
44+
#define _EXPRESSIONS_H
45+
46+
47+
48+
49+
Bool number_comparison_holds( Comparator c, float l, float r );
50+
51+
52+
53+
Bool transform_to_LNF( void );
54+
Bool is_linear_task( void );
55+
Bool is_linear_expression( ExpNode *n );
56+
void print_lnf_representation( void );
57+
58+
59+
60+
void normalize_expressions( void );
61+
Bool translate_divisions( ExpNode **n );
62+
void push_multiplications_down( ExpNode **n );
63+
void put_comp_into_normalized_locals( Comparator comp,
64+
ExpNode *lh,
65+
ExpNode *rh );
66+
void collect_normalized_locals( ExpNode *n, Bool positive );
67+
68+
69+
70+
void translate_subtractions( void );
71+
Bool ex_fl_in_nF_of_pre_cond_eff_goal( int *fl );
72+
void introduce_minus_fluent( int fl );
73+
void replace_fl_in_nF_with_minus_fl( int fl );
74+
void set_minus_fl_initial( int fl );
75+
void introduce_minus_fl_effects( int fl );
76+
77+
78+
79+
void summarize_effects( void );
80+
Bool same_condition( ActionEffect *e, ActionEffect *e_ );
81+
Bool same_lnfs( LnfExpNode *l, LnfExpNode *r );
82+
void merge_effects( ActionEffect *e, ActionEffect *e_ );
83+
void merge_lnfs( LnfExpNode *l, LnfExpNode *r );
84+
85+
86+
87+
void encode_lfns_as_artificial_fluents( void );
88+
Bool ex_non_minimal_lnf_in_pre_cond_goal_eff( void );
89+
void introduce_artificial_fluent( void );
90+
void replace_non_minimal_lnf_with_artificial_fl( void );
91+
Bool is_artificial_fluent( LnfExpNode *n );
92+
93+
94+
95+
Bool setup_effect_costs( void );
96+
97+
98+
99+
void check_assigncycles( void );
100+
Bool i_influences_j( int fi, int fj );
101+
void determine_fl_relevance( void );
102+
Bool i_inc_influences_j( int fi, int fj );
103+
104+
105+
106+
#endif /* _EXPRESSIONS_H */

0 commit comments

Comments
 (0)