// Copyright: (C) 2009 Gilles Muller, Julia Lawall, INRIA, DIKU.  GPLv2.

@ change_compare @
expression E;
@@

(
- jiffies <= (E)
+ time_before_eq(jiffies,E)
|
- jiffies >= (E)
+ time_after_eq(jiffies,E)
|
- jiffies < (E)
+ time_before(jiffies,E)
|
- jiffies > (E)
+ time_after(jiffies,E)
)


@ change_compare_np @
expression E;
@@

(
- jiffies <= E
+ time_before_eq(jiffies,E)
|
- jiffies >= E
+ time_after_eq(jiffies,E)
|
- jiffies < E
+ time_before(jiffies,E)
|
- jiffies > E
+ time_after(jiffies,E)
)

@ change @
expression E, E1;
type T;
@@

(
- (T)(E - jiffies) <= E1
+ time_after_eq(jiffies,E-E1)
|
- (T)(jiffies - E) <= E1
+ time_before_eq(jiffies,E+E1)
|
- (T)(E - jiffies) >= E1
+ time_before_eq(jiffies,E-E1)
|
- (T)(jiffies - E) >= E1
+ time_after_eq(jiffies,E+E1)
|
- (T)(E - jiffies) < E1
+ time_after(jiffies,E-E1)
|
- (T)(jiffies - E) < E1
+ time_before(jiffies,E+E1)
|
- (T)(E - jiffies) > E1
+ time_before(jiffies,E-E1)
|
- (T)(jiffies - E) > E1
+ time_after(jiffies,E+E1)
)

@ change_np @
expression E, E1;
@@

(
- E - jiffies <= E1
+ time_after_eq(jiffies,E-E1)
|
- jiffies - E <= E1
+ time_before_eq(jiffies,E+E1)
|
- E - jiffies >= E1
+ time_before_eq(jiffies,E-E1)
|
- jiffies - E >= E1
+ time_after_eq(jiffies,E+E1)
|
- E - jiffies < E1
+ time_after(jiffies,E-E1)
|
- jiffies - E < E1
+ time_before(jiffies,E+E1)
|
- E - jiffies > E1
+ time_before(jiffies,E-E1)
|
- jiffies - E > E1
+ time_after(jiffies,E+E1)
)

@ x depends on change_compare || change_compare_np || change || change_np @
expression E, E1, E2;
@@

(
  time_before
|
  time_after
|
  time_before_eq
|
  time_after_eq
)
   (jiffies,
(
-            E+0
+            E
|
-            E-0
+            E
|
-            E+(E1*E2)
+            E+E1*E2
|
-            E-(E1*E2)
+            E-E1*E2
)
   )

@ include
  depends on change_compare || change_compare_np || change || change_np @
@@

#include <linux/jiffies.h>

@ no_include depends on !include &&
  (change_compare || change_compare_np || change || change_np) @
@@

  #include <linux/...>
+ #include <linux/jiffies.h>