Git Product home page Git Product logo

Comments (3)

fmauger avatar fmauger commented on June 17, 2024

Dear @Berrysoft

I cannot accept your patch as is because you are modifying a readonly function arguments on the fly. You were forced to remove the const to allow that and thus to change the signature of the function. This is a very bad practice, A readonly argument is... well... readonly. It means that the user must know in advance what he/she wants and does not expect his/her choice to be changed under the table if found unappropriate after some check.

Even using a local copy of ilevel and changing its value would be
a bad idea IMHO.

One never knows the possible side effects, for example if the requested value of the 'ilevel' parameter has been saved in a config file before it is changed then used by the code itself, this would make things hard to track and reproduce because the config file won't tell you this is basically an error that is fixed in some way by the code itself.
An error is an error. I prefer to detect it and throw an exception and let the user shout and cry for a while then re-run with the good set of parameters ! :-)

I'll try to find the reason of this issue ASAP. Probably I've skipped some check(s) from the original fortran code (the C++ port is only partly automated and request some manual ops... arrrghhh). The "Quadruple beta decay" mode has been added recently and I guess I have badly implemented it in the existing C++ code already merged from different versions.
My bad !

Anyway thanks for the report. I'm starting to work on it from your hints.

regards.

from bxdecay0.

Berrysoft avatar Berrysoft commented on June 17, 2024

Well, I hesitated when modifying ilevel_, but finally kept the code because the FORTRAN code does that:

The patch above is only a possible patch, which only fixes for Nd150. I don't suggest just applying the patch, but suggest you checking the C++ code again. It seems that there are many checks for 0nu4b and maybe other modes missing when porting.

from bxdecay0.

fmauger avatar fmauger commented on June 17, 2024

Yes you are right. I have identified the missing stuff for the three 4beta emitters. I think I have a fix now. In principle I'll commit today after some tests.
And yes, the legacy fortran code was odd for this specific point ! It should return an error when modebb == 20 and ilevel != 0 .
Thanks again. I think we are close to a solution. Stay tuned!
Regards

from bxdecay0.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.