maxマクロ †
2つの引数を受け取り、大きい方を返すマクロです。
小数も比較可能。
#define global ctype max(%1,%2) ((%1)>=(%2)*(%1)+((%1)<(%2)*(%2))) // hsp2.61
#define global ctype max(%1,%2) ((%1)*((%1)>=(%2))+(%2)*((%1)<(%2))) // hsp3.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
| #define global ctype max(%1,%2) ((%1)*((%1)>=(%2))+(%2)*((%1)<(%2)))
mes max(1,40) mes max(5,2)+max(2,-1)*max(-1,-4) mes strf("%d",max(2,5)) a = 10: b = 5
mes max(a,b) mes max(2,2) mes max(max(2,9),7) mes max(4-1,2) mes max(0.01,0.2) mes max(8.2351,3) mes max(3,8.2351)
|