projects
/
open-adventure.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
63f53c0
)
Simplify bitmask test/set from FORTRANish to actual C.
author
Eric S. Raymond
<esr@thyrsus.com>
Fri, 2 Jun 2017 20:40:29 +0000
(16:40 -0400)
committer
Eric S. Raymond
<esr@thyrsus.com>
Fri, 2 Jun 2017 20:40:29 +0000
(16:40 -0400)
advent.h
patch
|
blob
|
history
misc.c
patch
|
blob
|
history
diff --git
a/advent.h
b/advent.h
index 074836c402d603ab8db095ae389e8bb9b78bb2e9..631cce2e06820c0b56c2eca15a94fe5141453b64 100644
(file)
--- a/
advent.h
+++ b/
advent.h
@@
-55,7
+55,7
@@
extern void CARRY(long,long);
extern void DROP(long,long);
extern long ATDWRF(long);
extern long SETBIT(long);
extern void DROP(long,long);
extern long ATDWRF(long);
extern long SETBIT(long);
-extern
long TSTBIT(long,long
);
+extern
bool TSTBIT(long,int
);
extern long RNDVOC(long,long);
extern void BUG(long);
extern void MAPLIN(FILE *);
extern long RNDVOC(long,long);
extern void BUG(long);
extern void MAPLIN(FILE *);
diff --git
a/misc.c
b/misc.c
index 365d7c88eb21ffba77f6e4f715195c6c7820d81f..7dfa74298e79c5264884520329fd7f4e9bc6d43d 100644
(file)
--- a/
misc.c
+++ b/
misc.c
@@
-631,26
+631,14
@@
L2: AT=I;
/* Utility routines (SETBIT, TSTBIT, set_seed, get_next_lcg_value,
* randrange, RNDVOC, BUG) */
/* Utility routines (SETBIT, TSTBIT, set_seed, get_next_lcg_value,
* randrange, RNDVOC, BUG) */
-long SETBIT(long BIT) {
-long I, IND;
-
+long SETBIT(long bit) {
/* Returns 2**bit for use in constructing bit-masks. */
/* Returns 2**bit for use in constructing bit-masks. */
-
- IND=1;
- if(BIT <= 0)return(IND);
- for (I=1; I<=BIT; I++) {
- IND=IND+IND;
- } /* end loop */
- return(IND);
+ 2 << bit;
}
}
-
-
-long TSTBIT(long MASK, long BIT) {
-
+bool TSTBIT(long mask, int bit) {
/* Returns true if the specified bit is set in the mask. */
/* Returns true if the specified bit is set in the mask. */
-
- return(MOD(MASK/SETBIT(BIT),2) != 0);
+ return((mask & (1 << bit)) != 0);
}
void set_seed(long seedval)
}
void set_seed(long seedval)