From: Eric S. Raymond Date: Mon, 12 Jun 2017 21:33:21 +0000 (-0400) Subject: Turn MOD from function to macro. X-Git-Tag: 1.1~378 X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=commitdiff_plain;h=a044f10411cac5c530a19a66b7252110d5d1ca0f Turn MOD from function to macro. I experimented with expanding it to ((N % M) everywhere, but in context the MOD(N, M) notation seems easier to read. --- diff --git a/advent.h b/advent.h index e75a1cd..f831a7b 100644 --- a/advent.h +++ b/advent.h @@ -114,7 +114,6 @@ extern void BUG(long) __attribute__((noreturn)); extern bool MAPLIN(FILE *); extern void TYPE(void); extern void DATIME(long*, long*); -extern long MOD(long,long); extern void set_seed(long); extern unsigned long get_next_lcg_value(void); @@ -122,8 +121,8 @@ extern long randrange(long); extern void score(long); extern int saveresume(FILE *, bool); -/* Statement functions - * +/* + * MOD(N,M) = Arithmetic modulus * AT(OBJ) = true if on either side of two-placed object * CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit) * DARK(LOC) = true if location "LOC" is dark @@ -136,6 +135,7 @@ extern int saveresume(FILE *, bool); * PCT(N) = true N% of the time (N integer from 0 to 100) * TOTING(OBJ) = true if the OBJ is being carried */ +#define MOD(N,M) ((N) % (M)) #define TOTING(OBJ) (game.place[OBJ] == -1) #define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc) #define HERE(OBJ) (AT(OBJ) || TOTING(OBJ)) diff --git a/misc.c b/misc.c index e6f17ab..d89b405 100644 --- a/misc.c +++ b/misc.c @@ -698,7 +698,4 @@ void DATIME(long* d, long* t) *t = (long) tv.tv_usec; } -long MOD(long n, long m) -{ - return(n%m); -} +/* end */