QuipperLib.Arith

Quantum integers

Data type definitions

data XInt x

type QDInt

type CInt

type IntM

Operations on QDInt

qulist_of_qdint_bh

qdint_of_qulist_bh

qulist_of_qdint_lh

qdint_of_qulist_lh

qdint_length

qdint_extend_unsigned

qdint_extend_signed

Operations on CInt

bitlist_of_cint_bh

cint_of_bitlist_bh

bitlist_of_cint_lh

cint_of_bitlist_lh

cint_length

cint_extend_unsigned

cint_extend_signed

Operations on IntM

boollist_of_intm_bh

intm_of_boollist_bh

intm_length

integer_of_intm_unsigned

integer_of_intm_signed

intm_with_length

intm_of_integer

intm

intm_promote

intm_interval_signed

intm_interval_unsigned

intm_extend_unsigned

intm_extend_signed

Shape parameters

qdint_shape

cint_shape

Operations on XInt

xint_maybe_length

list_of_xint_bh

xint_of_list_bh

list_of_xint_lh

xint_of_list_lh

Quantum arithmetic operations

The QNum type class

class QNum qa

In-place increment and decrement

q_increment

q_decrement

In-place addition and subtraction

q_add_in_place

q_sub_in_place

q_negate_in_place

Arithmetic with classical parameter

q_add_param

q_sub_param

q_add_param_in_place

q_sub_param_in_place

q_mult_param

Comparison

q_le_unsigned

q_le_signed

q_lt_signed

q_negative

Division and remainder

q_moddiv_unsigned_in_place

q_mod_unsigned

q_divrem_unsigned

q_div_unsigned

q_div

q_quot

q_div_exact_unsigned

q_div_exact

Specialized functions

q_ext_euclid

Lifting of arithmetic functions

template_symb_plus_