2
私は避けたいCコードにいくつかの冗長性があります。Cマクロの冗長性の回避
// Q15 macros
#define SCALE_FACTOR_Q15 (0x00008000UL)
#define Q15_MAX (0x00007FFFUL)
#define f32_Q15_x(x) ((f32)(int) ((float)(x)*(float)SCALE_FACTOR_Q15))
#define f32_Q15_MAX ((f32) (Q15_MAX) )
// etc...
// Q31 macros
#define SCALE_FACTOR_Q31 (0x80000000UL)
#define Q31_MAX (0x7FFFFFFFUL)
#define f32_Q31_x(x) ((f32)(int) ((float)(x)*(float)SCALE_FACTOR_Q31))
#define f32_Q31_MAX ((f32) (Q31_MAX) )
// etc...
今私はx
が範囲[1,63]
である他のQx
、のためにおそらくQ25
のコードの同じ平和を行い、将来的にする必要があります。
Qx
ごとにこれを別々に書くことを避けるにはどうすればよいですか?
毎回「N」を指定しないようにするには、「#define f32_Q15_x(x)f32_Q_x(15、x) '? – Danijel
すべての作品、多くのありがとう。 – Danijel