janestreet / janestreet/core_kernel
pack_signed_32_big_endian (and other omissions)
- Dominant language
- OCaml
- Stars
- 225
- Forks
- 67
- PR merge metrics
- No merged PRs in 30d
Description
There are a number of functions missing from Binary_packing. E.g. I have to do `pack_signed_32 ~byte_order:`Big_endian`, which the documentation suggests is up to 3 times slower than a 32 bit _big_endian function. Given that there is a pack_signed_64_big_endian, I see no reason why there shouldn't be one for 32 bit. I'm aware that there is a pack_unsigned_32_int_big_endian (I want unsigned, but for fixed width 32 bit, signed works as well), but I'd like to be portable to 32 bit platforms, where int is signed 31 bit.
Contributor guide
Research direction
Locate Binary_packing and compare the existing pack_signed_64_big_endian function with pack_signed_32 and pack_signed_32 ~byte_order:. Review the surrounding API for other omissions, then ensure the requested fixed-width big-endian function is available and portable to 32-bit platforms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100