I have an arithmetic expression template where multiplication is
commutative. Is there an easy way to order a chain of multiplications
such that terminals with values (like proto::terminal< double >) appear
at the beginning? For example that

arg1 * arg1 * 1.5 * arg1

will be transformed to

1.5 * arg1 * arg1 * arg1


I can imagine some complicated algorithms swapping expressions and child
expressions but I wonder if there is a simpler way.

proto mailing list

Reply via email to