def sign_above
import bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend as Genericimport Base
import bend-collections-laws-crypto@1.0.0.0/src/math/num.bend as N
107def sign_above(~T: Data, ~op: N.Op<T> -> T, ~test: N.Test<T> -> Bool, +x: T, above: Bool) -> T:
108 match above:
109 case True{}:
110 op(N.One{})
111 case False{}:
112 sign_below(~T, ~op, ~test, x, test(N.Lt{x, op(N.ZeroOp{})}))