You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Avoid "+- 1" at every maskbits
This commit is contained in:
@@ -37,17 +37,17 @@ ENDM
|
||||
|
||||
maskbits: MACRO
|
||||
; masks just enough bits to cover the argument
|
||||
; e.g. "maskbits %00010100" becomes "and %00011111"
|
||||
; e.g. "maskbits 26" becomes "and %00011111" (since 26 - 1 = %00011001)
|
||||
; example usage in rejection sampling:
|
||||
; .loop
|
||||
; call Random
|
||||
; maskbits 30 +- 1
|
||||
; maskbits 30
|
||||
; cp 30
|
||||
; jr nc, .loop
|
||||
x = 1
|
||||
rept 8
|
||||
if x < (\1)
|
||||
x = (x + 1) * 2 +- 1
|
||||
if x + 1 < (\1)
|
||||
x = x << 1 | 1
|
||||
endc
|
||||
endr
|
||||
and x
|
||||
|
Reference in New Issue
Block a user