-
Notifications
You must be signed in to change notification settings - Fork 146
Grcc fixes #761
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
base: master
Are you sure you want to change the base?
Grcc fixes #761
Conversation
The manual (currently) states that "The coupling constant is either the number 1, or a (product of) symbol(s) to an integer power. If the symbols have not been declared before they will be declared during the reading of the vertex declaration.". However, "1" causes empty arguments to be printed in node_ functions, numbers other than "1" are accepted, and it doesn't work at all for vertices with four or more legs. Since the user can modify the couplings as they wish after diagram generation with replace_ etc, demand symbols in the Vertex definition.
These are not accepted by grcc.cc anyway, so print a more useful error and terminate.
If compiling as part of FORM, call FORM's Terminate rather than exit.
|
As far as I understand, Ideally, the lock should be taken by the caller at a higher level, but doing so would likely be too cumbersome and undermine the goal of keeping this a thin wrapper. |
|
Ah yes, I forgot to include the locks. I'll add them in. There are also various error messages which are split over multiple calls of fprintf, where the first has no newline, which via MesPrint will go onto multiple lines. This could be improved by consolidating them into a single function call, but maybe we don't care so much about the formatting, as along as the information is at least in the log file. |
When compiling under FORM, we can format the output with vsnprintf, and then just give the formatted string to MesPrint, such that it ends up in the FORM log file. When compiling without FORM, just forward the format string and the args to vfprintf, which prints them as previously.
Here are a few fixes for the (interface to) grcc.
TopologiesOnly_mode.,,in thenode_output, and anyway crashes for quartic vertices. The manual will need an update to reflect this, but it will be re-written as a separate PR.