123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142typeba=(char,Bigarray_compat.int8_unsigned_elt,Bigarray_compat.c_layout)Bigarray_compat.Array1.ttypest=Bytes.ttypeoff=inttypelen=inttypeoptint=Optint.t(* XXX(dinosaure): we should be able to annot external with [@@noalloc] but
it's depending on architecture and structural value of [Optint.t]. TODO! *)moduletypeFOREIGN=sigvalunsafe_bytes:optint->st->off->len->optintvalunsafe_bigstring:optint->ba->off->len->optintendmoduletypeDESC=sigvaldefault:optintendmoduleAdler32_foreign:FOREIGN=structexternalunsafe_bytes:optint->st->off->len->optint="caml_checkseum_adler32_st"externalunsafe_bigstring:optint->ba->off->len->optint="caml_checkseum_adler32_ba"endmoduleCrc32_foreign:FOREIGN=structexternalunsafe_bytes:optint->st->off->len->optint="caml_checkseum_crc32_st"externalunsafe_bigstring:optint->ba->off->len->optint="caml_checkseum_crc32_ba"endmoduleCrc32c_foreign:FOREIGN=structexternalunsafe_bytes:optint->st->off->len->optint="caml_checkseum_crc32c_st"externalunsafe_bigstring:optint->ba->off->len->optint="caml_checkseum_crc32c_ba"endmoduleCrc24_foreign:FOREIGN=structexternalunsafe_bytes:optint->st->off->len->optint="caml_checkseum_crc24_st"externalunsafe_bigstring:optint->ba->off->len->optint="caml_checkseum_crc24_ba"endmoduleMake(F:FOREIGN)(D:DESC)=structtypet=optintletppppfv=Optint.ppppfvletequalab=Optint.equalabletdefault=D.defaultletunsafe_digest_bytesaolv=F.unsafe_bytesvaolletunsafe_digest_stringaolv=F.unsafe_bytesv(Bytes.unsafe_of_stringa)olletunsafe_digest_bigstringaolv=F.unsafe_bigstringvaolletdigest_bytesaolv=ifo<0||l<0||o>Bytes.lengtha-ltheninvalid_arg"index out of bounds";unsafe_digest_bytesaolvletdigest_stringaolv=ifo<0||l<0||o>String.lengtha-ltheninvalid_arg"index out of bounds";unsafe_digest_stringaolvletdigest_bigstringaolv=ifo<0||l<0||o>Bigarray_compat.Array1.dima-ltheninvalid_arg"index out of bounds";unsafe_digest_bigstringaolvendtypebigstring=bamoduletypeS=sigtypet=optintvalpp:Format.formatter->t->unitvalequal:t->t->boolvaldefault:tvaldigest_bytes:Bytes.t->int->int->t->tvalunsafe_digest_bytes:Bytes.t->int->int->t->tvaldigest_string:String.t->int->int->t->tvalunsafe_digest_string:String.t->int->int->t->tvaldigest_bigstring:bigstring->int->int->t->tvalunsafe_digest_bigstring:bigstring->int->int->t->tendmoduleAdler32:S=Make(Adler32_foreign)(structletdefault=Optint.oneend)moduleCrc32:S=Make(Crc32_foreign)(structletdefault=Optint.zeroend)moduleCrc32c:S=Make(Crc32c_foreign)(structletdefault=Optint.zeroend)moduleCrc24:S=Make(Crc24_foreign)(structletdefault=Optint.of_int0xb704ceend)