{"id":15687277,"url":"https://github.com/hannesm/usane","last_synced_at":"2025-05-07T19:40:39.878Z","repository":{"id":137391137,"uuid":"66212872","full_name":"hannesm/usane","owner":"hannesm","description":"Unsigned integers for OCaml","archived":false,"fork":false,"pushed_at":"2017-05-22T11:00:36.000Z","size":56,"stargazers_count":9,"open_issues_count":3,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-31T13:27:22.293Z","etag":null,"topics":["ocaml","unsigned-integers"],"latest_commit_sha":null,"homepage":null,"language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hannesm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-21T17:59:58.000Z","updated_at":"2024-11-05T00:29:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"c71fcd64-3a5b-4939-88c4-dd47ec547cfb","html_url":"https://github.com/hannesm/usane","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesm%2Fusane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesm%2Fusane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesm%2Fusane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hannesm%2Fusane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hannesm","download_url":"https://codeload.github.com/hannesm/usane/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252945110,"owners_count":21829543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ocaml","unsigned-integers"],"created_at":"2024-10-03T17:46:28.975Z","updated_at":"2025-05-07T19:40:39.860Z","avatar_url":"https://github.com/hannesm.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Usane - unsigned integers for OCaml\n\n%%VERSION%%\nThe behaviour of numbers (int, int32, int64) in OCaml is to be signed, and wrap\naround on over/underflow.  This library gives explicit access to the carry bit\nby using compiler builtins.  Other fine integer libraries, such as\n[integers](https://github.com/ocamllabs/ocaml-integers) library and\n[stdint](https://github.com/andrenth/ocaml-stdint)) mirror the OCaml standard\nlibrary behaviour.\n\nThis library defines 8, 16, 32, and 64 bit unsigned integers which interoperates\nwell with the builtin types (int32, int64) by reusing their representation.\nArithmetic operations return the carry bit explicitly.\n\nSome motivating examples are:\n```OCaml\n# succ max_int\n- : int = -4611686018427387904\n\n# pred min_int\n- : int = 4611686018427387903\n\n# abs min_int\n- : int = -4611686018427387904\n```\n\nUsane comes with a extensive test suite to show the behaviour.\n\nCurrently this library is not released, I first want to a) use\n[ocb-stubblr](https://github.com/pqwy/ocb-stubblr.git) (to get it to run on\nMirageOS) and b) test on 32bit.\n\n## Documentation\n\n[![Build Status](https://travis-ci.org/hannesm/usane.svg?branch=master)](https://travis-ci.org/hannesm/usane)\n\n[API Documentation](https://hannesm.github.io/usane/doc/) is available online.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhannesm%2Fusane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhannesm%2Fusane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhannesm%2Fusane/lists"}