The maxima script to generate 1d quadrature rules produces two copies of the same code: one with floating point numbers, one with strings. While it is generated automatically, it is a lot of code duplication that is actually not necessary. Also for future high-precision rules, duplicating all the code is not a proper solution. This MR introduces a small helper macro that expands the argument to both, a floating point constant and a string. Additionally a helper function is introduced to convert from the two generated arguments to the output type.
The floating-point number type is currently fixed to
double. Actually, one could pass the numbers as
long double by adding the literal suffix
L. Unfortunately, the
GMPField type does not allow to be constructed from string representations of numbers that include any suffix. Thus, one would have to workaround this, e.g., by stripping off any suffix before passing to the constructor of the number type.