8
8
9
9
#include " functions.h"
10
10
11
- #include < util/std_types.h>
12
11
#include < util/std_expr.h>
12
+ #include < util/std_types.h>
13
13
14
- void functionst::record (
15
- const function_application_exprt &function_application)
14
+ void functionst::record (const function_application_exprt &function_application)
16
15
{
17
- function_map[function_application.function ()].applications .
18
- insert ( function_application);
16
+ function_map[function_application.function ()].applications .insert (
17
+ function_application);
19
18
}
20
19
21
20
void functionst::add_function_constraints ()
22
21
{
23
- for (function_mapt::const_iterator it=
24
- function_map.begin ();
25
- it!=function_map.end ();
22
+ for (function_mapt::const_iterator it = function_map.begin ();
23
+ it != function_map.end ();
26
24
it++)
27
25
add_function_constraints (it->second );
28
26
}
29
27
30
- exprt functionst::arguments_equal (const exprt::operandst &o1,
31
- const exprt::operandst &o2)
28
+ exprt functionst::arguments_equal (
29
+ const exprt::operandst &o1,
30
+ const exprt::operandst &o2)
32
31
{
33
32
PRECONDITION (o1.size () == o2.size ());
34
33
35
34
exprt::operandst conjuncts;
36
35
conjuncts.reserve (o1.size ());
37
36
38
- for (std::size_t i= 0 ; i< o1.size (); i++)
37
+ for (std::size_t i = 0 ; i < o1.size (); i++)
39
38
{
40
- exprt lhs= o1[i];
39
+ exprt lhs = o1[i];
41
40
exprt rhs = typecast_exprt::conditional_cast (o2[i], o1[i].type ());
42
41
conjuncts.push_back (equal_exprt (lhs, rhs));
43
42
}
@@ -50,21 +49,20 @@ void functionst::add_function_constraints(const function_infot &info)
50
49
// Do Ackermann's function reduction.
51
50
// This is quadratic, slow, and needs to be modernized.
52
51
53
- for (std::set<function_application_exprt>::const_iterator
54
- it1= info.applications .begin ();
55
- it1!= info.applications .end ();
52
+ for (std::set<function_application_exprt>::const_iterator it1 =
53
+ info.applications .begin ();
54
+ it1 != info.applications .end ();
56
55
it1++)
57
56
{
58
- for (std::set<function_application_exprt>::const_iterator
59
- it2= info.applications .begin ();
60
- it2!= it1;
57
+ for (std::set<function_application_exprt>::const_iterator it2 =
58
+ info.applications .begin ();
59
+ it2 != it1;
61
60
it2++)
62
61
{
63
- exprt arguments_equal_expr=
62
+ exprt arguments_equal_expr =
64
63
arguments_equal (it1->arguments (), it2->arguments ());
65
64
66
- implies_exprt implication (arguments_equal_expr,
67
- equal_exprt (*it1, *it2));
65
+ implies_exprt implication (arguments_equal_expr, equal_exprt (*it1, *it2));
68
66
69
67
decision_procedure.set_to_true (implication);
70
68
}
0 commit comments