macro_rules! c { ($real:tt +i $imaginary:tt) => { ... }; ($real:tt -i $imaginary:tt) => { ... }; (-$real:tt +i $imaginary:tt) => { ... }; (-$real:tt -i $imaginary:tt) => { ... }; }