{"id":20575943,"url":"https://github.com/pryrt/math-prbs","last_synced_at":"2026-04-25T03:12:13.975Z","repository":{"id":56834905,"uuid":"67042290","full_name":"pryrt/Math-PRBS","owner":"pryrt","description":"Math::PRBS - Generate Pseudorandom Binary Sequences (PRBS) using an Iterator-based Linear Feedback Shift Register (LFSR)","archived":false,"fork":false,"pushed_at":"2022-01-14T20:37:24.000Z","size":166,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-16T21:51:46.528Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Perl","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/pryrt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-31T13:57:50.000Z","updated_at":"2021-12-24T22:37:52.000Z","dependencies_parsed_at":"2022-09-02T03:50:39.136Z","dependency_job_id":null,"html_url":"https://github.com/pryrt/Math-PRBS","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FMath-PRBS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FMath-PRBS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FMath-PRBS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pryrt%2FMath-PRBS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pryrt","download_url":"https://codeload.github.com/pryrt/Math-PRBS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242196313,"owners_count":20087765,"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":[],"created_at":"2024-11-16T05:44:08.745Z","updated_at":"2026-04-25T03:12:08.694Z","avatar_url":"https://github.com/pryrt.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\r\n\r\nMath::PRBS - Generate Pseudorandom Binary Sequences using an iterator-based Linear Feedback Shift Register\r\n\r\n# SYNOPSIS\r\n\r\n    use Math::PRBS;\r\n    my $x3x2  = Math::PRBS-\u003enew( taps =\u003e [3,2] );\r\n    my $prbs7 = Math::PRBS-\u003enew( prbs =\u003e 7 );\r\n    my ($i, $value) = $x3x2-\u003enext();\r\n    my @p7 = $prbs7-\u003egenerate_all();\r\n    my @ints = $prbs7-\u003egenerate_all_int();\r\n\r\n# DESCRIPTION\r\n\r\nThis module will generate various Pseudorandom Binary Sequences (PRBS).  This module creates a iterator object, and you can use that object to generate the sequence one value at a time, or _en masse_.\r\n\r\nThe generated sequence is a series of 0s and 1s which appears random for a certain length, and then repeats thereafter.  (You can also convert the bitstream into a sequence of integers using the `generate_int` and `generate_all_int` methods.)\r\n\r\nIt is implemented using an XOR-based Linear Feedback Shift Register (LFSR), which is described using a feedback polynomial (or reciprocal characteristic polynomial).  The terms that appear in the polynomial are called the 'taps', because you tap off of that bit of the shift register for generating the feedback for the next value in the sequence.\r\n\r\n# INSTALLATION\r\n\r\nTo install this module, use your favorite CPAN client.\r\n\r\nFor a manual install, type the following:\r\n\r\n    perl Makefile.PL\r\n    make\r\n    make test\r\n    make install\r\n\r\n(On Windows machines, you may need to use \"dmake\" or \"gmake\" instead of \"make\", depending on your setup.)\r\n\r\n# AUTHOR\r\n\r\nPeter C. Jones `\u003cpetercj AT cpan DOT org\u003e`\r\n\r\nPlease report any bugs or feature requests thru the web interface at\r\n[https://github.com/pryrt/Math-PRBS/issues](https://github.com/pryrt/Math-PRBS/issues)\r\n\r\n\u003cdiv\u003e\r\n    \u003ca href=\"https://metacpan.org/pod/Math::PRBS\"\u003e\u003cimg src=\"https://img.shields.io/cpan/v/Math-PRBS.svg?colorB=00CC00\" alt=\"[metacpan]\" title=\"metacpan\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"http://matrix.cpantesters.org/?dist=Math-PRBS\"\u003e\u003cimg src=\"http://cpants.cpanauthors.org/dist/Math-PRBS.png\" alt=\"[cpantesters]\" title=\"cpan testers\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://github.com/pryrt/Math-PRBS/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/pryrt/Math-PRBS.svg\" alt=\"[github]\" title=\"github release\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://github.com/pryrt/Math-PRBS/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/pryrt/Math-PRBS.svg\" alt=\"[issues]\" title=\"issues\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://ci.appveyor.com/project/pryrt/math-prbs\"\u003e\u003cimg src=\"https://ci.appveyor.com/api/projects/status/cj6cbq7u9velb8wx?svg=true\" alt=\"[appveyor]\" title=\"appveyor build status\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://github.com/pryrt/Math-PRBS/actions/workflows/perl-ci.yml\"\u003e\u003cimg src=\"https://github.com/pryrt/Math-PRBS/actions/workflows/perl-ci.yml/badge.svg\" alt=\"[gh action]\" title=\"gh action build status\"\u003e\u003c/a\u003e\r\n    \u003ca href=\"https://coveralls.io/github/pryrt/Math-PRBS?branch=main\"\u003e\u003cimg src=\"https://coveralls.io/repos/github/pryrt/Math-PRBS/badge.svg?branch=main\" alt=\"[coveralls]\" title=\"test coverage\"\u003e\u003c/a\u003e\r\n\u003c/div\u003e\r\n\r\n# COPYRIGHT\r\n\r\nCopyright (C) 2016,2018,2021 Peter C. Jones\r\n\r\n# LICENSE\r\n\r\nThis program is free software; you can redistribute it and/or modify it\r\nunder the terms of either: the GNU General Public License as published\r\nby the Free Software Foundation; or the Artistic License.\r\n\r\nSee [http://dev.perl.org/licenses/](http://dev.perl.org/licenses/) for more information.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpryrt%2Fmath-prbs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpryrt%2Fmath-prbs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpryrt%2Fmath-prbs/lists"}