このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| あったら便利なマクロ達 [2011/12/01 22:43] – member | あったら便利なマクロ達 [2011/12/01 22:46] (現在) – member | ||
|---|---|---|---|
| 行 13: | 行 13: | ||
| #define MIN3(a, b, c) ((a) < (MIN(b, c)) ? (a) : (MIN(b, c))) | #define MIN3(a, b, c) ((a) < (MIN(b, c)) ? (a) : (MIN(b, c))) | ||
| #define MIN4(a, b, c, d) ((a) < (MIN3(b, c, d)) ? (a) : (MIN3(b, c, d))) | #define MIN4(a, b, c, d) ((a) < (MIN3(b, c, d)) ? (a) : (MIN3(b, c, d))) | ||
| - | 二つ以上の最大値や最小値をとるマクロです。MaxとかMinを使っているので先に定義しておいてください。 | + | 二つ以上の最大値や最小値をとるマクロです。 |
| + | | ||
| #define SWAP(a,b) ((a != b) && (a += b,b = a - b,a -= b)) | #define SWAP(a,b) ((a != b) && (a += b,b = a - b,a -= b)) | ||
| 行 21: | 行 22: | ||
| 変数の符号をとるマクロです。ABSというマクロが定義されていない | 変数の符号をとるマクロです。ABSというマクロが定義されていない | ||
| と使えません。また0には使えません。 | と使えません。また0には使えません。 | ||
| - | | + | |
| #define DEG_TO_RAD(deg) (((deg) * PI) / 180.0) | #define DEG_TO_RAD(deg) (((deg) * PI) / 180.0) | ||
| #define RAD_TO_DEG(rad) (((rad) * 180.0) / PI) | #define RAD_TO_DEG(rad) (((rad) * 180.0) / PI) | ||
| - | PIは円周率です。どっかでdefineしておいてください。こいつらはラジアンと角度の変換するマクロです。 | + | PIは円周率です。どっかでdefineしておいてください。 |
| + | | ||
| こいつらも結構便利です。 | こいつらも結構便利です。 | ||
| | | ||