funcons-tools-0.2.0.9: manual/Funcons/Core/Values/Primitive/BitsBuiltin.hs
{-# LANGUAGE OverloadedStrings #-}
module Funcons.Core.Values.Primitive.BitsBuiltin where
import Funcons.EDSL
import qualified Funcons.Operations as VAL
library = libFromList [
("bit-vector-not", fromValOp bit_vector_not_ VAL.bit_vector_not_)
, ("bit-vector-and", fromValOp bit_vector_and_ VAL.bit_vector_and_)
, ("bit-vector-or", fromValOp bit_vector_or_ VAL.bit_vector_or_)
, ("bit-vector-xor", fromValOp bit_vector_xor_ VAL.bit_vector_xor_)
, ("bit-vector-shift-left", fromValOp bit_vector_shift_left_ VAL.bit_vector_shift_left_)
, ("bit-vector-logical-shift-right", fromValOp bit_vector_logical_shift_right_ VAL.bit_vector_logical_shift_right_)
, ("bit-vector-arithmetic-shift-right", fromValOp bit_vector_arithmetical_shift_right_ VAL.bit_vector_arithmetical_shift_right_)
, ("integer-to-bit-vector", fromValOp integer_to_bit_vector_ VAL.integer_to_bit_vector_)
, ("bit-vector-to-integer", fromValOp bit_vector_to_integer_ VAL.bit_vector_to_integer_)
, ("bit-vector-to-natural", fromValOp bit_vector_to_natural_ VAL.bit_vector_to_natural_)
]
bit_vector_not_ = applyFuncon "bit-vector-not"
bit_vector_and_ = applyFuncon "bit-vector-and"
bit_vector_or_ = applyFuncon "bit-vector-or"
bit_vector_xor_ = applyFuncon "bit-vector-xor"
bit_vector_shift_left_ = applyFuncon "bit-vector-shift-left"
bit_vector_logical_shift_right_ = applyFuncon "bit-vector-logical-shift-right"
bit_vector_arithmetical_shift_right_ = applyFuncon "bit-vector-arithmetical-shift-right"
integer_to_bit_vector_ = applyFuncon "integer-to-bit-vector"
bit_vector_to_integer_ = applyFuncon "bit-vector-to-integer"
bit_vector_to_natural_ = applyFuncon "bit-vector-to-natural"