def rp62_pick
import bend-collections-laws-crypto@1.0.0.0/src/math/f64.bend as F64import Base
import bend-collections-laws-crypto@1.0.0.0/src/math/u64.bend as W
import bend-collections-laws-crypto@1.0.0.0/src/math/w64.bend as X
160# sig below 2^62 is shifted up once
161def rp62_pick(+s: Bool, +e: Nat, +sig: W.U64, low: Bool) -> F64:
162 match low:
163 case True{}:
164 round_pack(s, Nat.sub(e, 1n), X.add(sig, sig))
165 case False{}:
166 round_pack(s, e, sig)