From 396d536b4c9cdccf54069c47e6548868002204a7 Mon Sep 17 00:00:00 2001 From: dclavijo Date: Thu, 1 Feb 2024 16:27:06 -0300 Subject: [PATCH] Add more branchless functions --- branchless.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/branchless.py b/branchless.py index 04ec221..7f727b5 100644 --- a/branchless.py +++ b/branchless.py @@ -1,3 +1,6 @@ +Sgn = lambda a: 1 * (a > 0) + (-1) * (a <= 0) +Abs = lambda a: a * (a > 0) + (-a) * (a <= 0) + Min = lambda a,b: a * (a < b) + b * (b <= a) Max = lambda a,b: a * (a > b) + b * (b >= a) @@ -9,12 +12,16 @@ def test(): - print(Min(3,10)) - print(Max(3,10)) - print(Upper("dario")) - print(Upper2("dario")) - print(Lower("DARIO")) - print(Lower2("DARIO")) + assert(Sgn(-3) == -1) + assert(Sgn(3) == 1) + assert(Abs(-3) == 3) + assert(Abs(3) == 3) + assert(Min(3,10) == 3) + assert(Max(3,10) == 10) + assert(Upper("dario")) + assert(Upper2("dario")) + assert(Lower("DARIO")) + assert(Lower2("DARIO")) test()