File tree 2 files changed +18
-0
lines changed
2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -3064,6 +3064,10 @@ module Crossing = struct
3064
3064
3065
3065
let le (t0 : t ) (t1 : t ) =
3066
3066
match t0, t1 with Join_const c0 , Join_const c1 -> Mode.Const. le c1 c0
3067
+
3068
+ let top : t = Join_const Mode.Const. min
3069
+
3070
+ let bot : t = Join_const Mode.Const. max
3067
3071
end
3068
3072
3069
3073
module Comonadic = struct
@@ -3089,6 +3093,10 @@ module Crossing = struct
3089
3093
3090
3094
let le (t0 : t ) (t1 : t ) =
3091
3095
match t0, t1 with Meet_const c0 , Meet_const c1 -> Mode.Const. le c0 c1
3096
+
3097
+ let top : t = Meet_const Mode.Const. max
3098
+
3099
+ let bot : t = Meet_const Mode.Const. min
3092
3100
end
3093
3101
3094
3102
type t = (Monadic .t , Comonadic .t ) monadic_comonadic
@@ -3145,6 +3153,10 @@ module Crossing = struct
3145
3153
let le t0 t1 =
3146
3154
Monadic. le t0.monadic t1.monadic && Comonadic. le t0.comonadic t1.comonadic
3147
3155
3156
+ let top = { monadic = Monadic. top; comonadic = Comonadic. top }
3157
+
3158
+ let bot = { monadic = Monadic. bot; comonadic = Comonadic. bot }
3159
+
3148
3160
let print ppf t =
3149
3161
let print_atom ppf = function
3150
3162
| Modality. Atom (ax , Join_with c ) -> C. print (Value. proj_obj ax) ppf c
Original file line number Diff line number Diff line change @@ -734,6 +734,12 @@ module type S = sig
734
734
(* * [le t0 t1] returns [true] if [t0] allows more mode crossing than [t1]. *)
735
735
val le : t -> t -> bool
736
736
737
+ (* * The trivial mode crossing that crosses nothing. *)
738
+ val top : t
739
+
740
+ (* * The mode crossing that crosses everything. *)
741
+ val bot : t
742
+
737
743
(* * Print the mode crossing by axis. Omit axes that do not cross. *)
738
744
val print : Format .formatter -> t -> unit
739
745
end
You can’t perform that action at this time.
0 commit comments