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:
parent
66c22301ed
commit
a044f10411
2 changed files with 4 additions and 7 deletions
6
advent.h
6
advent.h
|
@ -114,7 +114,6 @@ extern void BUG(long) __attribute__((noreturn));
|
||||||
extern bool MAPLIN(FILE *);
|
extern bool MAPLIN(FILE *);
|
||||||
extern void TYPE(void);
|
extern void TYPE(void);
|
||||||
extern void DATIME(long*, long*);
|
extern void DATIME(long*, long*);
|
||||||
extern long MOD(long,long);
|
|
||||||
|
|
||||||
extern void set_seed(long);
|
extern void set_seed(long);
|
||||||
extern unsigned long get_next_lcg_value(void);
|
extern unsigned long get_next_lcg_value(void);
|
||||||
|
@ -122,8 +121,8 @@ extern long randrange(long);
|
||||||
extern void score(long);
|
extern void score(long);
|
||||||
extern int saveresume(FILE *, bool);
|
extern int saveresume(FILE *, bool);
|
||||||
|
|
||||||
/* Statement functions
|
/*
|
||||||
*
|
* MOD(N,M) = Arithmetic modulus
|
||||||
* AT(OBJ) = true if on either side of two-placed object
|
* 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)
|
* CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit)
|
||||||
* DARK(LOC) = true if location "LOC" is dark
|
* 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)
|
* PCT(N) = true N% of the time (N integer from 0 to 100)
|
||||||
* TOTING(OBJ) = true if the OBJ is being carried */
|
* TOTING(OBJ) = true if the OBJ is being carried */
|
||||||
|
|
||||||
|
#define MOD(N,M) ((N) % (M))
|
||||||
#define TOTING(OBJ) (game.place[OBJ] == -1)
|
#define TOTING(OBJ) (game.place[OBJ] == -1)
|
||||||
#define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc)
|
#define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc)
|
||||||
#define HERE(OBJ) (AT(OBJ) || TOTING(OBJ))
|
#define HERE(OBJ) (AT(OBJ) || TOTING(OBJ))
|
||||||
|
|
5
misc.c
5
misc.c
|
@ -698,7 +698,4 @@ void DATIME(long* d, long* t)
|
||||||
*t = (long) tv.tv_usec;
|
*t = (long) tv.tv_usec;
|
||||||
}
|
}
|
||||||
|
|
||||||
long MOD(long n, long m)
|
/* end */
|
||||||
{
|
|
||||||
return(n%m);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue