I would bet he is asking because of the
duplicate AAs where one would always be 0.
However, I don't think this is a "elegant" solution, but a clever one. Clever meaning buggy and hard to maintain. At this level of abstraction, we are dealing with int32s and not bits or bitmasks. You could do something like:
Code:
int32 aaValue = ( GetAA(aaNumberOne) > GetAA(aaNumberTwo) ) ? GetAA(aaNumberOne) : GetAA(aaNumberTwo);
case(aaValue) {
... snip ...
if you wanted to be clever, but still maintain the proper level of abstraction. However I would write the extra couple lines and maybe add a comment just to let the maintainer know whats going on.
I tend to follow the KISS principle (Keep It Simple Stupid)