···7979 Bytes.set buf (off + i) (Char.chr byte)
8080 done
81818282-(* CRC-16-CCITT table *)
8383-let crc16_table =
8484- let tbl = Array.make 256 0 in
8585- for i = 0 to 255 do
8686- let crc = ref (i lsl 8) in
8787- for _ = 0 to 7 do
8888- if !crc land 0x8000 <> 0 then crc := (!crc lsl 1) lxor 0x1021
8989- else crc := !crc lsl 1
9090- done;
9191- tbl.(i) <- !crc land 0xFFFF
9292- done;
9393- tbl
9494-9595-let crc16_ccitt_sub buf off len =
9696- let crc = ref 0xFFFF in
9797- for i = off to off + len - 1 do
9898- let idx = (!crc lsr 8) lxor Char.code (Bytes.get buf i) land 0xFF in
9999- crc := (!crc lsl 8) lxor crc16_table.(idx) land 0xFFFF
100100- done;
101101- !crc
8282+let crc16_ccitt_sub = Crc.crc16_ccitt_bytes
1028310384(* {1 Duration} *)
10485