package libsail

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

Module Libsail.Sail2_operatorsSource

Sourceval cast_unit_bv : Sail2_values.bitU -> Sail2_values.bitU list
Sourceval bv_of_bit : Nat_big_num.num -> Sail2_values.bitU -> Sail2_values.bitU list
Sourceval most_significant : 'a Sail2_values.bitvector_class -> 'a -> Sail2_values.bitU
Sourceval get_max_representable_in : bool -> Nat_big_num.num -> Nat_big_num.num
Sourceval get_min_representable_in : 'a -> Nat_big_num.num -> Nat_big_num.num
Sourceval arith_op_bv_int : 'a Sail2_values.bitvector_class -> (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> bool -> 'a -> Nat_big_num.num -> 'a
Sourceval arith_op_int_bv : 'a Sail2_values.bitvector_class -> (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> bool -> Nat_big_num.num -> 'a -> 'a
Sourceval arith_op_bv_bool : 'a Sail2_values.bitvector_class -> (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> bool -> 'a -> bool -> 'a
Sourceval arith_op_bv_bit : 'a Sail2_values.bitvector_class -> (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> bool -> 'a -> Sail2_values.bitU -> 'a option
Sourcetype shift =
  1. | LL_shift
  2. | RR_shift
  3. | RR_shift_arith
  4. | LL_rot
  5. | RR_rot
Sourceval invert_shift : shift -> shift
Sourceval shift_op_bv : 'a Sail2_values.bitvector_class -> shift -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval shiftl_bv : 'a Sail2_values.bitvector_class -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval shiftr_bv : 'a Sail2_values.bitvector_class -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval arith_shiftr_bv : 'a Sail2_values.bitvector_class -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval rotl_bv : 'a Sail2_values.bitvector_class -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval rotr_bv : 'a Sail2_values.bitvector_class -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval shiftl_mword : (int * Big_int_impl.BI.big_int) -> Nat_big_num.num -> Lem.mword
Sourceval shiftr_mword : (int * Big_int_impl.BI.big_int) -> Nat_big_num.num -> Lem.mword
Sourceval arith_shiftr_mword : (int * Big_int_impl.BI.big_int) -> Nat_big_num.num -> Lem.mword
Sourceval rotl_mword : (int * Big_int_impl.BI.big_int) -> Nat_big_num.num -> Lem.mword
Sourceval rotr_mword : (int * Big_int_impl.BI.big_int) -> Nat_big_num.num -> Lem.mword
Sourceval arith_op_no0 : (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num option
Sourceval arith_op_bv_no0 : 'a Sail2_values.bitvector_class -> 'b Sail2_values.bitvector_class -> (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> bool -> Nat_big_num.num -> 'a -> 'a -> 'b option
Sourceval mod_bv : 'a Sail2_values.bitvector_class -> 'b Sail2_values.bitvector_class -> 'b -> 'b -> 'a option
Sourceval quot_bv : 'a Sail2_values.bitvector_class -> 'b Sail2_values.bitvector_class -> 'b -> 'b -> 'a option
Sourceval quots_bv : 'a Sail2_values.bitvector_class -> 'b Sail2_values.bitvector_class -> 'b -> 'b -> 'a option
Sourceval mod_mword : Lem.mword -> Lem.mword -> Lem.mword
Sourceval quot_mword : Lem.mword -> Lem.mword -> Lem.mword
Sourceval quots_mword : Lem.mword -> Lem.mword -> Lem.mword
Sourceval arith_op_bv_int_no0 : 'a Sail2_values.bitvector_class -> 'b Sail2_values.bitvector_class -> (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> bool -> Nat_big_num.num -> 'a -> Nat_big_num.num -> 'b option
Sourceval quot_bv_int : 'a Sail2_values.bitvector_class -> 'b Sail2_values.bitvector_class -> 'b -> Nat_big_num.num -> 'a option
Sourceval mod_bv_int : 'a Sail2_values.bitvector_class -> 'b Sail2_values.bitvector_class -> 'b -> Nat_big_num.num -> 'a option
Sourceval mod_mword_int : 'a Lem_machine_word.size_class -> (int * Nat_big_num.num) -> Nat_big_num.num -> Lem.mword
Sourceval quot_mword_int : 'a Lem_machine_word.size_class -> (int * Nat_big_num.num) -> Nat_big_num.num -> Lem.mword
Sourceval quots_mword_int : 'a Lem_machine_word.size_class -> (int * Nat_big_num.num) -> Nat_big_num.num -> Lem.mword
Sourceval replicate_bits_bv : 'a Sail2_values.bitvector_class -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval duplicate_bit_bv : 'a Sail2_values.bitU_class -> 'a -> Nat_big_num.num -> Sail2_values.bitU list
Sourceval eq_bv : 'a Sail2_values.bitvector_class -> 'a -> 'a -> bool
Sourceval neq_bv : 'a Sail2_values.bitvector_class -> 'a -> 'a -> bool
Sourceval get_slice_int_bv : 'a Sail2_values.bitvector_class -> Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num -> 'a
Sourceval set_slice_int_bv : 'a Sail2_values.bitvector_class -> Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num -> 'a -> Nat_big_num.num
OCaml

Innovation. Community. Security.