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.
This commit is contained in:
Eric S. Raymond 2017-06-12 17:33:21 -04:00
parent 66c22301ed
commit a044f10411
2 changed files with 4 additions and 7 deletions

View file

@ -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))