Я использую несколько макросов типа:
#define Q31_TO_Q30 (31-30)
#define Q31_TO_Q20 (31-20)
#define Q25_TO_Q15 (25-15)
etc.
Я хотел бы обобщить это без необходимости ручного добавления каждого случая.Q
s переходят от 1 до 31, поэтому было бы огромное количество строк, охватывающих все случаи.
#define Q_TO_Q(x,y) (x-y)
кажется простым, но я бы хотел продолжить использовать тот же синтаксис Qx_TO_Qy
из-за «обратной совместимости».
Возможна ли какая-то макромагия, которая бы достигла этого?