package libsail
Sail is a language for describing the instruction semantics of processors
Install
Dune Dependency
Authors
Maintainers
Sources
sail-0.18.tbz
sha256=fcdbda14f1ed59fa30e23da34abe02547416e3c2a83fbeee5606e100a5edcf35
sha512=0bbd72706cb4c1ddf13ea1c42004ec498aa9db8a301020f0dd3d8ac582d1bed8a48c7a825b8e3e6f629279f1f900384f6966608e1cd59e7b1217776413c7fa27
doc/libsail/Libsail/Sail2_values/index.html
Module Libsail.Sail2_values
Source
Source
val update_subrange_list_inc :
'a list ->
Nat_big_num.num ->
Nat_big_num.num ->
'a list ->
'a list
Source
val update_subrange_list_dec :
'a list ->
Nat_big_num.num ->
Nat_big_num.num ->
'a list ->
'a list
Source
val update_subrange_list :
bool ->
'a list ->
Nat_big_num.num ->
Nat_big_num.num ->
'a list ->
'a list
Source
val slice_mword_dec :
('a * Big_int_impl.BI.big_int) ->
Nat_big_num.num ->
Nat_big_num.num ->
Lem.mword
Source
val slice_mword_inc :
(int * Big_int_impl.BI.big_int) ->
Nat_big_num.num ->
Nat_big_num.num ->
Lem.mword
Source
val slice_mword :
bool ->
(int * Big_int_impl.BI.big_int) ->
Nat_big_num.num ->
Nat_big_num.num ->
Lem.mword
Source
val update_slice_mword_dec :
(int * Big_int_impl.BI.big_int) ->
Nat_big_num.num ->
Nat_big_num.num ->
('a * Big_int_impl.BI.big_int) ->
Lem.mword
Source
val update_slice_mword_inc :
(int * Big_int_impl.BI.big_int) ->
Nat_big_num.num ->
Nat_big_num.num ->
('a * Big_int_impl.BI.big_int) ->
Lem.mword
Source
val update_slice_mword :
bool ->
(int * Big_int_impl.BI.big_int) ->
Nat_big_num.num ->
Nat_big_num.num ->
('a * Big_int_impl.BI.big_int) ->
Lem.mword
Source
type 'a bitvector_class = {
bits_of_method : 'a -> bitU list;
of_bits_method : bitU list -> 'a option;
of_bools_method : bool list -> 'a;
length_method : 'a -> Nat_big_num.num;
of_int_method : Nat_big_num.num -> Nat_big_num.num -> 'a;
unsigned_method : 'a -> Nat_big_num.num option;
signed_method : 'a -> Nat_big_num.num option;
arith_op_bv_method : (Nat_big_num.num -> Nat_big_num.num -> Nat_big_num.num) -> bool -> 'a -> 'a -> 'a;
}
Source
val instance_Sail2_values_Bitvector_Machine_word_mword_dict :
'a Lem_machine_word.size_class ->
Lem.mword bitvector_class
Source
val subrange_bv_inc :
'a bitvector_class ->
'a ->
Nat_big_num.num ->
Nat_big_num.num ->
bitU list
Source
val subrange_bv_dec :
'a bitvector_class ->
'a ->
Nat_big_num.num ->
Nat_big_num.num ->
bitU list
Source
val update_subrange_bv_inc :
'a bitvector_class ->
'b bitvector_class ->
'b ->
Nat_big_num.num ->
Nat_big_num.num ->
'a ->
bitU list
Source
val update_subrange_bv_dec :
'a bitvector_class ->
'b bitvector_class ->
'b ->
Nat_big_num.num ->
Nat_big_num.num ->
'a ->
bitU list
Source
val string_of_bv_subrange :
'a bitvector_class ->
'a ->
Nat_big_num.num ->
Nat_big_num.num ->
string
Source
type 'rv register_Value_class = {
bool_of_regval_method : 'rv -> bool option;
regval_of_bool_method : bool -> 'rv;
int_of_regval_method : 'rv -> Nat_big_num.num option;
regval_of_int_method : Nat_big_num.num -> 'rv;
real_of_regval_method : 'rv -> float option;
regval_of_real_method : float -> 'rv;
string_of_regval_method : 'rv -> string option;
regval_of_string_method : string -> 'rv;
}
Source
type ('regstate, 'regval, 'a) register_ref = {
name : string;
read_from : 'regstate -> 'a;
write_to : 'a -> 'regstate -> 'regstate;
of_regval : 'regval -> 'a option;
regval_of : 'a -> 'regval;
}
Source
type ('regstate, 'regval) register_ops =
('regval ->
bool)
* ('regstate ->
'regval)
* ('regval ->
'regstate ->
'regstate option)
Source
val register_ops_of :
('st, 'regval, 'a) register_ref ->
('regval -> bool) * ('st -> 'regval) * ('regval -> 'st -> 'st option)
Source
type ('regstate, 'regval) register_accessors =
(string ->
'regstate ->
'regval option)
* (string ->
'regval ->
'regstate ->
'regstate option)
Source
val mk_accessors :
(string -> ('a * ('st -> 'v) * ('v -> 'st -> 'st option)) option) ->
(string -> 'st -> 'v option) * (string -> 'v -> 'st -> 'st option)
Source
type ('regtype, 'a) field_ref = {
field_name : string;
field_start : Nat_big_num.num;
field_is_inc : bool;
get_field : 'regtype -> 'a;
set_field : 'regtype -> 'a -> 'regtype;
}
Source
val index_list :
Nat_big_num.num ->
Nat_big_num.num ->
Nat_big_num.num ->
Nat_big_num.num list
Source
val toNaturalFiveTup :
'a toNatural_class ->
'b toNatural_class ->
'c toNatural_class ->
'd toNatural_class ->
'e toNatural_class ->
('d * 'c * 'b * 'a * 'e) ->
Nat_big_num.num
* Nat_big_num.num
* Nat_big_num.num
* Nat_big_num.num
* Nat_big_num.num
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>