Make a single mod acos { pub struct Func; } within func for each function. This could just be a type, we use modules so we don't need to convert casing
Make a trait for input and output types, name, base float type, etc. This should replace everything that the macro has to pass around all the time.
Other traits can extend this, e.g. MpOp will say how to use Rug with that type
I think this should reduce how much we need to rely on proc macro magic
Next steps so I don't forget:
mod acos { pub struct Func; }
withinfunc
for each function. This could just be a type, we use modules so we don't need to convert casingMpOp
will say how to use Rug with that typeI think this should reduce how much we need to rely on proc macro magic