Module LibCircuit.Limb

Module for describing operations over fixed size integers

Parameters

module N : sig ... end

Signature

val xor_lookup : scalar repr -> scalar repr -> scalar repr t

xor_lookup a b returns the exclusive disjunction of a and b. This primitive uses a precomputed lookup table called "xor" ^ nb_bits.

val band_lookup : scalar repr -> scalar repr -> scalar repr t

band_lookup a b returns the conjunction of a and b. This primitive uses a precomputed lookup table called "band" ^ nb_bits.

val bnot_lookup : scalar repr -> scalar repr t

bnot_lookup b returns the negation of b. This primitive uses a precomputed lookup table called "bnot" ^ nb_bits.

val rotate_right_lookup : scalar repr -> scalar repr -> int -> scalar repr t

rotate_right_lookup x y i returns the low nb_bits of rotate_right (x + y * 2 ^ nb_bits) i where 0 < i < nb_bits. This primitive uses a precomputed lookup table called "rotate_right" ^ nb_bits ^ "_" ^ i.