{"id":23642449,"url":"https://github.com/sogaiu/janet-pcg-random","last_synced_at":"2026-02-27T02:31:30.021Z","repository":{"id":118761815,"uuid":"280045920","full_name":"sogaiu/janet-pcg-random","owner":"sogaiu","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-28T07:41:14.000Z","size":201,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-31T18:41:41.317Z","etag":null,"topics":["janet","pcg-random","prng"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sogaiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-16T03:44:40.000Z","updated_at":"2025-04-28T07:41:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"f6a432fc-cde0-4c70-87e7-ecd88a4025d6","html_url":"https://github.com/sogaiu/janet-pcg-random","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sogaiu/janet-pcg-random","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjanet-pcg-random","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjanet-pcg-random/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjanet-pcg-random/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjanet-pcg-random/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sogaiu","download_url":"https://codeload.github.com/sogaiu/janet-pcg-random/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sogaiu%2Fjanet-pcg-random/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29883101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"online","status_checked_at":"2026-02-27T02:00:06.759Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["janet","pcg-random","prng"],"created_at":"2024-12-28T10:51:03.068Z","updated_at":"2026-02-27T02:31:29.993Z","avatar_url":"https://github.com/sogaiu.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# janet-pcg-random\n\n[Janet](https://janet-lang.org/) bindings for the [PCG\nRandom](https://www.pcg-random.org/) pseudo random number generator.\n\n## Status\n\nEarly stage, expect changes :)\n\n## Installation\n\n```\njpm install https://github.com/sogaiu/janet-pcg-random\n```\n\n## Usage\n\nMake module available:\n\n```janet\n(import pcgrand)\n```\n\n`pcgrand/make` creates a seeded generator instance:\n\n```janet\n(pcgrand/make (int/u64 \"1\") (int/u64 \"1\"))\n# =\u003e\n\u003cpcgrand/rng 0x5570B7F0EF80\u003e\n```\n\nUse two `int/64` values to seed: the state initializer and sequence\nselection constant (stream id).\n\n`pcgrand/random` returns a uniformly distributed 32-bit integer:\n\n```janet\n(def rng\n  (pcgrand/make (int/u64 \"1\") (int/u64 \"1\")))\n# =\u003e\n\u003cpcgrand/rng 0x55E021F18930\u003e\n\n(pcgrand/random rng)\n# =\u003e\n-914190447\n\n(:random rng)\n# =\u003e\n361947764\n```\n\n`pcgrand/boundedrand` returns a uniformly distributed integer, i,\nwhere 0 \u003c= i \u003c bound:\n\n```janet\n(def rng\n  (pcgrand/make (int/u64 \"1\") (int/u64 \"1\")))\n# =\u003e\n\u003cpcgrand/rng 0x55E021F1A3C0\u003e\n\n(pcgrand/boundedrand rng 28)\n# =\u003e\n9\n\n(:boundedrand rng 9)\n# =\u003e\n2\n```\n\n`pcgrand/srandom` seeds a generator using two `int/u64` values in a\nmanner similar to `pcgrand/make`:\n\n```janet\n(def rng\n  (pcgrand/make (int/u64 \"1\") (int/u64 \"1\")))\n# =\u003e\n\u003cpcgrand/rng 0x55E021F1AFB0\u003e\n\n(pcgrand/random rng)\n# =\u003e\n-914190447\n\n(:random rng)\n# =\u003e\n361947764\n\n(pcgrand/srandom rng (int/u64 \"1\") (int/u64 \"1\"))\n# =\u003e\nnil\n\n(:random rng)\n# =\u003e\n-914190447\n```\n\n## Acknowledgments\n\n* andrewchambers - discussion, sample code\n* bakpakin - janet, sample code\n* cellularmitosis - documented sample code\n* imneme - pcg-random\n* pyrmont - documented sample code\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsogaiu%2Fjanet-pcg-random","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsogaiu%2Fjanet-pcg-random","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsogaiu%2Fjanet-pcg-random/lists"}