package p4spectec

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Xl.Num

type t = [
  1. | `Nat of Bigint.t
  2. | `Int of Bigint.t
]
val to_yojson : t -> Yojson.Safe.t
type typ = [
  1. | `NatT
  2. | `IntT
]
val typ_to_yojson : typ -> Yojson.Safe.t
val to_typ : [< `Int of 'a | `Nat of 'b ] -> [> `IntT | `NatT ]
val to_int : [< `Int of 'a | `Nat of 'a ] -> 'a
type unop = [
  1. | `PlusOp
  2. | `MinusOp
]
val unop_to_yojson : unop -> Yojson.Safe.t
type binop = [
  1. | `AddOp
  2. | `SubOp
  3. | `MulOp
  4. | `DivOp
  5. | `ModOp
  6. | `PowOp
]
val binop_to_yojson : binop -> Yojson.Safe.t
type cmpop = [
  1. | `LtOp
  2. | `GtOp
  3. | `LeOp
  4. | `GeOp
]
val cmpop_to_yojson : cmpop -> Yojson.Safe.t
val compare : t -> t -> int
val compare_typ : typ -> typ -> int
val eq : t -> t -> bool
val equiv : 'a -> 'a -> bool
val sub : ([> `IntT | `NatT ] as 'a) -> 'a -> bool
val string_of_num : [< `Int of Bigint.t | `Nat of Bigint.t ] -> string
val string_of_typ : [< `IntT | `NatT ] -> string
val string_of_unop : [< `MinusOp | `PlusOp ] -> string
val string_of_binop : [< `AddOp | `DivOp | `ModOp | `MulOp | `PowOp | `SubOp ] -> string
val string_of_cmpop : [< `GeOp | `GtOp | `LeOp | `LtOp ] -> string
val un : unop -> t -> t
val bin : binop -> [> `Int of Bigint.t | `Nat of Bigint.t ] -> [> `Int of Bigint.t | `Nat of Bigint.t ] -> t
val cmp : cmpop -> [> `Int of 'a | `Nat of 'b ] -> [> `Int of 'a | `Nat of 'b ] -> bool