-- THIS FILE WAS AUTOMATICALLY GENERATED BY AENEAS
-- [bitwise]
import Base
open Primitives

namespace bitwise

/- [bitwise::shift_u32]: forward function
   Source: 'src/bitwise.rs', lines 3:0-3:31 -/
def shift_u32 (a : U32) : Result U32 :=
  do
    let t ← a >>> 16#usize
    t <<< 16#usize

/- [bitwise::shift_i32]: forward function
   Source: 'src/bitwise.rs', lines 10:0-10:31 -/
def shift_i32 (a : I32) : Result I32 :=
  do
    let t ← a >>> 16#isize
    t <<< 16#isize

/- [bitwise::xor_u32]: forward function
   Source: 'src/bitwise.rs', lines 17:0-17:37 -/
def xor_u32 (a : U32) (b : U32) : Result U32 :=
  Result.ret (a ^^^ b)

/- [bitwise::or_u32]: forward function
   Source: 'src/bitwise.rs', lines 21:0-21:36 -/
def or_u32 (a : U32) (b : U32) : Result U32 :=
  Result.ret (a ||| b)

/- [bitwise::and_u32]: forward function
   Source: 'src/bitwise.rs', lines 25:0-25:37 -/
def and_u32 (a : U32) (b : U32) : Result U32 :=
  Result.ret (a &&& b)

end bitwise
