1(* ------------------------------------------------------------------------- 2 Bitstring 3 ------------------------------------------------------------------------- *) 4 5signature Bitstring = 6sig 7 type bitstring = bool list 8 9 val compare: bitstring * bitstring -> order 10 11 val fromBool: bool -> bitstring 12 val fromInt: IntInf.int -> bitstring 13 val fromNativeInt: int -> bitstring 14 val fromNat: Nat.nat -> bitstring 15 val fromBinString: string -> bitstring option 16 val fromDecString: string -> bitstring option 17 val fromHexString: string -> bitstring option 18 val fromLit: string -> bitstring option 19 20 val toInt: bitstring -> IntInf.int 21 val toNativeInt: bitstring -> int 22 val toNat: bitstring -> Nat.nat 23 val toBinString: bitstring -> string 24 val toDecString: bitstring -> string 25 val toHexString: bitstring -> string 26 27 val toList: bitstring -> bool list 28 val fromList: bool list -> bitstring 29 30 val bitFieldInsert: Nat.nat * Nat.nat -> bitstring * bitstring -> bitstring 31 32 val zero: Nat.nat -> bitstring 33 val one: Nat.nat -> bitstring 34 35 val size: bitstring -> Nat.nat 36 val setSize: int -> bitstring -> bitstring 37 38 val replicate: bitstring * Nat.nat -> bitstring 39 val bits: Nat.nat * Nat.nat -> bitstring -> bitstring 40 val bit: bitstring * Nat.nat -> bool 41 42 val << : bitstring * Nat.nat -> bitstring 43 val #>> : bitstring * Nat.nat -> bitstring 44 val >>+ : bitstring * Nat.nat -> bitstring 45 val + : bitstring * bitstring -> bitstring 46 val || : bitstring * bitstring -> bitstring 47 val && : bitstring * bitstring -> bitstring 48 val ?? : bitstring * bitstring -> bitstring 49 val @@ : bitstring * bitstring -> bitstring 50end 51