Skip to content

[math] PRBS generator #8798

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

ferdymercury
Copy link
Collaborator

This Pull request:

Changes or fixes:

Adds PRBS generation code

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This PR fixes #8199

@phsft-bot
Copy link

Can one of the admins verify this patch?

Copy link
Member

@couet couet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@hahnjo
Copy link
Member

hahnjo commented Aug 18, 2021

@phsft-bot build

I think new generators should go via ROOT::Math::TRandomEngine, not another TRandomXYZ, right @lmoneta? Also would be good to have some tests.

@phsft-bot
Copy link

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot
Copy link

Build failed on windows10/cxx14.
Running on null:C:\build\workspace\root-pullrequests-build
See console output.

Errors:

  • [2021-08-18T08:28:49.366Z] CMake Error at C:/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1045 (message):

@phsft-bot
Copy link

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-08-18T08:37:44.395Z] stderr: error: could not read '.git/rebase-apply/head-name': No such file or directory

@phsft-bot
Copy link

Starting build on ROOT-debian10-i386/soversion, ROOT-performance-centos8-multicore/cxx17, ROOT-ubuntu18.04/nortcxxmod, ROOT-ubuntu2004/python3, mac12/noimt, mac11/cxx14, windows10/cxx14
How to customize builds

@ferdymercury ferdymercury marked this pull request as draft November 15, 2023 10:27
@ferdymercury ferdymercury marked this pull request as ready for review November 15, 2023 10:29
@ferdymercury ferdymercury marked this pull request as draft November 15, 2023 10:29
@dpiparo dpiparo marked this pull request as ready for review April 25, 2024 07:21
@dpiparo
Copy link
Member

dpiparo commented Apr 25, 2024

I would like to revive this PR, @ferdymercury do you feel like rebasing so that I can start the builds ?

@hahnjo
Copy link
Member

hahnjo commented Apr 25, 2024

see also #8798 (comment)

@ferdymercury ferdymercury changed the title Prbs [math] PRBS generator Apr 25, 2024
Copy link

Test Results

    12 files      12 suites   2d 10h 57m 28s ⏱️
 2 628 tests  2 628 ✅ 0 💤 0 ❌
29 840 runs  29 840 ✅ 0 💤 0 ❌

Results for commit 2c3bcff.

@ferdymercury
Copy link
Collaborator Author

ferdymercury commented Apr 26, 2024

@hahnjo Thanks for the comment! I can move it there, but do I really need to derive from TRandomEngine? The parent methods are for double Rndm(), which does not seem very useful to me.
This generator is a binary register generator, so rather a quite different structure, and it is not intended to be used as a normal generator, but rather as a test scenario or helper math functions for electronics testing. It also is inherently templated, etc. It returns an array rather than just a number Rndm(). See https://github.com/root-project/root/pull/8798/files#diff-2e848ceefaff2e24c9b2970fb86a8da1d3d00603fc4f48f920421e603198fab2

Wrt tests, I will 'copy' the mentioned tutorial as 'test' once it's clear where this class should go.

Thanks for the review!! :)

@lmoneta
Copy link
Member

lmoneta commented Apr 26, 2024

Hello @ferdymercury
I am not sure what the use case is for having this generator in ROOT. One could, in principle, also use the bits of the generated numbers of a good generator like RANLUX++.
Do we have users that are asking for this feature?

@ferdymercury
Copy link
Collaborator Author

Hello @ferdymercury I am not sure what the use case is for having this generator in ROOT. One could, in principle, also use the bits of the generated numbers of a good generator like RANLUX++. Do we have users that are asking for this feature?

Thanks for the reply! We discussed this point in the associated issue: #8199 (comment)

@lmoneta
Copy link
Member

lmoneta commented Apr 26, 2024

I still think is very specific, and we could have it maybe as an external addition.

@ferdymercury
Copy link
Collaborator Author

Ok. What do you mean by external? Moving it to just a tutorial? Happy to change that once it's clarified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ROOT::Math C++ PRBS generator
7 participants