acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
logic.h
1
#pragma once
2
3
4
#define CONDITIONAL(p,q) \
5
(!(p) || q)
6
7
inline
bool
_xor(
bool
b1,
bool
b2)
8
{
9
return
(!b1 && b2) || (b1 && !b2);
10
}
11
12
inline
bool
is_different(
i32_boolean
b1,
i32_boolean
b2)
13
{
14
return
_xor(b1, b2);
15
}
16
17
18
inline
bool
default_equivalence_sink(
bool
b)
19
{
20
21
return
!!b;
22
23
}
24
25
26
inline
bool
is_lesser(
bool
b1,
bool
b2)
27
{
28
return
!b1 && b2;
29
}
30
31
inline
bool
is_lesser_or_equal(
bool
b1,
bool
b2)
32
{
33
return
!(b1 && b2);
34
}
35
36
inline
bool
is_greater_or_equal(
bool
b1,
bool
b2)
37
{
38
return
!b1 || b2;
39
}
40
41
inline
bool
is_greater(
bool
b1,
bool
b2)
42
{
43
return
b1 && !b2;
44
}
45
46
47
inline
bool
conditional(
bool
p,
bool
q)
48
{
49
return
is_greater_or_equal(p, q);
50
}
51
52
#define if_then(p, q) ((!(p))||((q)))
53
54
#define safe_int_bool(b) ((b) ? 1 : 0)
i32_boolean
Definition
boolean.h:7
prototype
prototype
logic.h
Generated by
1.17.0