Miasm2
 All Classes Namespaces Files Functions Variables Typedefs Properties Macros
Classes | Functions | Variables
miasm2.core.interval Namespace Reference

Classes

class  interval
 

Functions

def cmp_interval
 

Variables

int INT_EQ = 0
 
int INT_B_IN_A = 1
 
int INT_A_IN_B = -1
 
int INT_DISJOIN = 2
 
int INT_JOIN = 3
 
int INT_JOIN_AB = 4
 
int INT_JOIN_BA = 5
 

Function Documentation

def miasm2.core.interval.cmp_interval (   inter1,
  inter2 
)
Compare @inter1 and @inter2 and returns the associated INT_* case
@inter1, @inter2: interval instance

Definition at line 10 of file interval.py.

10 
11 def cmp_interval(inter1, inter2):
12  """Compare @inter1 and @inter2 and returns the associated INT_* case
13  @inter1, @inter2: interval instance
14  """
15  if inter1 == inter2:
16  return INT_EQ
17 
18  inter1_start, inter1_stop = inter1
19  inter2_start, inter2_stop = inter2
20  result = INT_JOIN
21  if inter1_start <= inter2_start and inter1_stop >= inter2_stop:
22  result = INT_B_IN_A
23  if inter2_start <= inter1_start and inter2_stop >= inter1_stop:
24  result = INT_A_IN_B
25  if inter1_stop + 1 == inter2_start:
26  result = INT_JOIN_AB
27  if inter2_stop + 1 == inter1_start:
28  result = INT_JOIN_BA
29  if inter1_start > inter2_stop + 1 or inter2_start > inter1_stop + 1:
30  result = INT_DISJOIN
31  return result
32 

+ Here is the caller graph for this function:

Variable Documentation

int miasm2.core.interval.INT_A_IN_B = -1

Definition at line 3 of file interval.py.

int miasm2.core.interval.INT_B_IN_A = 1

Definition at line 2 of file interval.py.

int miasm2.core.interval.INT_DISJOIN = 2

Definition at line 4 of file interval.py.

int miasm2.core.interval.INT_EQ = 0

Definition at line 1 of file interval.py.

int miasm2.core.interval.INT_JOIN = 3

Definition at line 5 of file interval.py.

int miasm2.core.interval.INT_JOIN_AB = 4

Definition at line 6 of file interval.py.

int miasm2.core.interval.INT_JOIN_BA = 5

Definition at line 7 of file interval.py.