Currently the output at runtime produces, for instance, the following:
PIConGPUVerbose PHYSICS(1) | Courant c*dt <= 1.66765 ? 1
PIConGPUVerbose PHYSICS(1) | species e: omega_p * dt <= 0.1 ? 3.56797e-08
The way the output is formatted I interpret it as a "question to the code", i.e., "Is c*dt <=
Similarly for the second line.
Perhaps adding a boolalpha somewhere would be appropriate.
Thanks for reporting @Anton-Le , I also got this impression originally. Since the last number of each such line is the value of the left side, for the first line it is even more confusing since 1 can indeed be interpreted as "true" (which in this case would be also correct, but confusing).
The line with omega_p * dt does suggest that the value given after the question mark is the value of the quantity given before. Still, I think it would be better to format it in a fashion similar to:
PIConGPUVerbose PHYSICS(1) | species e: omega_p * dt <= 0.1 ? true (3.56797e-08)
i.e., by not only answering the binary question, but providing the value afterwards.
I like providing both whether the condition is true or false and the corresponding value. In the suggested version it might also be unclear what is 3.56797e-08, perhaps clarify it like
PIConGPUVerbose PHYSICS(1) | species e: omega_p * dt <= 0.1 ? true (omega_p * dt = 3.56797e-08) tho it becomes longish.
Another useful addition would be a listing of all errors at the end of the terminal when compilation fails. Now one has to scroll up and because there is no colour marking it becomes difficult to spot the error. I usually copy the whole terminal and paste it in a text editor such as Kate to look for errors.
I agree that would be useful @cbontoiu . However, one could also redirect output to file and so avoid copying, by doing pic-build &> out.txt (or the same with other commands). In this case, the output of build ends up in the out.txt file and not in your terminal.
@sbastrakov I think it would be useful to have something similar to configure.log and make.log that are generated - as a rule - with most OS packaged (e.g. GCC).
I personally like to keep those around since the configuration command (e.g. ./configure <arguments>) is stored and can be easily reused and any error is logged there as well.
Most helpful comment
I agree that would be useful @cbontoiu . However, one could also redirect output to file and so avoid copying, by doing
pic-build &> out.txt(or the same with other commands). In this case, the output of build ends up in theout.txtfile and not in your terminal.